सत्यापन त्रुटि: अमान्य बंडल। बंडल में ... अस्वीकृत फ़ाइल 'फ्रेमवर्क' सम्‍मिलित है


165

मैं Xcode6 GM के साथ एक ऐप सबमिट करने की कोशिश कर रहा हूं, और मुझे यह त्रुटि सत्यापन पर मिलती है। ऐप में एक एक्शन एक्सटेंशन और एक डायनामिक फ्रेमवर्क है जो एक्सटेंशन और ऐप के बीच ही साझा किया जाता है।

मेरे पास प्रोजेक्ट में कहीं भी 'फ्रेमवर्क' नामक एक फाइल नहीं है, इसलिए मुझे वास्तव में यकीन नहीं है कि इसका क्या मतलब है। किसी को भी इस मुद्दे को मिल गया है या कोई विचार है?यहाँ क्या त्रुटि दिखती है


कैसे एक फ़ोल्डर नाम के बारे में चौखटे?
बोर्रडेन

इस परियोजना में एक 'समूह' है जिसे फ्रेमवर्क कहा जाता है, लेकिन कोई फ़ोल्डर नहीं। मैंने इसे हटा दिया, फिर से संग्रहीत किया, और मुझे अभी भी वही त्रुटि मिलती है।
माइक

जवाबों:


308

त्रुटि बाहर निकलती है स्विफ्ट (ऐप और एक्सटेंशन दोनों का उपयोग स्विफ्ट का उपयोग करने से संबंधित है)।

एप्लिकेशन के लिए, मुझे सेट करना था:

Embedded Content Contains Swift Code: YES

और विस्तार के लिए:

Embedded Content Contains Swift Code: NO

Xcode 8 और 9

ऐसा लगता है कि Always Embed Swift Standard LibrariesXcode 8 और 9 में इसका नाम बदल दिया गया है । इसलिए, ऐप के लिए:

Always Embed Swift Standard Libraries: YES

और विस्तार के लिए:

Always Embed Swift Standard Libraries: NO

7
तुम मेरे तारणहार हो। "एंबेडेड" का मतलब बंडल में विस्तार है, और चूंकि एक एक्सटेंशन में अधिक एक्सटेंशन नहीं हैं, इसमें स्विफ्ट कोड शामिल नहीं है।
क्रिस ट्रूमैन

2
यह मेरे लिए समस्या का समाधान नहीं था। मैं कोकोआपोड्स का भी उपयोग कर रहा हूं। क्या किसी ने इससे संबंधित मुद्दों को देखा है? कोई अन्य विचार?
टाइमस्किट्ज़

8
वॉचपैट एक्सटेंशन के साथ मत भूलिए कि रनपथ सर्च पाथ के पास है@executable_path/../../Frameworks
मिस्टर रोजर्स

1
@MrRogers उत्तर का अनुसरण करने के बाद मेरी समस्या का समाधान हो गया। मेरे पास स्विफ्ट वॉच के साथ एक objC ऐप है। एम्बेडेड सामग्री को सेट किए बिना ठीक चलेगा, हालांकि इसे सेब से अस्वीकृति मिली। एम्बेडेड सामग्री को सही ढंग से सेट करके, ऐप को तोड़ दिया। यह खोज पथ वही है जो इसे तय करता है।
ब्यू नोवेल

1
यह मेरे लिए काम नहीं किया, मुझे कुछ और करने की ज़रूरत थी और लक्ष्य विस्तार पर था कि इस मुद्दे पर है, मैंने स्क्रिप्ट को "[सीपी * एंबेड पॉड्स फ्रेमवर्क" पर मिटा दिया इसके बाद यह सही ढंग से काम करता है !!
ए। तर्जो

122

मेरे लिए काम करने वाला एकमात्र समाधान इस रन स्क्रिप्ट को ऐप एक्सटेंशन लक्ष्य में जोड़ना था:

cd "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/"
if [[ -d "Frameworks" ]]; then 
    rm -fr Frameworks
fi

यहां छवि विवरण दर्ज करें स्रोत: https://github.com/CocoaPods/CocoaPods/issues/4203


7
मेरा ऐप स्विफ्ट का उपयोग नहीं करता है इसलिए यह एकमात्र फिक्स था जो मेरे लिए भी काम करता था।
डैन लफनी

6
वर्थ ने उल्लेख किया कि इसे केवल विस्तार में जोड़ने की आवश्यकता है, न कि मुख्य लक्ष्य की।
theDuncs

3
यह वास्तव में इस मुद्दे को हल करता है, लेकिन यह एक और मुद्दा देता है जो कि मैं अपने डिवाइस पर न तो सिम्युलेटर पर अपना ऐप चला सकता हूं। यह एक त्रुटि देता है: dyld: Library not loaded: ... Image not foundकोई भी मेरी मदद कर सकता है?
उपखन सरीफ

4
क्या यह सिर्फ मेरा है या इस तरह का पागलपन है?
bkbeachlabs 20

1
.Ipa को मान्य करने पर फिक्स्ड। लेकिन त्रुटि संदेश के साथ स्थापित करने पर दुर्घटनाग्रस्त: dyld: लाइब्रेरी लोड नहीं: @ rpath / AFNetworking.framework / AFNetworking से संदर्भित: / var / कंटेनरों / बंडल / एप्लिकेशन / .... कारण - छवि नहीं मिली
अलीम

45

तो बिल्ड सेटिंग्स से इसे ठीक करने के लिए 3 चरण

  1. कंटेनर ऐप: Embedded Content Contains Swift Code: YES
  2. एक्सटेंशन: Embedded Content Contains Swift Code: NO
  3. विस्तार: रनपथ खोज पथ = @executable_path/../../Frameworks

2
कंटेनर बनाम एक्सटेंशन, मैं Xcode में नया हूं। वह कहाँ है, विस्तार कोको फली हैं? या ये दो चीजें कहां स्थित हैं?
सर्ज पेड्रोज़ा

16

मेरे मामले में, मैंने अभी CocoaPods 1.0.1 में अपग्रेड किया है और यह एक नया बग प्रतीत होता है।

पॉड अपडेट मेरे एक्सटेंशन के लक्ष्य में एक रन स्क्रिप्ट जोड़ता है जो फ्रेमवर्क फ़ोल्डर बनाता है। मुझे ऐसा लगा जैसे मैं इसे हटाने के लिए @ रोमन की रन स्क्रिप्ट जोड़ने वाला था।

समाधान इस स्क्रिप्ट को मेरे एक्सटेंशन के बिल्ड चरण से हटाने के लिए था। यहाँ एक है जो जाने की जरूरत है ...

यहां छवि विवरण दर्ज करें


7
यह मेरे लिए हल! एक बार फिर से यह कोकोआपॉड्स है, जो गलत है, यह पता लगाने की कोशिश करने के एक घंटे में मेरी लागत है। मेरा उस उत्पाद के साथ एक गंभीर प्रेम-घृणा संबंध है।
fguchelaar

2
1.1.0.rc.2मेरे लिए समस्या हल करने के लिए कोकोपोड्स को अपग्रेड करना।
ऑटोवियो

1
कीबोर्ड एक्सटेंशन्स बिल्ड बिल्ड चरणों के तहत एंबेड पॉड्स फ्रेमवर्क को हटाना मेरे लिए काम किया! मैं Xcode 8 और CocoaPods v1.0.1 का उपयोग कर रहा हूं। धन्यवाद!
स्टॉर्म फैक्ट्री

13

अपने शीर्षक में शब्द के विस्तार के लिए प्रत्येक बिल्ड चरण निकालें embed

इसके अतिरिक्त:

  • एंबेडेड सामग्री मेंYes विस्तार लक्ष्य के लिए स्विफ्ट कोड निर्धारित होना चाहिए ।

11

उपरोक्त में से किसी भी उत्तर ने मेरे लिए काम नहीं किया। ऐसा इसलिए था क्योंकि त्रुटि मूल एप्लिकेशन के कारण नहीं थी या इसका विस्तार नहीं था। बल्कि लिंक्ड लाइब्रेरी में से एक में गलती थी।

पुष्टि करने के लिए, पहले 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। यह ऊपर @ माइक के उत्तर में विस्तृत है।


10

मेरे मामले में, एक कोकोआ लाइब्रेरी थी "ब्लॉकली" जो "ऑलवेज एंबेट स्विफ्ट स्टैंडर्ड लाइब्रेरीज़" के लिए हां निर्दिष्ट कर रही थी। विकल्प के लिए NO बनाने के बाद, इसने काम किया।यहां छवि विवरण दर्ज करें


9

मेरे मामले में समाधान मेरे विस्तार के एंबेडेड बायनेरिज़ से मेरे ढांचे को हटाने और इसे मेरे एक्सटेंशन के लिंक्ड फ्रेमवर्क और लाइब्रेरी में जोड़ने का था। (दोनों को विस्तार के सामान्य टैब में पाया जा सकता है।)


7

यदि एंबेड पॉड्स फ्रेमवर्क स्क्रिप्ट और रोमन लिपि दोनों एक ही लक्ष्य में मौजूद हैं।

कृपया जांचें कि क्या एंबेड पॉड्स फ्रेमवर्क दूसरे से पहले पता लगाता है। यदि नहीं, तो बस रोमन की स्क्रिप्ट को अंतिम में ले जाएं।


तुम अद्भुत हो @Reeonce ज़ेंग, मेरा दिन बचाओ!
मिकी १०'१६ को

क्या मुझे वहां दोनों स्क्रिप्ट या केवल आखिरी भाग रखना चाहिए? "$ {SRCROOT} / पॉड्स / टारगेट सपोर्ट फाइल्स / पॉड्स-ऑर्सेस वॉचकीट एक्सटेंशन / पॉड्स-ऑर्सेस वॉचटिट एक्सटेंशन-frameworks.sh" cd "$ {CONFIGURATION_BUDD_DIR} / $ {UNLOCALIZED_RESOURCES_FOLDER_PATH} ]; तब rm -fr फ्रेमवर्क फाई

@stack, आपको एक नया रन स्क्रिप्ट चरण जोड़ना चाहिए, और भरना चाहिए: `cd" $ {CONFIGURATION_BUILD_DIR} / $ {UNLOCALIZED_RESOURCES_FOLDER_PIRH} / "अगर [-d" फ्रेमवर्क "]]; इसके बाद आरएम-एफआर फ्रेमवर्क फाई `
रीओन्स ज़ेंग

नई स्क्रिप्ट चलाने का क्या मतलब है? हमारे पास पहले से ही एक स्क्रिप्ट है। ठीक ? पुरानी स्क्रिप्ट की जगह, क्या मुझे एक बार प्रोजेक्ट को अपने टेक्स्ट को बदलने के साथ चलाना चाहिए। क्या मुझे "इंस्टॉल स्क्रिप्ट को प्रोग्राम इंस्टॉल करते समय" विकल्प का चयन करने की आवश्यकता है?

कृपया, मेरी थोड़ी और मदद करें। मुझे वाॅकिट एक्सटेंशन के लिए त्रुटि मिली। मेरे वॉचकिट एक्सटेंशन प्रोजेक्ट में, मेरी परियोजनाओं में "फिक्स फिक्स एपेक्स शामिल नहीं है ..." विकल्प / मेनू / टैब है। मैं इसे कहाँ पा सकता हूँ? मेरे पास केवल "एंबेड पॉड्स फ्रेमवर्क" और "कॉपी पॉड्स फ्रेमवर्क" है। कृपया सहायता कीजिए।

6

मुझे इसके लिए कोई सेटिंग नहीं मिल रही थी, Embedded Content Contains Swift Codeलेकिन मैं एक सेटिंग ढूंढने में सक्षम था Always Embed Swift Standard Librariesऔर इसे अपने फ्रेम के लिए NO पर सेट करना इस समस्या को ठीक करता था।


4
  1. कंटेनर ऐप: बिल्ड सेटिंग -> एंबेडेड कंटेंट में स्विफ्ट कोड होता है: YES
  2. एक्सटेंशन: बिल्ड सेटिंग -> एंबेडेड कंटेंट में स्विफ्ट कोड होता है: NO
  3. एक्सटेंशन: बिल्ड फेज -> ने निम्नलिखित रन स्क्रिप्ट को जोड़ा

सीडी "$ {CONFIGURATION_BUILD_DIR} / $ {UNLOCALIZED_RESOURCES_FOLDER_PATH} /" अगर [[-d "फ्रेमवर्क"]]; उसके बाद rm -fr फ्रेमवर्क फाई

  1. (महत्वपूर्ण) एक्सटेंशन: चरण बनाएं -> रन स्क्रिप्ट को लास्ट में ले जाएं (एंबेड पॉड्स फ्रेमवर्क स्क्रिप्ट के बाद)

"टू द लास्ट" मेरे लिए महत्वपूर्ण कृति थी, धन्यवाद।
एंडी ओबेकेक

3

यदि आप कोकोआपोड्स का उपयोग कर रहे हैं, तो मैं समस्याग्रस्त लक्ष्य (विस्तार) पर एंबेड फ़्रेमवर्क बिल्ड चरण को हटाने पर विचार करूंगा, इससे मेरे लिए समस्या ठीक हो गई।


2

मुझे वही त्रुटि मिल रही थी, और यह इसलिए है क्योंकि मैं विस्तार बंडल में रूपरेखा की नकल कर रहा था। जैसा कि यह पता चला है, एक्सटेंशन द्वारा उपयोग किए जाने वाले फ्रेमवर्क को मुख्य ऐप बंडल में कॉपी किया जाना चाहिए और केवल एक्सटेंशन बिल्ड सेटिंग्स में लिंक किया जाना चाहिए (कॉपी नहीं किया गया)। एक्सटेंशन बिल्ड में खोज पथ '@executable_path /../../ फ्रेमवर्क' का होना सुनिश्चित करें। मुझे लगता है कि रास्ता XCode 10 द्वारा स्वचालित रूप से जोड़ा गया था।


1

मुझे इस तरह के बहुत से प्रश्न मिले और किसी ने भी मेरी समस्या को ठीक करने में मदद नहीं की, इसलिए उम्मीद है कि यह किसी की मदद कर सकता है।

मैं एक ऐप बना रहा हूं जिसमें एक इंटेंट एक्सटेंशन है (सिरी शॉर्टकट के लिए) और मैं ऐप्पल द्वारा अनुशंसित एक्सटेंशन और मेरे ऐप के बीच साझा किए गए कोड के लिए एक फ्रेमवर्क का उपयोग कर रहा हूं।

मैंने अपने ढांचे को लक्ष्य के लिए "सामान्य" सेटिंग्स के "फ्रेमवर्क और लाइब्रेरी" खंड में अपने विस्तार में जोड़ा था। जब आप यहां एक रूपरेखा जोड़ते हैं, तो दो कॉलम होते हैं। एक का कहना है कि रूपरेखा का नाम और दूसरा शीर्षक "एंबेड" है। मुझे "एंबेड" कॉलम में कुछ भी दिखाई नहीं दे रहा था इसलिए मुझे लगा कि यह ठीक है, लेकिन मुझे अपने ढांचे के लिए उस कॉलम के लिए स्पष्ट रूप से "डू नॉट एंबेड" विकल्प चुनना था। जब मैंने ऐसा किया और Xcode में संग्रहीत किया, तो मैं सत्यापन के दौरान देख सकता था कि फ्रेमवर्क मेरे ipa सामग्री में प्रत्येक लक्ष्य के तहत अब सूचीबद्ध नहीं था, लेकिन सिर्फ एक बार, और सत्यापन अंततः सफल हुआ।


0

मेरे पास XCode 7.1.1 के साथ पहली बार यह समस्या आई थी कि मेरे ऐप में टुडे एक्सटेंशन है (मेरे प्रोजेक्ट में कोई स्विफ्ट नहीं है)। स्क्रिप्ट ( https://github.com/CocoaPods/CocoaPods/issues/4203 ) मेरे काम नहीं आई।

0.39.0.beta.3 संस्करण के लिए कोकोपीड्स को अपग्रेड करना, चलाना pod install, और फिर पुन: संग्रह करने से समस्या हल हो गई।


0

मैं एक ही त्रुटि हो रही थी, एक साथ

नेस्टेड बंडलों त्रुटि अस्वीकृत

मेरी समस्या SquareReaderSDK.frameworkविशेष रूप से थी, लेकिन मुझे उनके निर्देशों के अनुसार एक नई रन स्क्रिप्ट को जोड़ना पड़ा:

FRAMEWORKS="${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}"
"${FRAMEWORKS}/SquareReaderSDK.framework/setup"

0

यहां सूचीबद्ध बिल्ड सेटिंग में से किसी ने भी मेरे लिए इस समस्या को हल नहीं किया है। हालाँकि, मुझे यह "एंबेडेड बायनेरिज़" से कुछ फ्रेमवर्क को "लिंक्ड फ़्रेमवर्क और लाइब्रेरीज़" में ले जाने के बाद काम करने के लिए मिला।

ऐसा प्रतीत होता है कि मेरे मुख्य ऐप और मेरे एक कस्टम फ्रेमवर्क में दोनों में समान ढाँचा निर्भरता थी और यह एक No No लगता है, लेकिन इसे एंबेडेड एरिया से लिंक्ड एरिया में मेरे मुख्य ऐप में ले जाने से मुझे ऐप को सफलतापूर्वक अपलोड करने की अनुमति मिली त्रुटियाँ नहीं।

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