2012-08-29 10 views
38

के लिए संग्रहीत करते समय नहीं मिली जब मैं वर्तमान में एक्सकोड में आईओएस ऐप विकसित करने के लिए फोनगैप 2.0 का उपयोग कर रहा हूं। ऐप एमुलेटर में और परीक्षण उपकरणों पर भी ठीक बनाता है और चलाता है।फ़ोनगैप CDVViewController.h फ़ाइल आईओएस

समस्या तब प्रकट होती है जब मैं वितरण के लिए ऐप संग्रहित करने का प्रयास करता हूं। संग्रह निम्न संदेश के साथ विफल रहता है:

CDVViewController.h फ़ाइल नहीं मिली।

कोई विचार?

उत्तर

154

Xcode 6.x

को $(OBJROOT)/UninstalledProducts/include जोड़ने BuildSettings-> शीर्षक खोजें पथ

Xcode 7.x

BuildSettings-> शीर्षक खोजें पथ तक $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include जोड़ने

1. <multiple values> पर डबल क्लिक करें और आप इसे

में जोड़ सकते हैं

2.Change $(OBJROOT)/UninstalledProducts/include$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include को

enter image description here

+1

मेरे लिए काम नहीं है। –

+0

@TiagoAmaral शायद मेरा समाधान आज़माएं: http://stackoverflow.com/a/35743530/758862 – Jochen

2

मुझे एक ही समस्या का सामना करना पड़ रहा था। मुझे विश्वास है कि इसे पेश किया जा सकता है क्योंकि मैंने इसे कॉर्डोवा के उपकरणों के साथ बनाए जाने के बाद एक्सकोड प्रोजेक्ट का स्थान ले जाया था। या, यह भी संभव हो सकता है कि मैंने कॉर्डोवा आईओएस टूलसेट को सही तरीके से सेटअप नहीं किया - शायद मैंने इंस्टॉलर पैकेज नहीं चलाया (मैंने इस मशीन को दो बार पुनर्निर्मित किया है)। साथ ही, Google के साथ मिले सभी संबंधित उत्तरों ने सुझाव दिया कि मुझे कुछ कॉर्डोवा के कोर क्लास को बदलने की ज़रूरत है - जिसे मैं करने के लिए तैयार नहीं था।

मेरा समाधान कॉर्डोवा create कमांड का उपयोग पूरी तरह से नया एक्सकोड प्रोजेक्ट बनाने के लिए किया गया था। मैंने अपनी प्रोजेक्ट की www निर्देशिका को नई प्रोजेक्ट में कॉपी किया और फिर मूल प्रोजेक्ट की सेटिंग्स से मेल खाने के लिए नई प्रोजेक्ट को फिर से कॉन्फ़िगर करने के बारे में बताया।

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

+1

मैं ऐसा करने से बचने की कोशिश कर रहा था। यही वही है जो मैंने किया और यह काम किया। जवाब देने में व़क्त लेने के लिए शुक्रिया। – Reinaldo

10

इसे ठीक करने प्रबंधित।

ये मेरी लक्ष्य सेटिंग्स के निर्माण की स्थापना में "हैडर खोजें पथ" से लापता गया:

(31 से Stepts) Cordova आईओएस अपग्रेड करना http://docs.phonegap.com/en/2.0.0/guide_upgrading_ios_index.md.html#Upgrading%20Cordova%20iOS

:

"$(TARGET_BUILD_DIR)/usr/local/lib/include" 
"$(OBJROOT)/UninstalledProducts/include" 
"$(BUILT_PRODUCTS_DIR)" 

समाधान प्रपत्र कई स्रोतों जाओ

बग रिपोर्ट groups.google.com/forum/?fromgroups=# पर https://issues.apache.org/jira/browse/CB-1122

चर्चा! विषय/फोनगैप/आईसीआर 8-ijrUfk

groups.google.com/forum/?fromgroups=# पर चर्चा!विषय/फोनगैप/PzqZEm8QKmc

1

मेरी परियोजना को किसी अन्य फ़ोल्डर में कॉपी करते समय मुझे एक ही समस्या का सामना करना पड़ रहा था। मैं फोनगैप 2.0.0 का उपयोग कर रहा हूं। सफलता के बिना कई समाधानों का प्रयास करने के बाद, मैंने उत्पाद-> साफ किया और सब ठीक से काम किया। मुझसे मत पूछें क्यों, लेकिन इस पथ ने पहले से ही कई छोटे ग्लिच हल किए हैं जिन्हें मुझे सौदा करना था, यानी स्प्लैश और आइकन फ़ाइलों को बदलना, जिन्हें डिवाइस पर अपडेट नहीं किया गया था। इस सहायता की आशा करें।

1

जैसा कि कभी-कभी मामला होता है, एक स्वीकृत समाधान सभी को समान लेकिन शायद असंबंधित समस्या से मदद नहीं कर सकता है।

मेरा अवलोकन समान था (CDVViewController.h नहीं मिला)। सबसे पहले यह सुनिश्चित करें कि ऊपर वर्णित अनुसार TARGET सेटिंग्स में "शीर्षलेख खोज पथ" शामिल हैं।

तो क्या मेरे लिए काम किया के लिए इस लिंक का पालन करें: http://outof.me/embedding-cordovalib-in-your-iosphonegap-app-project/

अनिवार्य रूप से मैं एक लक्ष्य निर्भरता के रूप में फिर से लिंक कॉर्डोबा और फिर मेरी पुस्तकालयों के लिए यह लिंक करने के लिए की जरूरत है। "" _ALAssetPropertyDate ", से संदर्भित:

उसके बाद, आप कॉर्डोबा 2.5.0 के लिए चले हैं, तो आप की संभावना एक मुद्दा है कि कुछ इसी तरह बाहर थूक यह करने के लिए में चला जाएगा

___23-[CDVFile getMetadata:]_block_invoke in libCordova.a(CDVFile.o) 

    ___27-[CDVFile getFileMetadata:]_block_invoke in libCordova.a(CDVFile.o) 

" _OBJC_CLASS _ $ _ ALAssetsLibrary ", से संदर्भित:

objc-class-ref in libCordova.a(CDVFile.o) 

    objc-class-ref in libCordova.a(CDVFileTransfer.o) 

    objc-class-ref in libCordova.a(CDVURLProtocol.o) 

"

तो ओएस, AssetLibrary ढांचा जोड़ सकते हैं और कुछ शांति है।

+1

यह उल्लेख करने के लिए धन्यवाद कि यह TARGET सेटिंग्स में "हेडर सर्च पथ" है, प्रोजेक्ट नहीं। – Dunc

0

आपको अपने कॉर्डोवालिब उप-प्रोजेक्ट संदर्भ को अपडेट करने की आवश्यकता हो सकती है।

लॉन्च टर्मिनल उस स्थान पर जाएं जहां आपने बिन उप-फ़ोल्डर में कॉर्डोवा स्थापित किया था। उदाहरण के लिए, /Users/Shared/Cordova/phonegap-2.2.0/lib/ios/bin

नीचे जहां पहले पैरामीटर अपने प्रोजेक्ट की .xcodeproj फ़ाइल का पथ है कमांड चलाएं:

./update_cordova_subproject /path/to/your/project 
33

पर Xcode 7.1, आप $(OBJROOT)/UninstalledProducts/include से header search paths क्षेत्र को अद्यतन करने की आवश्यकता होगी $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

को आप पा सकते हैं header search pathsतहत build settings ->search paths

+0

धन्यवाद, अच्छी तरह से काम करता है – rcorrie

+0

धन्यवाद आदमी। यह वास्तव में काम किया! –

6

भविष्य रेफरी के लिए:

मैं सिर्फ खुद के लिए इस सटीक समस्या तय।

यदि आप कॉर्डोवा क्ली का उपयोग कर रहे हैं, और अपनी config.xml अपडेट किया गया है, तो आप केवल प्लेटफॉर्म के रूप में आईओएस को हटा सकते हैं और इसे वापस जोड़ सकते हैं। फिर एक्सकोड से फिर से संग्रह करें।

cordova platform remove ios 
cordova platform add ios 
पूरी तरह से "सेटिंग बनाएँ" काम में "खोज पथ" खंड को यह जोड़ना

आशा है कि मदद करता है, मेरे लिए पूरी तरह से काम किया,

+1

मैं पुष्टि करता हूं कि यह मेरे लिए किया था। केवल मैंने इसे सीधे कॉर्डोवा का उपयोग नहीं किया लेकिन मेटियर के माध्यम से: 'उल्का हटाने-प्लेटफ़ॉर्म आईओएस' और फिर 'उल्का एड-प्लेटफ़ॉर्म आईओएस' –

+0

मैं अपने फोनगैप ऐप को विकसित करने के लिए एक्सकोड का उपयोग नहीं करता, यह मेरे लिए काम करता है! – Eknoes

0

Xcode 7,2

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include 

जरूरतों हैडर खोज डिबग के लिए और जारी करने के लिए पथ में रखा जाना करने के लिए एक छोटे से अलग है।

Header search paths have a debug and release sub field

संबंधित मुद्दे