सवाल एक्सकोड 4 + आईओएस 4.3: "संग्रह के प्रकार के लिए कोई पैकेजर मौजूद नहीं है"


मैंने अभी एक्सकोड 4 में अपग्रेड किया है और मैं पहले की परियोजना का एक विज्ञापन निर्माण करने की कोशिश कर रहा हूं। जब भी मैं "आर्काइव" विकल्प का उपयोग करता हूं, तो मैं ऑर्गनाइज़र विंडो में किसी भी संग्रह के साथ समाप्त नहीं होता हूं या कोई संग्रह होता है, लेकिन इसे .ipa के रूप में पैकेज करने का कोई विकल्प नहीं है, क्योंकि "संग्रह के प्रकार के लिए कोई पैकेजर मौजूद नहीं है "।

क्या किसी ने एडीएचओसी को एक्सकोड 4 के तहत काम कर रहा है जो कि एक्सकोड 3.2 से माइग्रेट किया गया है?


76
2018-03-11 10:04


मूल


इसी तरह के सवाल लेकिन कोई जवाब नहीं :-( stackoverflow.com/q/5265292/509535 - Manni
पहले मैक डिस्क उपयोगिता में स्वच्छ बिल्ड बनाने और फ़ाइलों की अनुमतियों को जांचने का प्रयास करें - Sergnsk
किसी को भी पता है कि कैसे एक पैकेजर बनाने और जोड़ने के लिए? - Rob Agar
मुझे एक परियोजना को स्थानांतरित करने में कोई समस्या नहीं थी। मेरे पास पुरानी परियोजना का बैकअप है। मैं इसके साथ जांच करूंगा और आपको बता दूंगा। संपादित करें: मेरी पुरानी परियोजना ओएस-एक्स परियोजना के रूप में पढ़ी जा रही थी। मुझे प्रोजेक्ट फ़ाइल को संपादित करना था और बिल्ड लक्ष्य को बदलना था। यह मेरी समस्या तय है। मुझे संदेह है कि यह आपके मामले में समस्या है। - Steve McFarlin
अपनी योजना संपादित करें। पुरालेख कार्रवाई के लिए बिल्ड कॉन्फ़िगरेशन के रूप में आपके पास क्या है? (परियोजना -> योजना संपादित करें -> पुरालेख) - Steve McFarlin


जवाब:


आपके मुख्य प्रोजेक्ट के अंदर कुछ लिंक परियोजनाएं (जैसे librairies) हो सकती हैं। उन परियोजनाओं की बिल्ड सेटिंग्स पर जाएं और "हां" पर सेटिंग "इंस्टॉल छोड़ें" (तैनाती श्रेणी) सेट करें, लेकिन मुख्य परियोजना के "इंस्टॉल करें" को "नहीं" पर छोड़ दें। बिल्ड, संग्रह, और आप आईपीए पैकेज का चयन करने में सक्षम होना चाहिए।


134
2018-03-16 08:36



मेरे मामले में मैंने उपप्रोजेक्ट से मेरे स्रोत कोड में कॉपी हेडर भी शामिल किया था। और फिर यह काम किया। - Mike Bevz
+1 कल्पना नहीं कर सकता कि अगर आपने यह जवाब पोस्ट नहीं किया है तो मैं कितने घंटे खो गया होगा। - cduhn
+1 ने मुझे बचाया, धन्यवाद! महत्वपूर्ण है कि लोग समझते हैं कि यह स्थिर पुस्तकालय पर ही किया जाना चाहिए, न कि आपके ऐप लक्ष्य पर। वह मुझे थोड़ी देर के लिए मिला। - jj0b
+1 आपको बहुत बहुत धन्यवाद। यह मेरे लिए था। - bwhitman
ठीक है, इस पोस्ट के माध्यम से अन्य लोगों के समय खोदने के लिए बस। जोश ब्राउन के अनुसार (नीचे दिए गए उत्तरों में से एक में), केवल 'छोड़ें इंस्टॉल' को बदलना काम नहीं करेगा अगर आपके पास अपनी मुख्य परियोजना (यानी न केवल .a फाइलें) के अंदर एक और पूरी परियोजना है। उस अतिरिक्त परियोजना में आपको एक अतिरिक्त कदम उठाना है ... "उस परियोजना में, बिल्ड चरणों पर जाएं, और कॉपी हेडर अनुभाग में, सभी शीर्षलेखों को सार्वजनिक और निजी अनुभागों से परियोजना अनुभाग में ले जाएं।" - मूल उत्तर में उन्होंने .xcarchive फ़ाइल की सामग्री के अंदर ब्राउज़िंग का भी उल्लेख किया ताकि यह देखने के लिए कि क्या स्थानांतरित किया जाना चाहिए - Hlung


धन्यवाद लेकिन मुझे अपने प्रोजेक्ट फ्रेमवर्क के साथ समस्या को हल करने के लिए 3 कदमों की आवश्यकता है:

  1. प्रत्येक निर्भरता प्रोजेक्ट के लिए लक्ष्य बिल्ड सेटिंग्स / "स्थापना छोड़ें" संपत्ति "YES" पर सेट करें

  2. प्रत्येक परियोजनाओं के लिए लक्ष्य निर्माण सेटिंग्स "स्थापना निर्देशिका" संपत्ति को साफ़ करें

  3. प्रत्येक परियोजनाओं के लिए, परियोजना के लिए सार्वजनिक / निजी "बिल्ड चरण / बिल्ड सेटिंग्स / कॉपी हेडर" अनुभाग से प्रत्येक शीर्षलेख को स्थानांतरित करें


25
2018-05-19 13:35



चरण # 3 ने मेरे लिए यह किया! धन्यवाद! - Erik
काश मैं आपको दस गुना बढ़ा सकता हूं। # 3 ने मेरे लिए समस्या का ख्याल रखा। - mmc
बढ़िया, जो दो चरणों को जोड़ने के बाद मेरी मदद करता है: एक्सकोड को साफ और दोबारा खोलें। धन्यवाद! - Dmitry Shashlov
धन्यवाद में शामिल होना, और लोगों को यह भी बताएं कि शीर्ष प्रोजेक्ट की स्थापना निर्देशिका को न बदलें ($ (LOCAL_APPS_DIR) होना चाहिए) - संग्रह बिल्कुल दिखाई नहीं देगा - Oded Ben Dov
आपका बहुत बहुत धन्यवाद। परियोजना के लिए यह निजी / सार्वजनिक मेरे लिए काम किया। - Sedat Kilinc


मैंने पाया कि इन उत्तरों के संयोजन ने समस्या हल कर दी है। मैंने यह सत्यापित करने में काफी समय बिताया कि क्या सभी इंस्टॉल परियोजनाओं पर Skip इंस्टॉल को हां पर सेट किया गया था और यह पता चला कि यह मेरे लिए इस मुद्दे का केवल एक हिस्सा था। यदि आप आर्काइव के साथ इस समस्या का सामना कर रहे हैं, तो यहां लेने के लिए चरण हैं:

  1. ऑर्गनाइज़र में संग्रह ढूंढें, राइट-क्लिक करें और खोजक में दिखाएं चुनें।
  2. खोजक में .xcarchive फ़ाइल राइट-क्लिक करें और पैकेज सामग्री दिखाएँ का चयन करें।
  3. उत्पाद फ़ोल्डर ढूंढें और देखें कि इसमें क्या है। उत्पाद फ़ोल्डर में केवल एक अनुप्रयोग फ़ोल्डर होना चाहिए, और अनुप्रयोग फ़ोल्डर में केवल एक आईफोन ऐप (YourProject.app) होना चाहिए।

यदि, चरण 3 में, आपको या तो सीधे या उत्पाद के तहत एक स्थिर लाइब्रेरी (<some-library> .a) मिलती है, तो एक्सकोड पर जाएं और स्थिर लाइब्रेरी उत्पन्न करने वाली प्रोजेक्ट का चयन करें (आपको यह बताने में सक्षम होना चाहिए कि कौन सा प्रोजेक्ट यह स्थैतिक पुस्तकालय के नाम पर आधारित है)। बिल्ड सेटिंग्स पर जाएं और लक्ष्य का चयन करें, फिर "इंस्टॉल करें" को "हां" पर सेट करें।

यदि, चरण 3 में, आपको सीधे हेडर फाइलें (<some-header> .h) सीधे उत्पाद या उपफोल्डर में मिलती हैं, तो एक्सकोड पर जाएं और उस शीर्षलेख वाले प्रोजेक्ट का चयन करें। आपको हेडर फ़ाइल नामों में प्रयुक्त उपसर्ग के आधार पर प्रोजेक्ट ढूंढने में सक्षम होना चाहिए। उस प्रोजेक्ट में, बिल्ड चरणों पर जाएं, और कॉपी हेडर अनुभाग में, सभी शीर्षलेखों को सार्वजनिक और निजी अनुभागों से परियोजना अनुभाग में ले जाएं।

करने के लिए धन्यवाद यह जवाब तथा यह जवाब तथा यह जवाब इसे हल करने में मेरी मदद करने के लिए।


9
2017-12-28 21:39



"उस परियोजना में, बिल्ड चरणों पर जाएं, और कॉपी हेडर अनुभाग में, सभी शीर्षलेखों को सार्वजनिक और निजी अनुभागों से परियोजना अनुभाग में ले जाएं।" <- यह काम करता है! धन्यवाद! - Hlung
बहुत बहुत धन्यवाद.... - IKKA


यहां दो अन्य युक्तियां दी गई हैं जिन्हें हमने इस समस्या के साथ उपयोगी पाया ... जवाब नहीं, लेकिन वे किसी और को बचा सकते हैं जो लगभग 8 /

यदि आप स्थिर libs का उपयोग कर रहे हैं जो xcode4 द्वारा नहीं बनाए जा रहे हैं तो "तैनाती-> इंस्टॉल छोड़ें" वर्कअराउंड उनके लिए काम नहीं करेगा। इसके लिए काम उन्हें परियोजना में शामिल नहीं करना है और यह सुनिश्चित करना है कि उनके पथ हेडर में हैं और / या अपनी बिल्ड सेटिंग्स में लाइब्रेरी खोज पथ प्लस -ब्लब्ला प्रविष्टियां लिंकर ध्वज में जोड़ दी गई हैं।

साथ ही, यदि आपके पास लक्ष्य निर्भरता के रूप में एक स्थिर lib सेट है (उदाहरण के लिए हमने libjson.a को इस के रूप में सेट किया था और मुझे पूरा यकीन है कि यह करने के लिए सही / तार्किक बात है) तो आप बस .ipa बनाने में सक्षम नहीं होंगे। कोई बात नहीं क्या। हमने इस बेवकूफ समस्या के साथ पूरे दिन नृत्य करने से अधिक समय बिताया और अंत में इसे हल करने के लिए इसे हटा दिया। व्यक्तिगत रूप से मुझे लगता है कि यह वास्तव में एक टूटी हुई परियोजना को छोड़ देना चाहिए ... लेकिन यह इतना काम करता है।


5
2018-03-29 08:25



धन्यवाद, यह मेरे लिए भी काम किया। "इंस्टॉल छोड़ें" का कोई असर नहीं पड़ा, और आखिरकार मेरे प्रोजेक्ट के लक्ष्य से लीब की परियोजना / लक्ष्य निर्भरता को हटा देना समाधान था (और इसके बजाय मैंने प्रोजेक्ट के लिंक किए गए पुस्तकालयों में ".a" फ़ाइल को जोड़ा, + हेडर फ़ाइलों से लिंक रखा ) - André Morujão


यह पता लगाने के लिए कि कौन सा प्रोजेक्ट / लाइब्रेरी / घटक जो एक्सकोड को उचित संग्रह करने से रोक रहा है, ऐसा करें:

ऑर्गनाइज़र में संग्रह ढूंढें, राइट-क्लिक करें और खोजक में दिखाएं। यह एक .xcarchive फ़ाइल दिखाएगा। राइट-क्लिक करें और पैकेज सामग्री दिखाएं। अब उत्पाद फ़ोल्डर में देखें। सबसे अधिक संभावना है कि एक आईफोन एप्लिकेशन के अंदर केवल एक एप्लिकेशन फ़ोल्डर से अधिक होगा।

मेरे मामले में libOAuthConsumer_iPhone.a युक्त एक usr / local / lib फ़ोल्डर संरचना थी और जब मैंने एक्सकोड में इसकी खोज की, तो मुझे वास्तव में एक और प्रोजेक्ट मिला जहां मैंने सेट को सेट नहीं किया था। यह सभी के लिए इतना आसान नहीं हो सकता है लेकिन पैकेज के अंदर देखकर कम से कम आपको एक सूचक बता देना चाहिए कि कौन सा घटक संग्रह प्रक्रिया को गड़बड़ कर रहा है।


3
2017-12-06 08:03





छोड़ें इंस्टॉल मेरे लिए काम नहीं किया। मैंने इस समस्या को हल करने के लिए सभी हेडर को परियोजना के रूप में चिह्नित किया। मैं वर्तमान में एक स्थिर lib और एक आईपैड proj के साथ एक कार्यक्षेत्र में काम कर रहा हूँ। ऐसा लगता है कि जब भी आप एक लिंक किए गए प्रोजेक्ट के साथ अपना उत्पाद बनाना चाहते हैं तो एक्सकोड के साथ एक बग या कुछ है, एक्सकोड दोनों बनाता है और ऑर्गनाइज़र आईपीए साझा करने का विकल्प नहीं दिखाता है।


1
2017-11-24 19:18





ये xcode 4.2 में उपरोक्त समस्या को हल करने के लिए चरण हैं

1: जोड़े गए सभी तीसरे भाग पुस्तकालयों के लिए YES को "इंस्टॉल करने के लिए छोड़ें"। अपनी परियोजना के लिए "इंस्टॉल करने के लिए छोड़ें"। आप बिल्ड सेटिंग्स से "इंस्टॉल करने के लिए छोड़ें" तक पहुंच सकते हैं।

2: बाएं नेविगेटर फलक से अपने तीसरे पक्ष लाइब्रेरी हेडर का चयन करें।

2.1: दाईं तरफ Utililtes फलक है। इसे देखें और छुपाएं -> उपयोगिताओं-> उपयोगिताओं को दिखाएं / छुपाएं (कमांड-विकल्प -0) या टूलबार में दृश्य सेगमेंट नियंत्रण में तीसरे बटन के साथ

2.2: फ़ाइल इंस्पेक्टर का चयन करें (कमांड-विकल्प -1)

2.3 लक्षित सदस्यता चुनें और सार्वजनिक या निजी से 'परियोजना' में विकल्प बदलें


1
2018-04-13 07:41