मुझे पता है कि यह एक प्रकार का डुप्ली है, लेकिन मेरे पास मूल पोस्ट पर टिप्पणी करने के लिए अभी तक पर्याप्त प्रतिष्ठा नहीं है, जबकि मेरे पास कोई जवाब नहीं है, मेरे पास है अधिक उपयोगी जानकारी (एक ठोस उदाहरण)। मॉडरेटर, इसे उचित स्थान पर ले जाने के लिए स्वतंत्र महसूस करें।अपरिचित चयनकर्ता UIDeviceRGBColor countByEnumeratingWithState: ऑब्जेक्ट्स: गिनती:
जब मेरे कोड नवीनतम XCode 8 बीटा 6 (आईओएस 10 SDK), मैं एक अपवाद "समाप्त एप्लिकेशन न आया हुआ अपवाद 'NSInvalidArgumentException', कारण की वजह से मिल का उपयोग कर संकलन: '- [UIDeviceRGBColor countByEnumeratingWithState: वस्तुओं: गिनती:]: गैर मान्यता प्राप्त चयनकर्ता उदाहरण 0x600000071340 ' "
यह तब होता है के लिए भेजा कॉल के दौरान:
auto viewController = [[[UIViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease];
मैं न्यूनतम कि संकलन होगा और अभी भी समस्या प्रदर्शन करने के लिए अपने प्रोजेक्ट नीचे whittling द्वारा समस्या अलग-थलग कर दिया है। आप इसे यहां से डाउनलोड कर सकते हैं:
ध्यान दें कि मैं बाहर ले कोड के बहुत सारे, लगभग सभी वर्गों चले गए हैं, जो xib से संदर्भित अस्तित्वहीन कक्षाओं के लिए चेतावनी (नहीं त्रुटियों) का एक बहुत का परिणाम है। लेकिन इससे कोई फर्क नहीं पड़ता, कोड अभी भी संकलित करता है और आईओएस 9 एसडीके के साथ ठीक है। आईओएस 10 एसडीके के साथ संकलन के बाद, यह सिम्युलेटर और आईओएस 9 पर चलने वाले उपकरणों पर दुर्घटनाग्रस्त हो जाता है।
आप फ़ाइल में "#if 0" को "#if 1" में बदलकर समस्या के आसपास काम कर सकते हैं " HackForUnrecognizedSelectorInIOS10.m "। यह यूआईसीओलर के लिए लापता चयनकर्ताओं को परिभाषित करने वाली एक श्रेणी को जोड़ता है। लेकिन जाहिर है कि आप इसे शिपिंग कोड में नहीं जोड़ सकते हैं, यह विकास जारी रखने के लिए केवल एक अस्थायी स्टॉपगैप उपाय है।
मैंने एक बग रिपोर्ट (28153870) दायर की। लेकिन अगर किसी के पास बदसूरत हैक के बिना इस समस्या से बचने के बारे में कोई और जानकारी है, तो किसी भी जानकारी का स्वागत है।
धन्यवाद
मिशेल Colman
यह वास्तव में इसे हल करता है! स्पष्ट रूप से तैनाती लक्ष्य कम से कम 6.0 होना चाहिए। मैंने इसे "परिनियोजन लक्ष्य (5.1)" पर सेट किया था। साथ ही, जब मैंने <तैनाती संस्करण = "1296" पहचानकर्ता = "आईओएस" /> (1536 हेक्स 510, यानी आईओएस 5.1) सेट करने के लिए मैन्युअल रूप से xib को टेक्स्ट एडिटर में संपादित किया, तो त्रुटि वापस आई। जब मैं इसे वापस 1536 (हेक्स 600, यानी आईओएस 6.0) पर सेट करता हूं, तो यह ठीक से काम करता है। –
ओ, वैसे, मुझे कुछ अवसरों पर [UIDeviceRGBColor लंबाई] मिला। यही कारण है कि मैंने परियोजना में बदसूरत हैक फ़ाइल में दोनों चयनकर्ताओं को शामिल किया। इस बीच मुझे पता चला कि यह हैक वास्तव में सही काम नहीं करता है: भले ही दुर्घटना गायब हो जाए, तो कुछ कार्यक्षमता भी होती है। उदाहरण के लिए, कुछ बटन काम करना बंद कर दिया। हालांकि कभी-कभी उन्होंने काम किया। ऐसा लगता है कि वहां कुछ नोडेटर्मिनिज्म चल रहा है। –
यह मेरे लिए काम नहीं किया। मैंने "बाद में" संस्करण स्थापित करने का प्रयास किया लेकिन मुझे अभी भी त्रुटि मिल गई है। मैंने फ़ाइल में भी देखा और मुझे वह संस्करण नहीं दिख रहा है जिसे @ मिशेल कोलमन ने दिखाया था। मैं बस यह देखता हूं, <परिनियोजन पहचानकर्ता = "आईओएस" /> – NinjaBeetle