Xcode 7 बीटा चेतावनियाँ: इंटरफ़ेस ओरिएंटेशन और लॉन्च स्टोरीबोर्ड


131

मैंने अपना प्रोजेक्ट Xcode 7 बीटा में खोला और मुझे निम्नलिखित चेतावनी मिल रही है जो मुझे Xcode 6 में नहीं मिली है:

 All interface orientations must be supported unless the app requires
 full screen.


 A launch storyboard or xib must be provided unless the app requires
 full screen.

एप्लिकेशन केवल उपकरणों के लिए पोर्ट्रेट ओरिएंटेशन का उपयोग करता है, और मैंने इसे इस तरह से सेट किया है। मेरे पास iphone और ipad इंटरफेस दोनों के लिए स्टोरीबोर्ड भी हैं। मैं यह निर्धारित नहीं कर सकता कि मुझे ये चेतावनी क्यों मिल रही है। क्या यह एक Xcode 7 बीटा बग है?


बग जैसा लगता है। Apple देव मंचों की जाँच करें। बीटा टेस्टर होने की खुशियाँ: पी
सैम बी

जवाबों:


274

IOS 9 के लिए यह चेतावनी नई है क्योंकि यह मल्टी-विंडो सपोर्ट के साथ रेसिस्टेबल ऐप्स को सपोर्ट करता है। इससे पहले, एप्लिकेशन नए उपकरणों के लिए ऑटो-स्केल किए जाएंगे जो लॉन्च छवि में उन लोगों के लिए अलग-अलग हार्डवेयर डिस्प्ले रिज़ॉल्यूशन थे (जो मूल रूप से iOS समर्थित इंटरफ़ेस रिज़ॉल्यूशन का पता लगाता है)। अब, बहु-विंडो का समर्थन करने वाले ऐप्स को सभी डिवाइस स्क्रीन प्रकारों के लिए लॉन्च छवि या स्टोरीबोर्ड को शामिल करके उन संकल्पों को परिभाषित करना चाहिए जो वे समर्थन करते हैं।

जब तक आप मल्टी-विंडो का समर्थन करने के लिए अपने ऐप को फिर से नहीं लिख रहे हैं, तब तक आपको 'पूर्ण स्क्रीन' की आवश्यकता होगी। यह iOS के लिए एक संकेत है कि आप मल्टी-विंडो का समर्थन नहीं करते हैं, और मूल रूप से iOS 9 को इस संबंध में पिछले संस्करणों की तरह काम करता है।

इसलिए, यदि आप iOS 9 के लिए ऐप अपडेट जमा कर रहे हैं, और आप मल्टी-विंडो का समर्थन नहीं करते हैं, तो आपको बस इतना करना है कि आप अपने प्रोजेक्ट लक्ष्य सेटिंग्स पर जाएं, सामान्य का चयन करें और टिक बॉक्स के लिए 'परिनियोजन जानकारी' के तहत देखें जिसे 'Full Screen' की आवश्यकता होती है। इसे टिक करें और चेतावनी गायब हो जाएगी।

यह निश्चित रूप से बग नहीं है। यदि यह चेतावनी मौजूद है, तो आपके ऐप को सबमिट करने के दौरान परेशानी हो सकती है। इस बारे में निश्चित नहीं है, क्योंकि मैंने अभी तक iOS 9 GM Seed के साथ एक ऐप सबमिट नहीं किया है, लेकिन मैं निश्चित रूप से बॉक्स पर टिक करने जा रहा हूं :-)


4
यह उत्तर वर्तमान में अग्रणी एक की तुलना में बहुत बेहतर है। इस परिवर्तन के "क्यों" की व्याख्या करने के लिए धन्यवाद, और वास्तव में पूर्ण स्क्रीन सेटिंग "क्या" है। (मैंने कल्पना की कि यह वही सेटिंग थी, जो गेम टाइटल बार से छुटकारा पाने के लिए उपयोग की जाती थी, लेकिन ऐसा प्रतीत होता है कि ऐसा नहीं है।)
natevw

@natevw लेकिन लगभग नहीं के रूप में संक्षिप्त रूप में एक है कि आप को बताता है "बस सभी लानत बक्से की जाँच करें"। यह उत्तर मुझे विश्वास
दिलाता है

1
@dcow - ठीक है, आपने इसे गलत पढ़ा। मैंने स्पष्ट रूप से कहा कि आपको केवल लॉन्च छवियां जोड़ने की आवश्यकता है या फ़ुल स्क्रीन बॉक्स की आवश्यकता है। इन बातों का शायद ही कोई सरल उत्तर हो ... यह इस बात पर निर्भर करता है कि आप क्या हासिल करना चाहते हैं।
साइमन टिलसन

1
@SimonTillson आपने मेरी टिप्पणी गलत पढ़ी और स्पष्ट रूप से नीचे दिए गए उत्तर को नहीं देखा। मैं फुलस्क्रीन बॉक्स की आवश्यकता के बारे में बात नहीं कर रहा हूँ । वास्तविक निर्धारण सभी झुकावों का समर्थन करना है। यह लॉन्च छवियों को जोड़ने की आवश्यकता नहीं है। इसका सीधा सा मतलब है कि सभी बॉक्स सामान्य परियोजना सेटिंग्स में डिवाइस ओरिएंटेशन के तहत चेक किए गए हैं। हो सकता है कि आप यह सुझाव दे रहे हैं कि फिक्स "सभी डिवाइस स्क्रीन प्रकारों के लिए एक लॉन्च छवि या स्टोरीबोर्ड सहित" है , लेकिन जैसा कि मैंने कहा, लगभग उतना ही संक्षिप्त नहीं है जितना स्पष्ट रूप से उत्तर आपको बताता है।
dcow

@dcow ओपी अकेले चेतावनी को हल करने के बारे में था, इसने मल्टी-विंडो का समर्थन करने के तरीके के बारे में नहीं पूछा। चूंकि मल्टी-विंडो केवल मूल प्रस्तावों पर ठीक से काम करती है, आप सही हैं कि लॉन्च छवियों को सभी डिवाइस स्क्रीन प्रकारों के लिए अपलोड किया जाना चाहिए और उपयोग में सभी झुकावों को टिक करना चाहिए। मुझे अभी भी वह नहीं मिलता है जो मेरे उत्तर के साथ आपका मूल मुद्दा था, हालाँकि, चूंकि अधिकांश उपयोगकर्ता केवल फ़ुल स्क्रीन और / या चेतावनी से छुटकारा पाने का तरीका जानना चाहते थे।
सिमोन टिलसन

62

बस अपने लक्ष्य पर जाएं, "सामान्य" टैब पर क्लिक करें, "परिनियोजन जानकारी" अनुभाग ढूंढें, "पूर्ण स्क्रीन की आवश्यकता है" जांचें। :)

यह इतना आसान है, है ना?

BTW, यह सबसे अच्छा समाधान नहीं है। अधिक से अधिक बेहतर समाधान होंगे। लेकिन जब मैंने इस सवाल का जवाब दिया, तो मैंने केवल यह सोचा कि कैसे चेतावनी दी जाए। मैंने यह नहीं बताया कि ऐसा क्यों करते हैं लेकिन इसे कैसे हल किया जाए। Xcode बीटा संस्करण बदल सकता है यह विशेषताएं हैं, इसलिए मैं बस उस समय "वर्कअराउंड" प्रदान करता हूं। इसलिए यदि आपको लगता है कि मेरा समाधान एक समाधान है, तो कृपया अन्य बेहतर उत्तरों के लिए वोट करें। लेकिन यह नीचे मतदान का कारण नहीं है। धन्यवाद :)


15
यह निश्चित रूप से एक समाधान नहीं है, बस एक आधा बेक्ड समाधान है। सम्मानपूर्वक, मैं आपके उत्तर से असहमत हूं।
19p में kbpontius

एक और समाधान एक ही स्थान पर सभी "डिवाइस ओरिएंटेशन" की जांच करता है और एक छवि फ़ाइल के बजाय एक xib या स्टोरीबोर्ड फ़ाइल प्रदान करता है। कभी-कभी हमें चुनाव करना चाहिए: "पूर्ण स्क्रीन की आवश्यकता है" या "डिवाइस ओरिएंटेशन" में सभी की जांच करें। क्योंकि हमें Xcode द्वारा ऐसा करने के लिए कहा जाता है। :)
YangXiaoyu

6
@kpont क्या आप वास्तव में एक समाधान के रूप में उम्मीद करते हैं? चेतावनी को हटाने के लिए उंगली का मैजिक स्नैप? Xcode 7 में अतिरिक्त मेटाडेटा है, जिसकी आवश्यकता है, और आपको इसे प्रदान करना होगा। यदि आपको लगता है कि यह एक त्रुटि है, तो क्या आपने Apple के साथ बग रिपोर्ट खोली है?
लियो नटन

6
वर्कअराउंड "मेरे ऐप का निर्माण और कल ठीक चलने के संदर्भ में मान्य है, लेकिन आज Xcode एक चेतावनी फेंकता है।" जाहिर है, ऐप्पल हर डेवलपर को हर ऐप को अपडेट करने की सुविधा के साथ चलाने के लिए अपडेट करना चाहता है। हालांकि, "यहां वास्तविक दुनिया में बाहर", कभी-कभी हमें बस बग फिक्स या किसी तरह के अगले निर्माण को आगे बढ़ाने की जरूरत होती है, और बाद के समय में बदलते-एप्पल-लैंडस्केप से निपटना पड़ता है। वर्कअराउंड मान्य है। इसी तरह, अभिविन्यास का समर्थन करने के लिए xibs / स्टोरीबोर्ड को जोड़ने की अवधारणा मान्य है। वाह!
ओली

4
"आधे-बेक्ड वर्कअर्ब" जिसके लिए Apple ने सामान्य सेटिंग्स के तहत एक चेकबॉक्स जोड़ा ...
रिवेरा

15

ऐसा इसलिए है क्योंकि Apple ने iOS 9 में मल्टी टास्क क्षमता को जोड़ा है। आपको Xcode बताने की जरूरत है कि आपके ऐप को फुल स्क्रीन की आवश्यकता है।

अपने Xcode प्रोजेक्ट की Info.plist फ़ाइल में UIRequiresFullScreen कुंजी जोड़ें और बूलियन मान YES लागू करें।

सामान्य रूप से इसके बारे में अधिक पढ़ने के लिए।
https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/index.html


11

मैंने बस इस त्रुटि को देखा और टिप्पणियों को पढ़ने के बाद, मैं निश्चित रूप से आईपैड और मल्टी-विंडो उपयोग का समर्थन करना चाहता हूं। यह डिवाइस ओरिएंटेशन विकल्पों "लैंडस्केप लेफ्ट" और "लैंडस्केप राइट" की जाँच करने के समान सरल है और सुनिश्चित करता है कि मेरा UI इनका समर्थन करता है।

जिस तरह से मुझे अच्छी मल्टी-विंडो सपोर्ट के लिए परीक्षण करने का सबसे अच्छा तरीका मिला, वह है रिज्यूमेबल सिमुलेटर का उपयोग करना, या मेरी राय में बेहतर होना, एक्सकोड 7.1 में iPad प्रो का उपयोग करना और वास्तव में दाईं ओर से खींचकर मल्टी-विंडो फीचर को सक्रिय करना। इन चरणों को लेने के बाद, मैं अपने ऐप को इन सुविधाओं का समर्थन करता हूं और मैं जल्दी से यह देखने में सक्षम हूं कि मुझे उन्हें पूरी तरह से समर्थन करने के लिए अपडेट करने या अनुकूलन करने की आवश्यकता है।


"अच्छा मल्टी-विंडो सपोर्ट के लिए परीक्षण करने के लिए मुझे सबसे अच्छा तरीका यह है कि रिज्यूमेबल सिमुलेटर, या बेहतर IMO का उपयोग करें, XCode 7.1 में iPad Pro का उपयोग करें और वास्तव में दाईं ओर से खींचकर मल्टी-विंडो सुविधा को सक्रिय करें।" यह वस्तुतः एक उत्तर है, संवादी स्वर में। आप मतदान से पहले अपनी टिप्पणी में स्पष्ट कर सकते थे।
d2burke

अच्छी बात है, मैं संवादी शैली से चूक गया। मैं क्षमाप्रार्थी हूं। लेकिन आप इसे फिर से लिखना चाह सकते हैं - मैंने इसे पहली बार याद किया, और मैं एक देशी वक्ता हूं।
अब्जर्बर

मैं समझता हूं :) उत्तरदायी होने के लिए धन्यवाद। मैं इसे अभी अपडेट करूंगा।
d2burke

2
इस प्रश्न के लिए यह उत्तर है। धन्यवाद!
अवीएल सकल

उल्टा मेरे लिए अनियंत्रित था। इसे सक्षम करने से चेतावनी को हटा दिया जाता है। मुझे यह भी लगता है कि यह सही उत्तर है
नीलाभ

8

डिफ़ॉल्ट रूप से डिवाइस ओरिएंटेशन केवल पोर्ट्रेट, लैंडस्केप लेफ्ट और लैंडस्केप राइट को सक्षम करता है। आपको अपसाइड डाउन को भी सक्षम करना होगा।

यहाँ छवि विवरण दर्ज करें


3

"क्लीन बिल्ड फोल्डर" और फिर से निर्माण करें

मुझे All interface orientations must be supported unless the app requires full screen.एक्सकोड 7.3.1 में आज संदेश मिला , बिना किसी कारण के, जो कोई संबंधित बदलाव नहीं हुआ था।

  • मैं ऐसा एक हैLaunchScreen.storyboard
  • मैंने जाँच नहीं की है Requires full screen

मैंने सामान्य पैंतरेबाज़ी की कोशिश की जब Xcode ने मुझे कुछ नए-त्रुटि-के लिए-बिना-कारण के बारे में हैरान कर दिया:

  1. मेनू क्लिक करते समय विकल्प कुंजी दबाए रखें Product
  2. चुनें Clean Build Folder( नहीं Clean )।
  3. Product> चुनें Build

और कोई समस्या नहीं। कुछ और बिल्ड-एंड-रन सत्रों के बाद, त्रुटि संदेश अभी तक फिर से दिखाई दे रहा है।


0

क्या आपने अपने ऐप के लिए "लॉन्च स्टोरीबोर्ड" प्रदान किया है? या क्या आपने विभिन्न आकारों के लिए स्थिर चित्र प्रदान किए हैं।

यहां देखें: https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html


मैं एक लॉन्च इमेज का उपयोग करता हूं, न कि लॉन्च स्टोरीबोर्ड का। मुझे लगा कि लॉन्च स्टोरीबोर्ड वैकल्पिक था। मुझे लगता है कि Xcode 7 में लॉन्च छवि के बजाय लॉन्च स्टोरीबोर्ड का उपयोग करने की दृढ़ता से सिफारिश की गई है, यही कारण है कि चेतावनी? ऐप के वर्तमान संस्करण को पहले से ही Apple द्वारा अनुमोदित किया गया है, मुझे लगता है कि मैं अगले संस्करण में एक लॉन्च स्टोरीबोर्ड शामिल करूंगा, जिस समय Xcode 7 पहले ही जनता के लिए जारी किया जा चुका होगा। धन्यवाद
bachma0507

मेरे पास एक ही मुद्दा है, इसलिए सिर्फ @cbiggin की पुष्टि करने के लिए - इस त्रुटि से छुटकारा पाने के लिए आपके पास लॉन्च स्टोरीबोर्ड होना चाहिए?
amitsbajaj

इसकी पुष्टि नहीं कर सकता, बस जो मैं सिद्धांत देता हूं वह समस्या पैदा कर सकता है। लॉन्च स्टोरीबोर्ड को जोड़ने का प्रयास करें और देखें कि क्या वह चला जाता है। यदि ऐसा होता है, तो मेरे उत्तर पर मतदान करें :)
cbiggin

1
ध्यान रखें कि आप केवल ios> = 8 के लिए एक लॉन्च स्टोरीबोर्ड का उपयोग कर सकते हैं
troppoli

0

Info.plist में YES को UIRequiresFullScreen सेट करें। और टिक के लिए फुल स्क्रीन की आवश्यकता होती हैयहाँ छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.