उपरोक्त में से किसी भी उत्तर ने मेरे लिए काम नहीं किया। ऐसा इसलिए था क्योंकि त्रुटि मूल एप्लिकेशन के कारण नहीं थी या इसका विस्तार नहीं था। बल्कि लिंक्ड लाइब्रेरी में से एक में गलती थी।
पुष्टि करने के लिए, पहले Xcode का उपयोग करके संग्रह फिर आयोजक का उपयोग करके प्रविष्टि का चयन करें और शो इन फाइंडर का उपयोग करके पता लगाएं। यह .xcarchive
फ़ाइल दिखाएगा ।
उस फ़ाइल का चयन करें और "पैकेज सामग्री दिखाएँ" चुनें।
उत्पाद / अनुप्रयोग फ़ोल्डर में .app का चयन करें और फिर से "पैकेज सामग्री दिखाएँ" चुनें।
फ्रेमवर्क फ़ोल्डर में आपत्तिजनक मॉड्यूल का पता लगाएँ। उदाहरण के लिए यदि त्रुटि है:
ERROR ITMS-90206: "Invalid Bundle. The bundle at 'MyApp.app/Frameworks/MyLib.framework' contains disallowed file 'Frameworks'."
फिर Frameworks/MyLib.framework
निम्नलिखित में संभवतः दिखाई देगा:
../Frameworks/libswiftContacts.dylib
../Frameworks/libswiftCore.dylib
../Frameworks/libswiftCoreData.dylib
../Frameworks/libswiftCoreGraphics.dylib
../Frameworks/libswiftCoreImage.dylib
../Frameworks/libswiftCoreLocation.dylib
../Frameworks/libswiftDarwin.dylib
../Frameworks/libswiftDispatch.dylib
../Frameworks/libswiftFoundation.dylib
../Frameworks/libswiftLocalAuthentication.dylib
../Frameworks/libswiftObjectiveC.dylib
../Frameworks/libswiftPassKit.dylib
../Frameworks/libswiftUIKit.dylib
../Frameworks/libswiftWebKit.dylib
ये मौजूद हैं क्योंकि लिंक की गई लाइब्रेरी - या मॉड्यूल - जिसमें मूल एप्लिकेशन शामिल है EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
Xcode में निर्भर मॉड्यूल का पता लगाएँ और ध्वज को अपडेट करें:
ध्यान दें कि इस समस्या को दूर करने के बाद भी ऐप को आईट्यून्स स्टोर से एक व्याख्यात्मक ईमेल के साथ अस्वीकार किया जा सकता है:
Invalid Swift Support - The Watch OS application has Swift libraries at both...
पुन: यह EMBEDDED_CONTENT_CONTAINS_SWIFT
ध्वज वापस आता है । सुनिश्चित करें कि केवल पैरेंट ऐप के पास यह सेट है YES
। वॉचटिट ऐप और एक्सटेंशन दोनों के लिए यह ध्वज सेट होना चाहिए NO
। यह ऊपर @ माइक के उत्तर में विस्तृत है।