2010-05-05 16 views
11

मैं आईपैड सिम्युलेटर पर एक एप्लिकेशन का परीक्षण कर रहा हूं और मुझे सिम्युलेटर की स्थिति में अपना ऐप शुरू करने की आवश्यकता है, लेकिन जब भी मैं ऐप चलाता हूं, सिम्युलेटर पोर्ट्रेट पर घूमता है।आईपैड सिम्युलेटर घूर्णन

क्या इस व्यवहार को रोकने का कोई तरीका है?

धन्यवाद।

= = = =

पिछली बार संपादित: मैं अब है कि अगर मैं shouldAutorotateToInterfaceOrientation पर नहीं लौटने के लिए, समस्या बंद हो जाता है की खोज की। लेकिन यह पागल है क्योंकि चाहिएऑटोरोटेट टूइंटरफेसऑरिएंटेशन को आईपैड स्थिति से मेल खाने के लिए इंटरफ़ेस को घुमाया जाना चाहिए, इसके विपरीत नहीं।

उत्तर

2

आईपैड एकाधिक लॉन्च छवियों का समर्थन करता है (आईफोन एकवचन डिफ़ॉल्ट.png के विपरीत) ताकि सभी घूर्णन में एक एप्लिकेशन लॉन्च किया जा सके। Specifics here

मुझे लगता है कि आप नए (डिफ़ॉल्ट-परिदृश्य.png आदि) खो रहे हैं ताकि जब एप्लिकेशन लोड हो जाए तो यह केवल पोर्ट्रेट लोडिंग स्क्रीन ढूंढ सके और वहां घूर्णन ट्रिगर करने के लिए (और सिम्युलेटर घूर्णन से प्रतिक्रिया देता है) चित्र के लिए)। जब आपके पास shouldAutorotateToInterfaceOrientationNO लौटाता है, तो यह अभी भी एक लैंडस्केप छवि नहीं ढूंढ सकता है लेकिन रोटेशन को प्रभावित करने की अनुमति नहीं देता है?

+1

मेरे पास लॉन्च छवि नहीं है, ऐप हल्का है और तेज़ी से दिखाई देता है। समस्या यह है कि सेब रिपोर्ट करता है कि जब डिवाइस परिदृश्य में होता है तो ऐप लॉन्च होने पर एक बग दिखाई देता है। वे कहते हैं कि ऐप पोर्ट्रेट में लॉन्च हुआ। जैसा कि मैं यूरोप में रहता हूं और विदेशी डेवलपर्स को स्पष्ट रूप से ऐप्पल द्वारा अनदेखा किया जाता है, मेरे पास परीक्षण करने के लिए एक असली डिवाइस नहीं है। तो, मैं सिम्युलेटर पर बग देखने की कोशिश कर रहा हूं। फिर मैं सिम्युलेटर घुमाता हूं और ऐप लॉन्च करता हूं। तुरंत सिम्युलेटर चित्र पर वापस आ गया है, जो बहुत परेशान है, विशेष रूप से क्योंकि मैं कोई अभिविन्यास स्थापित नहीं कर रहा हूं। – SpaceDog

+0

यह एक .plist मुद्दा है। यदि UISupportedInterfaceOrientations का ऑर्डर अलग है, तो डिवाइस एक अलग अभिविन्यास से शुरू होने पर ऑटोरोटेट करेगा। ह्यूग का जवाब देखें। –

1

एक बार लैंडस्केप में डाल दिया सिम लैंडस्केप में रहता है जब तक आप सिम्युलेटर को छोड़ नहीं देते। आप अपने ऐप को दोबारा शुरू कर सकते हैं और यह लैंडस्केप में शुरू होगा (ठीक है, internally it is initially in portrait को छोड़कर)।

+1

धन्यवाद, लेकिन यह मेरे लिए मामला नहीं है। मैं ऐप को पोर्ट्रेट में सेट नहीं कर रहा हूं और सिम्युलेटर हमेशा पोर्ट्रेट में लॉन्च होता है। यहां तक ​​कि अगर मैं ऐप को परिदृश्य में सेट करता हूं, तो कुछ भी नहीं बदलता है। यह अभी भी चित्र में है। बहुत परेशान – SpaceDog

+0

मुझे अब पता चला है कि अगर मैं NOAutorotateToInterfaceOrientation पर कोई नहीं लौटाता, तो समस्या बंद हो जाती है। लेकिन यह पागल है क्योंकि चाहिएऑटोरोटेट टूइंटरफेसऑरिएंटेशन को आईपैड स्थिति से मेल खाने के लिए इंटरफ़ेस को घुमाया जाना चाहिए, इसके विपरीत नहीं। – SpaceDog

+0

दुर्भाग्यवश कुछ भी नहीं किया जा सकता है। हालांकि आईपैड सिम्युलेटर ठीक काम करता है। – Mugunth

1

पहले यह प्रयास नहीं किया है ... लेकिन हो सकता है आप

<key>UIInterfaceOrientation</key> <string>UIInterfaceOrientationPortrait</string>

मैं इसे iphone पर काम करता है जोड़कर .plist फ़ाइल परिवर्तित करते हैं।

+0

धन्यवाद, लेकिन ऐप्पल एक विशिष्ट अभिविन्यास स्थापित करने के लिए बट में सभी को लात मार रहा है। जब ऐप शुरू होता है और ऐप अभिविन्यास को तदनुसार सेट किया जाता है तो आपको डिवाइस अभिविन्यास खोजना चाहिए। यह सुंदर है लेकिन थोड़ी सी समस्या है, थोड़ा सा, अभिविन्यास अधिसूचना नरक के रूप में क्रोधित है और यदि आप डिवाइस को घुमाते हैं तो वे सिर्फ उन्मुखीकरण का पता लगाते हैं, यदि कोई रोटेशन नहीं हुआ तो डिवाइस पर अभिविन्यास नहीं है। उल्लेख नहीं है कि अधिसूचनाओं को काम करने में समय लगता है और आपको अपने ऐप में देरी होनी चाहिए जब तक कि आपके पास भरोसेमंद पढ़ने न हो .... – SpaceDog

+0

... (जारी) ... अभिविन्यास की खोज करने के लिए एक्सेलेरोमीटर का उपयोग करने से भी अच्छा काम नहीं करता है, क्योंकि इसमें भरोसेमंद पढ़ने के लिए समय लगता है। चलिए इस तथ्य को भी भूल जाते हैं कि सिम्युलेटर में कोई एक्सेलेरोमीटर नहीं होता है और दृश्य घुमाए जाने पर खुद को घुमाता है। कुल गड़बड़ – SpaceDog

+0

अच्छी तरह से ... क्या असली चीज़ पर समस्या होती है? – user333593

1

बस पुष्टि करने के लिए, मैं माइक के ऊपर जो कुछ भी कहता हूं उससे सहमत हूं लेकिन आप शायद गलत कोण से आ रहे हैं।

आईपैड के प्रमुख बिंदुओं में से एक (सेब के अनुसार) ऐप्स किसी भी अभिविन्यास में पूरी तरह कार्यान्वित होना चाहिए। यदि आप आईफोन/आइपॉड टच पर अधिकतर आईपैड यूआई बनाने के लिए सेब का भाषण पढ़ते हैं, तो यह वहां बहुत बढ़िया विवरण देता है।

यदि आप "cmd" + बाएं/दाएं तीरों का उपयोग करते हैं तो आप सिम्युलेटर को उन्मुख करने में सक्षम होना चाहिए। यह आपको अनुकरण करने की अनुमति देगा कि उपयोगकर्ता क्या अनुभव करेगा यदि वे आपके ऐप को आपके द्वारा कोड किए गए गलत अभिविन्यास में प्रारंभ करते हैं।

मैं आपको आपके द्वारा किए गए कोड संशोधन (चाहिएAutorotateToInterfaceOrientation - NO) को रिवर्स करने की सलाह दूंगा और किसी भी अभिविन्यास में प्रदर्शित करने के लिए अपने ऐप को कोड करें। यदि आपको केवल एक में कोड होना चाहिए तो मुझे संदेह है कि उपयोगकर्ता को इस मुद्दे को सुधारने के लिए डिवाइस को घुमाने के लिए मजबूर होना होगा।

मुझे पता है कि आप अपने लैंडस्केप ऐप का परीक्षण करने के इच्छुक हैं, लेकिन मुझे किसी भी तरह से अनजान है कि आईपैड सिम्युलेटर को लैंडस्केप में शुरू करने के लिए मजबूर होना पड़ सकता है, इसके बिना आप ऊपर उल्लेखित काम करते हैं, जैसा कि आप पहले ही सलाह देते हैं कि इस बिंदु को हराया जाए। मुझे संदेह है कि आप "cmd" + "बाएं/दाएं" तीर से फंस गए हैं।

4

सिम्युलेटर में GHUnit परीक्षण ऐप चलाने पर मुझे यह समस्या थी।मैं info.plist फ़ाइल को यह जोड़कर तय:

<key>UISupportedInterfaceOrientations~ipad</key> 
<array> 
    <string>UIInterfaceOrientationPortrait</string> 
    <string>UIInterfaceOrientationPortraitUpsideDown</string> 
    <string>UIInterfaceOrientationLandscapeLeft</string> 
    <string>UIInterfaceOrientationLandscapeRight</string> 
</array> 

आप इस संपादित करते हैं Xcode के plist संपादक का उपयोग सुनिश्चित करें कि आप "शो कच्चे कुंजियों/मूल्यों" विकल्प चालू किया हुआ है।

+0

ठीक है। यह मेरे लिए भी तय है –

+0

समस्या आदेश है। यदि आपका UIInterfaceOrienationPortrait पहले नहीं है, तो यह आईफोन/आईपैड के प्रारंभिक अभिविन्यास को बदलने जा रहा है। मुझे यह समस्या जानकारी प्रोजेक्ट सेटिंग्स टैब पर बटन दबाए रखने से थी जो उन्मुखता को चालू/बंद करता है। .plist में अभिविन्यास सेटिंग्स को हटाकर इसे सही क्रम में वापस रखा गया था। –

1

मुझे लगता है कि मुझे यह मिल गया है!

आप अपने सिम्युलेटर (जैसे Cmd + क्यू) बंद है, तो यह हमेशा पोर्ट्रेट मोड में शुरू होता है।

लेकिन अगर आप सिम्युलेटर पर होम बटन दबाकर अपना ऐप बंद करें, तो यह आपके ऐप की अगली शुरुआत में अंतिम अभिविन्यास को याद रखता है।

संबंधित मुद्दे