मेरे पास एक ऐप है जो iOS8 का समर्थन करता है और बाद में, Xcode 7 में बनाया गया है और मैं लॉन्च स्क्रीन के लिए XIB का उपयोग कर रहा हूं (मेरे पास लॉन्च छवियां नहीं हैं)। इस दृश्य में ऐप वर्जन के साथ एक एकल UILabel और 2 UIImageViews चित्र हैं जो दोनों Images.xcassets में मौजूद हैं: एक लोगो और एक स्प्लैश छवि।
जब मैं एप्लिकेशन लॉन्च करता हूं, तो यूबेल और लोगो की छवि सही ढंग से दिखाई देती है, लेकिन अगर मैं iOS9 के साथ iPad Air 2 पर ऐप चलाता हूं तो स्प्लैश इमेज नहीं होती है। मैंने iPad 2, iPad Air और iPad Air 2 के लिए एक एयर और एक मिनी iOS8, और iOS9 सिमुलेटर पर परीक्षण किया है और छवि उन सभी में सही रूप से दिखाई देती है।
मैंने यह देखने के लिए कुछ बुनियादी समस्याएँ चलाईं कि क्या मैं समझ सकता हूँ कि क्या चल रहा है, लेकिन मैं इसे हल नहीं कर पा रहा हूँ और एकमात्र अंतर मैं देख सकता हूँ कि जो छवि काम कर रही है और जो असफल हो रही है, जब मैंने इसे जोड़ा है संपत्ति ...
यहाँ मैं क्या जानता हूँ की एक किस्म है:
छप छवि के लिए UIImageView सही जगह पर, सही आकार में है। मैं यह बता सकता हूं क्योंकि मैंने यह सुनिश्चित करने के लिए इसकी पृष्ठभूमि का रंग हरा कर दिया है। दृश्य वहाँ है, लेकिन छवि दिखाई नहीं देती है। इसलिए मैं मान रहा हूं कि यह नजरिया दोषपूर्ण नहीं है।
लोगो छवि का उपयोग करने के लिए UIImageView को सेट करना भी लोगो छवि का उपयोग करता है जिससे लोगो छवि दृश्य के लिए सही स्थान पर दिखाई देती है। इससे मुझे यह भी लगता है कि दृश्य को दोष नहीं देना है।
UIImage जो मैं छप छवि दृश्य में उपयोग कर रहा हूं, ऐप में कहीं और उपयोग किया जाता है और उन अन्य दृश्यों में ठीक दिखाई देता है (लोगो छवि भी ऐप में कहीं और उपयोग की जाती है और ठीक दिखाई देती है)। इसलिए मैं मान रहा हूं कि छवि वैध है और इसे अन्य विचारों में दिखाई देना कोई समस्या नहीं है।
मैंने पुष्टि की है कि xcassets फ़ाइल में लोगो और स्प्लैश के लिए UIImages की सेटिंग समान हैं। वे यूनिवर्सल, किसी भी चौड़ाई और ऊंचाई, कई पैमाने के कारकों पर सेट हैं, डिफ़ॉल्ट रूप से प्रदान किए गए हैं। एक अंतर है - लोगो में 1x, 2x और 3x स्केल हैं जबकि स्प्लैश इमेज में केवल 1x और 2x हैं, लेकिन मैंने UIV में केवल 1x और Uxmages के साथ UIImages का उपयोग करने का प्रयास किया है और वे काम करते हैं (यदि वे थे तो कुछ समय पहले परियोजना में जोड़ा गया)।
मेरे xcassets में एक अलग आकार या प्रारूप (PNG और JPG) की एक और छवि जोड़ना और उस UIImage को छप छवि के लिए UIImage का उपयोग करना भी प्रदर्शित करने में विफल रहता है।
XIB फ़ाइल में एक और UIImageView जोड़ना और इसे एक UIImage आवंटित करना जो पहले से ही xcassets कार्यों में था, छवि लोड हो रही स्क्रीन में दिखाई देती है।
लोगो के लिए उपयोग की जाने वाली छवि फ़ाइलों को कॉपी करना और उनका नाम बदलना और फिर उन्हें प्रोजेक्ट में जोड़ना, छप दृश्य में उस UIImage का उपयोग करना भी प्रदर्शित करने में विफल रहता है।
मैंने प्रोजेक्ट को साफ करने, विकास मशीन को फिर से शुरू करने और एयर 2 से ऐप को हटाने और समस्या होने पर इसे फिर से इंस्टॉल करने की कोशिश की है।
ये अंतिम तीन चरण मुझे विश्वास दिलाते हैं कि प्रोजेक्ट फ़ाइल के जीवनकाल में एक निश्चित बिंदु के बाद जोड़े गए चित्रों के साथ कुछ समस्या है। जब मैंने कल Xcode 7 में अपडेट किया था, तो स्प्लैश छवि मूल रूप से Xcode 6 में जोड़ी गई थी, लेकिन कुछ महीनों पहले लोगो की छवि (Xcode 6 में भी जोड़ी गई) जोड़ी गई थी।
मैं लोगो छवि और छप छवि के लिए json फ़ाइलों पर देखा है और वे एक ही स्वरूप है दिखाई देते हैं। मैं भी pbxproj फ़ाइल के माध्यम से मतभेद के लिए देख रहा है और मैं किसी भी नहीं देख सकता है।
इसलिए मैं सोच रहा था कि किसी को भी पता हो कि लॉन्च स्क्रीन इन नई छवियों को प्रदर्शित नहीं कर सकती है जो मैं विशेष रूप से एयर 2 पर जोड़ रहा हूं? अन्य प्रश्न जो मैं उन छवियों से संबंधित पढ़ रहा हूं जो सभी को दिखाई नहीं दे रहे हैं या तो लॉन्च छवियों से संबंधित प्रतीत होते हैं, या संबंधित कक्षाओं वाले XIB फ़ाइलों में छवियां हैं, जिनमें से कोई भी यहां प्रासंगिक नहीं लगता है।