कक्षा PLBuildVersion दोनों रूपरेखाओं में कार्यान्वित किया जाता है


225

iOS 10 / Xcode 8 GM का निर्माण नीचे हो रहा है, Xcode 7 से पहले ऐसा कभी नहीं हुआ था। कोई विचार?

objc [२५१६१]: कक्षा PLBuildVersion /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Dracter/SDKs/iPhoneSimulator.sdk/System/PirtFram/work/firtur/work पर दोनों में लागू किया जाता है। और /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PStreetFrameworks/PhotoLibrarySframework/PhotoLervices/ इन दोनों में से कोई एक प्रयोग किया जाएगा। कौन सा अपरिभाषित है।

(नोट: केवल सिम्युलेटर में ऐसा लगता है, वास्तविक डिवाइस पर दिखाई नहीं देता है)।


1
क्या आप अपने प्रोजेक्ट में फैब्रिक या अन्य ट्विटर 3 लाइब्रेरी का उपयोग कर रहे हैं?
केविन

3
मैं ट्विटर का उपयोग नहीं कर रहा हूँ। शायद Firebase यह भी कारण हो सकता है?
यित्ज़चैक

1
@ जैने जैसे जैक मैं अपने प्रोजेक्ट में फैब्रिक का उपयोग कर रहा हूं और मेरी भी यही त्रुटि है
user1019042

1
@Yitschak मैं फायरबेस का उपयोग करता हूं और यह भी मिला है।
n3wbie

1
हां, मैं फैब्रिक और क्रैशलाईटिक्स (v3.8.2) का उपयोग कर रहा हूं
फ्लैटडॉग

जवाबों:


144

मुख्य विचार

मुख्य विचार सरल है:

यदि आपका ऐप (या निर्भरता, जैसे पोड्स) फ्रेमवर्क का उपयोग करता है, जो स्पष्ट (या निहित) का उपयोग करता है PhotoLibraryServices.frameworkया AssetsLibraryServices.frameworkनिर्भरता के रूप में, Xcode आपको चेतावनी देता है (भले ही आप उनमें से केवल एक का उपयोग कर रहे हों)। यह Photos/PhotosUI.frameworkया हो सकता है AssetsLibrary.framework, या कोई अन्य (मेरे पास निर्भरताओं की पूरी सूची नहीं है, लेकिन यह संभव है)।

समस्या क्या है?

नाम के साथ वर्ग PLBuildVersionदोनों में परिभाषित किया गया है PhotoLibraryServices.frameworkऔर AssetsLibraryServices.framework। ऑब्जेक्टिव-सी में क्लास का नाम अद्वितीय है (आप एक ही नाम के साथ 2 कक्षाएं परिभाषित नहीं कर सकते हैं), इसलिए यह अपरिभाषित है, जिसका उपयोग रनटाइम में किया जाएगा।

हालांकि, मुझे लगता है कि यह कोई समस्या नहीं होगी, क्योंकि दोनों वर्गों के पास एक ही तरीके और क्षेत्र हैं (डिसबेंबलर के साथ यह जांच की गई है) और मुझे लगता है कि दोनों एक ही स्रोत से संकलित किए गए थे।

रडार पहले ही भेजा जा चुका है।


2
चेतावनी संदेश अब भी हैं।
फैज़ फरीद

9
मैंने पाया कि अगर मैं एक वीसी में वेबव्यू का उपयोग करता हूं, तो मुझे इस प्रकार का चेतावनी संदेश डिबग विंडो में मिला जब वीसी दिखाया गया है। मैं Xcode 8.1, स्विफ्ट 3 का उपयोग करता हूं।
David.Chu.ca

1
im xcode का उपयोग करते हुए 8.2 और मेरे पास मेरे प्रोजेक्ट में कोई फोटोलिबरी उपयोग नहीं है और मुझे अभी भी यह चेतावनी मिलती है।
हिमांशु मोरदिया

1
क्या यह केवल मैं हूं या दृश्यमंच की प्रस्तुति धीमी हो गई है, जिसे प्रस्तुत किया जा रहा है और जिसमें यह चेतावनी संदेश है ???
nr5

2
जब मैं सेट कर रहा था तो मुझे भी यह चेतावनी मिल रही है .attributedText। मैं कैमरा या फोटो नहीं ले रहा हूं। यह चेतावनी दृश्य नियंत्रक को लोड करने के लिए गंभीर अंतराल का कारण बनती है, भले ही कोई समय गहन कार्य शामिल नहीं हो (कोई नेटवर्क एक्सेस, कोई फ़ाइल i / o, आदि)।
आर मोयर

53

Apple के डेवलपर फोरम पर Apple कर्मचारी के जवाब के अनुसार :

आप सूचीबद्ध किए गए वर्ग स्रोतों में से किसी पर भी नियंत्रण नहीं करते हैं, इसलिए ऐसा कुछ भी नहीं है जो आपको बग की सूचना देने से अलग कर सकता है या नहीं करना चाहिए।


मुझे लगता है कि वह है।
फेटी

2
यहां तक ​​कि अगर यह एक समस्या नहीं है, यह अभी भी कष्टप्रद और विचलित उत्पादन उत्पन्न करता है, तो यह "बग"
चिल्लाता है

46

मुझे चेतावनी से छुटकारा पाने का एक तरीका नहीं मिल पा रहा था, लेकिन अगर आप ऐप को क्रैश होने से रोकना चाहते हैं, तो आपको कैमरा, फोटो लाइब्रेरी आदि एक्सेस करने के लिए विवरण देने की आवश्यकता है, यह iOS10 में नया है।

अपनी Info.plistफ़ाइल में निम्नलिखित इनपुट करें ।

तस्वीर

कुंजी: Privacy - Photo Library Usage Description मूल्य: $(PRODUCT_NAME) photo use

कैमरा

कुंजी: Privacy - Camera Usage Description मूल्य: $(PRODUCT_NAME) camera use

अधिक जानकारी यहां पाई जा सकती है: https://iosdevcenters.blogspot.com/2016/09/infoplist-privacy-settings-in-ios-10.html


33
चेतावनी संदेश अभी भी हैं।
केविन

6
मेरा ऐप कैमरे का उपयोग बिल्कुल नहीं करता है और मुझे संदेश मिल जाता है। फिर भी, मैंने आपके सुझाव के अनुसार इन्हें जोड़ने की कोशिश की और अभी भी इसे हल नहीं किया है ..
फ्लैटडॉग

5
किसी को यह पता लगाना? मैं फोटो लाइब्रेरी का उपयोग नहीं कर रहा हूं और न ही मैं कैमरे का उपयोग कर रहा हूं, हालांकि मुझे अभी भी चेतावनी और दुर्घटना मिली है
माइक ऑक्ट

2
@ मायकेजी मैं भी पुस्तकालय का उपयोग नहीं कर रहा हूं और अभी भी दुर्घटना हो रही है, मैंने info.plistफ़ाइल में कुंजी / स्ट्रिंग विन्यास विवरण जोड़कर चेतावनियों से छुटकारा पा लिया । जाहिर तौर पर IOS 10.x
डेविड मॉर्टन

2
मैंने NSAttributedString को textView.attributedText सेट करने के बाद यह चेतावनी दी है
11:16

12

मुझे लगता है कि आप केवल UIWebView का उपयोग करके इस त्रुटि को प्राप्त कर सकते हैं। मेरा समाधान WKWebView के साथ UIWebView के मेरे उपयोग को बदलना था।


5
मैंने WKWebView की कोशिश की, लेकिन चेतावनी अभी भी दिखाई दे रही है
कुल्हाड़ी

5

फैब्रिक पर अपने प्रोजेक्ट में उत्तर जोड़ने के बाद मेरे पास यह था।

व्युत्पन्न डेटा को हटाने ने मेरे लिए चाल चली। (XCode में ऑल्ट कमांड कमांड k)

एक साल बाद संपादित करें:

व्युत्पन्न डेटा को हटाने के बाद, हमेशा XCode से बाहर निकलें और इसे फिर से शुरू करें।

असंबंधित मामलों में मुझे यह धारणा है कि व्युत्पन्न डेटा को हटाने से एक्सकोड के व्युत्पन्न डेटा के मेमोरी कैश में स्पष्ट नहीं होता है।


चेतावनी अभी भी है लेकिन BUT ऐप अब क्रैश नहीं हो रहा है। मैं xcode8.2.1 का उपयोग कर रहा हूं
दशरथ

2

IOS सिम्युलेटर को रीसेट करना मेरे लिए यह तय करता है। सिम्युलेटर -> सामग्री और सेटिंग्स रीसेट करें।


बस उसी निष्कर्ष पर पहुंचा और मेरे लिए भी काम किया।
फ्रांज

0

मेरे मामले में यह चेतावनी दूसरी xcode परियोजना खोलने और सिम्युलेटर पर दूसरा ऐप चलाने के बाद दिखाई देने लगी। पहले ऐप में वापस बदलने के बाद, चेतावनी दिखाई देने लगी। मैंने बस सिम्युलेटर और Xcode छोड़ दिया और अपनी परियोजना को फिर से खोल दिया। चेतावनी उसके बाद गायब हो गई। यदि वह इसे हल नहीं करता है, तो अन्य उत्तरों के साथ आगे बढ़ें। Xcode वास्तव में कभी-कभी picky हो सकती है।

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