iOS - बिल्ड विफल रहता है CocoaPods के साथ हेडर फाइलें नहीं मिल पाती हैं


190

मेरे पास कोकोपोड्स का उपयोग करके एक आईओएस परियोजना है। जब तक कोई अन्य डेवलपर उसी प्रोजेक्ट पर काम करना शुरू नहीं करता, तब तक सब कुछ सुचारू रूप से काम कर रहा था। उन्होंने कुछ बदलाव किए (केवल जहाँ तक मुझे पता है, कोड करने के लिए) और रेपो में एक नई शाखा बनाई। मैंने उसकी शाखा की जाँच की है और इसे बनाने की कोशिश की है, लेकिन मुझे एक त्रुटि मिल रही है: ASLogger / ASLogger.h फ़ाइल मिली।

यहां तक ​​कि अगर मैं पूरी परियोजना को हटा देता हूं और एक नई प्रतिलिपि बनाता हूं और 'पॉड्स इंस्टॉल' का उपयोग करता हूं। निर्माण विफलता अभी भी है। क्या आपके पास कोई विचार है जहां समस्या हो सकती है? यदि आपको कुछ और infos की आवश्यकता है, तो बस पूछें।


3
डबल उद्धरण शैली का उपयोग करने के बजाय, #import "ASLogger.h" मैंने यह कोशिश की, #import <ASLogger.h> और इसने मेरे लिए काम किया :)
Baig

2
FYI करें: बेग्स सरल उत्तर ने हेडर नहीं ढूंढने के साथ मेरे मुद्दे को हल किया।
पेड्रिपिनपीस

जवाबों:


205

अपडेट करें

सुनिश्चित करें कि आपके पास एक कॉन्फ़िग फ़ाइल गुम लक्ष्य पर Podfileशामिल है link_with। कोकोपोड केवल डिफ़ॉल्ट रूप से पहला लक्ष्य निर्धारित करता है अन्यथा। जैसे

platform :osx, '10.7'
pod 'JSONKit',       '~> 1.4'

link_with 'Pomo', 'Pomo Dev', 'Pomo Tests'

------ एंड अपडेट


नोट: कृपया ध्यान दें कि आपको प्रोजेक्ट में देखना है-> जानकारी-> नीचे दिए चरणों के लिए कॉन्फ़िगरेशन।


मेरे पास समान लक्षण थे और पाया गया कि मैं pods.xcconfigजिस विशिष्ट targetनिर्माण की कोशिश कर रहा था , उसमें फ़ाइल शामिल नहीं थी। कुछ अन्य सुझाए गए समाधानों ने मेरे लिए काम किया, लेकिन यह एक अंतर्निहित मुद्दे का हिस्सा था।

Pods.xcconfig काम नहीं कर रहा है

सरल समाधान उन लक्ष्यों के लिए कॉन्फ़िगरेशन फ़ाइल को बदलना था जिनके पास एक सेट नहीं था।

Pods.xcconfig काम कर रहा है


4
मेरे लिए, '' पॉड्स इन्स्टॉल '' ने इसे पहले लक्ष्य पर रखा। इस उत्तर में सुझाए अनुसार करने से मेरी समस्या हल हो गई।
ट्राय

1
अंत में एक समाधान: पॉड्स को केवल पहले लक्ष्य में जोड़ा गया, न कि विभिन्न परीक्षण रिलीज़ लक्ष्यों (अल्फा, बीटा, रिलीज़ उम्मीदवार) के लिए! बहुत बहुत धन्यवाद!
जोम

का उपयोग करते हुए link_withअपने अन्य लक्ष्य मेरे लिए काम किया निर्दिष्ट करने के लिए। बहुत धन्यवाद। मैंने अभी इस पर कई घंटे बिताए हैं।
डायलन हैंड

यह मेरे लिए काम किया! मैंने एक मौजूदा प्रोजेक्ट का क्लोन बनाया, और फिर पॉड्स को अपडेट किया। इसलिए मैं अनुमान लगा रहा हूं कि पॉड्स को अपडेट करने से कुछ सेटिंग्स फ़्लिप हो गईं, या प्रीविओस देव xcode 5 या कुछ का उपयोग कर रहे थे (मैं xcode 6 पर हूं), धन्यवाद !!!
ग्रीनहाउस

4
link_withCocoapods 1.0 या उच्चतर में असमर्थित है।
Vive

90

अपडेट करें

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

यदि हेडर आयात नहीं किए जा रहे हैं, तो संभवत: आपका इसमें विरोध है HEADER_SEARCH_PATHS। कोशिश करें और $(inherited)अपनी बिल्ड सेटिंग्स में हेडर सर्च पथों को जोड़ें , यह सुनिश्चित करने के लिए कि यह आपके कोकोआकोड से .xcconfig फ़ाइल में शामिल किसी भी खोज पथ में खींचता है।

यह किसी भी टकराव के साथ मदद करनी चाहिए और अपने स्रोत को सही ढंग से आयात करना चाहिए।


2
मुझे समस्या का सामना करना पड़ा था: ऐप में पॉड फ़ाइलों का पता नहीं चल रहा था और 'svn बाधित फ़ोल्डर की समस्या' जो तब होती है जब आप .svn उपनिर्देशिकाएँ ले जाते हैं या ले जाते हैं: समाधान: निम्न चरणों का पालन करके: 1. केवल ऐप से CocoaPods की स्थापना करें। xcodeproj फ़ाइल मौजूद है (संदर्भित: stackoverflow.com/questions/16427421/… ) 2. फिर से पॉडफ़िल किया गया (संदर्भित: raywenderlich.com/12139/introduction-to-cocoapods ) 3. $ (इनहेरिट की गई) ध्वज को लक्ष्य में जोड़ा गया 'HEADER_SEARCH_PATHS' और। ऐप का 'OTHER_LDFLAGS'।
अल्फोंस आर। डिसूजा

1
आपको अपनी FRAMEWORK_SEARCH_PATHS सेटिंग में $ (विरासत में मिली) भी जोड़ना पड़ सकता है।
जॉर्ज

1
@ AlphonseR.Dsouza आपके समाधान ने मेरे लिए काम किया - $ जोड़ा (विरासत में) OTHER_LDFLAGS को एक लाख धन्यवाद!
निक्का कासराडेज़

3
$ (विरासत में) परियोजना सेटिंग्स या लक्ष्य सेटिंग्स में जोड़ा जाना चाहिए?
स्केिरेट

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

78

1.Check

बिल्ड सेटिंग -> सर्च पाथ -> यूजर हैडर सर्च पाथ ->

  • "$ {PODS_ROOT} /" पुनरावर्ती

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

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

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

2. आयात आयात शैली (प्रमुख बिंदु), अगर आपके podfileसेट है

use_frameworks!

आप में File-Bridging-Header.h, फ़ॉर्मेटर को ऐसा होना चाहिए

#import "MBProgressHUD.h"

और नीचे होना चाहिए

#import <MBProgressHUD.h>

3. क्या काम होना चाहिए! मुझ पर विश्वास करो


1
अधिकांश त्रुटियां गायब हो जाती हैं। हालाँकि, जब एक निर्भरता में आयात विवरण होता है, तो मैं क्या करूँगा: #import <EARestrictedScrollView / EARestrictedScrollView.h>। तब कंपाइलर मुझे इसके बजाय #import EARestrictedScrollView.h लिखने के लिए कहता है। लेकिन मैं अपनी फली को संशोधित नहीं कर सकता।
प्रोडक्शनकोड

62

हैडर फाइलें, तुम मेरी मौत बनोगे ...

अंत में इसे जोड़कर काम करने के लिए मिला (उद्धरण सहित)

"${PODS_ROOT}/BuildHeaders"

उपयोगकर्ता हैडर खोज पथ प्रविष्टि के लिए, और 'पुनरावर्ती' की जाँच कर रहा है।


6
ध्यान दें कि यहां उद्धरण बहुत महत्वपूर्ण हैं। उनके बिना, मैं यह काम करने के लिए नहीं मिल सका।
दिसदेव

5
+1 मैं पहले से ही $(inherited)काम नहीं कर रहा था) लेकिन इसे जोड़ना मेरे लिए काम कर गया।
इवासोबेड

जो कहना चाह रहे थे वह नहीं मिला। : / क्या आप विस्तृत हैं?
रोहन-पटेल

कार्यक्षेत्र और फली निर्देशिका और फली स्थापित करने के लिए एक और आसान ट्रिक है। यह आमतौर पर एक अधिक संपूर्ण समाधान है।
एवेरदेव

1
यह अंत में सभी हेडर फ़ाइल आयात को सही ढंग से खोजने के लिए AppCode में मदद करता है। इसके बिना, यह xCode में काम करता था, लेकिन AppCode में नहीं। धन्यवाद!
सरसोंज

52

मैंने पाया ${PODS_HEADERS_SEARCH_PATHS}कि यह गायब है और यह मेरी विकसित गिट शाखा में परिभाषित नहीं है, इसलिए मैंने "$(SRCROOT)/Pods/Headers/"पुनरावर्ती के साथ हैडर खोज पथ के लिए जोड़ा

यह मेरे लिए ठीक है


यह मेरे लिए जवाब था, मैंने कोकोपोड्स को अपडेट किया और मुझे लगता है कि इससे PODS_HEADERS_SEARCH_PATHS चला गया। मेरा समाधान इसके समान था, लेकिन मैंने "$ (PODS_ROOT) / हेडर्स" का इस्तेमाल किया
एंड्रयू

अन्य जवाब मेरे लिए काम नहीं करते थे, लेकिन यह एक ने किया। मैं ध्यान देता हूं कि मैंने इसे शामिल नहीं किया है ", इसलिए मेरा हेडर खोज पथ इस तरह दिखता है$(SRCROOT)/Pods/Headers
ब्लेकडेलन

@ हेलंग हाय, मुझे $ (SRCROOT) / पॉड्स / हेडर्स / को कहां जोड़ना है? इसकी प्रशंसा करें
VAAA

1
@VAAA टारगेट> बिल्ड सेटिंग्स> हैडर सर्च पाथ
Hlung

मुझे लगता है कि यह सही उत्तर है जिसे स्वीकार किया जाना चाहिए, आपको क्या लगता है @Filip Majernik
रतुल शार्कर

35

दोनों अन्य जवाबों ने यहां मदद नहीं की। मुझे 2 अन्य समस्याएं मिलीं जो इसे ठीक कर सकती हैं:

संपादित करें आप इस तरह से एक सिमलिंक की जांच कर सकते हैं: एक एक्सटेंशन के बिना 'चेक' नामक एक टेक्स्टफाइल बनाएं। इन पंक्तियों को इसमें कॉपी करें:

file=/Users/youUserName/XcodeProjectName/Pods/BuildHeaders/SVProgressHUD/SVProgressHUD.h
if [[ ! -e $file &&  -L $file ]]; then
  echo "$file symlink is  broken!"
else
  echo "symlink works"
fi

फिर टर्मिनल पर जाएं, उस फ़ोल्डर में बदलें जहां आपकी चेक फ़ाइल स्थित है और टाइप करें

bash check

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

मुझे विन्यास में 'पॉड्स' दिखाई नहीं दे रहे हैं .. इसका मतलब यह है कि मेरा सिम्बल टूट गया है?
एडम्सकी

35

यहाँ मेरे लिए क्या काम किया गया है:

लक्ष्य> "सेटिंग बनाएँ" टैब पर जाएं और "उपयोगकर्ता हैडर खोज पथ" सेटिंग खोजें।

इसे "$ (BUILT_PRODUCT_DIR)" पर सेट करें और "पुनरावर्ती" चेक बॉक्स की जाँच करें।

अब निर्मित लक्ष्य लिंक करने योग्य हेडर फ़ाइलों का पता लगाने के लिए कार्यक्षेत्र की साझा बिल्ड निर्देशिका को खोजेगा।

====

अपडेट करें

मुझे हाल ही में एक समान (हालांकि थोड़ा अलग) समस्या थी। यह पता चला कि Xcode पॉड्स नहीं ढूंढ सका क्योंकि मैंने .xcodeprojफ़ाइल के बजाय फ़ाइल खोल दी थी .xcworkspace। भविष्य में दूसरों की मदद कर सकते हैं।


1
यह मेरे लिए काम करता है, लेकिन केवल Xcode छोड़ने, दौड़ने pod installऔर फिर से खोलने के बाद।
केन एम। हाग्गर्ति

@ क्या लक्ष्य? फली लक्ष्य या मुख्य परियोजना लक्ष्य?
VAAA

19

यदि उपरोक्त में से कोई भी आपके लिए काम नहीं करता है और आप इस त्रुटि को पा रहे हैं क्योंकि आपने अभी use_frameworks!अपने पॉडफाइल में स्विच किया है, तो पढ़ें:

मैंने ऊपर दिए गए सभी समाधानों को सीखने की कोशिश की और यह जानने से पहले कि यह मेरे विशेष मामले में खोज शीर्ष लेख पथ के बारे में नहीं है; यह है कि जब आप use_frameworks!अपने पॉडफाइल में स्विच करते हैं, तो आपको अपने ब्रिजिंग हेडर में फ्रेमवर्क को शामिल करने की आवश्यकता नहीं होती है, और वास्तव में एक्सकोड बहुत ही बेकार "हेडर खोजने में असमर्थ" त्रुटि को फेंक देगा।

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

और आप अपने Obj सी कक्षाओं में ढांचे हेडर के किसी भी उपयोग कर रहे हैं (मेरे मामले में हम एक सुविधा वर्ग कि FBSDK इस्तेमाल किया है) आप (इस का मतलब बदल वैश्विक आयात करने के लिए एक स्थानीय से उसे बदलना चाहते हैं #import "Module.h"के लिए #import <Module/Module.h>है, जो स्वत: पूर्ण कर देना चाहिए आपके लिए जब आप फ्रेमवर्क नाम लिखना शुरू करते हैं। मेरे मामले में यह था <AFNetworking/AFHTTPRequestOperationManager.h>)।

संपादित करें: मैंने तब से सीखा है कि @import Moduleछाता फ़ाइल का उपयोग करना जो कि अधिक सुरक्षित है।


16

क्या आपने कोकोपोड्स शैली आयात करने की कोशिश की?

#import <ASLogger.h>

साइट पर जानकारी वास्तव में स्पष्ट नहीं है, मैंने एक पुल अनुरोध प्रस्तुत किया है:

https://github.com/CocoaPods/cocoapods.org/pull/34

अद्यतन: उन्होंने मेरा अनुरोध खींच लिया :)


दोहरे उद्धरण शैली का उपयोग करने के बजाय, #import "ASLogger.h" मैंने इसे आज़माया, #import <ASLogger.h> और इसने मेरे लिए काम किया :)
Baig

मैंने पहले भी यह कोशिश की है और यह मेरे लिए काम कर रहा है, लेकिन कभी-कभी एक अलग समस्या तब होती है जब यह काम नहीं करता है। आप कम से कम कुछ स्थितियों में <Podname / Filename.h> प्रारूप का भी उपयोग कर सकते हैं।
फन

हाँ यह मेरे लिए भी काम कर गया! व्युत्पन्न डेटा को साफ करने और हटाने की किसी भी राशि ने इसे हल नहीं किया, लेकिन इसने काम किया।
पोस्टकोडिज़्म

10

विकि कैसे इस समस्या को हल करने के लिए पर एक सलाह देता है:

यदि Xcode निर्भरता के शीर्षकों को नहीं पा सकता है:

जांचें कि क्या पॉड हेडर फाइल पॉड्स / हेडर्स में सही ढंग से सिम्प्लाइड हैं और आप HEADER_SEARCH_PATHS (# 1 देखें) को ओवरराइड नहीं कर रहे हैं। अगर Xcode अभी भी उन्हें नहीं मिल रहा है, तो अंतिम उपाय के रूप में आप अपने आयात को रोक सकते हैं, जैसे #import "Pods / SSZipArchive.h"।


14
क्या कोई यह बता सकता है कि "पॉड हेडर फाइल को पॉड्स / हेडर्स में सही ढंग से सिमिलर किया गया है या नहीं" कैसे जांचें?
डेव कॉलिन्स

कृपया मेरे उत्तर को ऊपर देखें कि किस तरह एक सिमलिंक की जाँच करें
दिमागी

कृपया विन्यास आयात के बारे में ब्रेनरे का उत्तर देखें इससे पहले कि आप अपने आयात विवरणों को जोड़ लें।
रोज

हां, कुछ पॉड्स एक अवैध डायरेक्टरी को लिंक कर रहे हैं, जैसे $(PROJECT_DIR)/Pods/Headers/Public/xxx/ios/xxx.h, iosफोल्डर का एक अतिरिक्त है ...
डोंग मा

9

मैं टीम में एकमात्र डेवलपर था जो इस मुद्दे का सामना कर रहा था, इसने हर किसी के लिए पूरी तरह से काम किया इसलिए मुझे एहसास हुआ कि यह मेरा वातावरण होना चाहिए। मैंने git cloneउसी परियोजना की एक और निर्देशिका में कोशिश की और इसे पूरी तरह से संकलित किया, तब मुझे एहसास हुआ कि इसे कहीं न कहीं मेरे प्रोजेक्ट पथ के लिए Xcode कैशिंग सामान होना चाहिए, "कहीं न कहीं" यह DerivedData फ़ोल्डर है, बस इसे हटा दें और अपना एक स्वच्छ निर्माण करें परियोजना, यह मेरे लिए काम किया।

आप पा सकते हैं और यहां तक ​​कि खोजक में फ़ोल्डर खोलें:

Xcode -> प्राथमिकताएं -> स्थान -> ** DerivedData


1
मेरे मामले में फली को अद्यतन करने के बाद समस्या दिखाई दी, इसलिए मैंने सोचा कि कोकोपोड्स में समस्या की खोज करनी चाहिए। मैंने बिना किसी भाग्य के यहाँ सभी समाधानों की कोशिश की है और अंत में बस DerivedData को मंजूरी दे दी है - और इससे मदद मिली! धन्यवाद
Varrry

3

मैं अपनी बिल्ड सेटिंग्स में नीचे दी गई चीजों को अपडेट करूंगा और मुझे कोई त्रुटि नहीं मिली। अपने कोकोपॉड्स को अपडेट करते समय इन चीजों की जांच करें।

सेटिंग्स बनाएँ

बिट कोड सक्षम करें - हाँ (यदि आप बिटकोड का उपयोग कर रहे हैं)

मैक्रो प्रीप्रोसेसर - $ (विरासत में मिला)

अन्य लिंकर ध्वज - objc; -lc ++, $ (विरासत में मिला)

केवल वास्तुकला का निर्माण करें

डिबग - हाँ

Relese - नहीं

खोज पथ

फ्रेमवर्क खोज पथ - $ (विरासत में मिला) $ (PROJECT_DIR)

पुस्तकालय खोज पथ - $ (विरासत में मिला)

हैडर खोज पथ - $ (विरासत में मिला)


2

यदि आपके पास " पॉड इंस्टॉल " या " पॉड अपडेट " के बाद भवन की त्रुटियां थीं , तो हो सकता है कि आपका कोई पॉड XCode 6.3 के साथ बनाया गया हो, जब आप अभी भी पिछले संस्करण का उपयोग कर रहे हों।

मेरे मामले में मुझे अपने OSX को Mavericks से Yosemite में Xcode 6.3 करने और समस्या को हल करने के लिए अपडेट करना पड़ा


हाय @omaty, यह एकमात्र समाधान है? मैं वर्तमान में Xcode 6.2 के साथ Mavericks पर चल रहा हूं
goelv

1
हैलो @goelv मेरे मामले में यह एकमात्र समाधान था जो मैंने पाया। मैं Mavericks और Xcode 6.2 के तहत आप की तरह था।
ओमाटी

मुझे लगता है कि मेरे पास भी यही मुद्दा है। मेरे टीममेट के पास योसेमाइट में Xcode 6.3 है और यह उसके लिए ठीक काम करता है, जबकि मैं Xcode 6.2 में Mavericks में नहीं मिला हेडर से छुटकारा पाने के लिए संघर्ष कर रहा हूं।
सागर एस। कदूककुन्नन

1
अनुवर्ती: मैंने मशीन को योसेमाइट और Xcode 6.3.1 में अपग्रेड किया, मैं अब बिना किसी मुद्दे के निर्माण में सक्षम हूं।
सागर एस। कडुक्कुनन

1

मेरे लिए समस्या अन्य लिंकर झंडे मूल्य में थी। किसी कारण से मुझे झंडे में कोई उद्धरण नहीं मिला -l"xml2" -l"Pods-MBProgressHUD"


मुझे स्थानीय लोगों के कोकोपॉड से समस्या थी। के तहत Other Linker Flagsमुझे दो प्रविष्टियाँ मिलीं: -|Localyticsऔर |-PodsLocalytics। मैंने उन लोगों को हटा दिया और फिर संकलन करने में सक्षम था।
क्रिस

1

मुझे जीआईटी हब से जिप डाउनलोड करना था और पोड / ... में गुम रास्तों को फाइंडर में संगत रास्तों पर घसीटना था।


1

मेरे लिए जो काम किया, वह पॉड्स प्रोजेक्ट का चयन करना था, पॉड प्रोजेक्ट की टार्गेट डाइरेक्टरी में गायब हेडर के साथ टार्गेट फ्रेमवर्क को चुनना और चुनना और टार्गेट बिल्ड बिल्ड में "आर्किटेक्चर" के अंतर्गत "नो एक्टिव" को "नो आर्किटेक्चर" बनाना।


1

मैं एक ही समस्या है, लेकिन उपरोक्त समाधान काम नहीं कर सकता। मैंने ऐसा करके इसे ठीक किया है:

  1. पूरी परियोजना को हटा दें
  2. प्रोजेक्ट क्लोन क्लोन चलाएं और बंडल एक्ज़ीक्यूट पॉड इंस्टॉल चलाएँ
  3. pioject cd और रिमोट रन अपस्ट्रीम अपना रिमोट-रेप-ऐड जोड़ें
  4. गिट अपस्ट्रीम
  5. गिट चेकआउट मास्टर
  6. git मर्ज अपस्ट्रीम / मास्टर

और फिर यह काम करता है।


1

मेरे लिए, मेरे पॉड्स प्रोजेक्ट के लिए आईओएस परिनियोजन लक्ष्य क्या था, यह मेरी परियोजना से कम था। एक बार जब मैंने इसे अपने प्रोजेक्ट के रूप में बनाया तो यह हेडर फ़ाइल खोजने में सक्षम था।


भाई! आप 1000 upvotes के लायक हैं। मैं 4 घंटे के लिए इस के साथ फंस गया था और आपके समाधान ने मेरी मदद की। बहुत बहुत धन्यवाद भाई बहुत बहुत!
warzone_fz

0

मैं Xcode 5.0 के जीएम बीज पर था और मुझे इनमें से कोई भी जवाब नहीं मिला। मैंने हेडर आयात w / cocoapods के बारे में कई अलग-अलग सवालों पर SO पर हर एक उत्तर की कोशिश की।

अंतिम रूप से मुझे एक समाधान मिला जो मेरे लिए काम कर रहा था : मैंने मैक एपस्टोर (जीएम बीज के शीर्ष पर स्थापित) के माध्यम से एक्सकोड 5.0 में अपग्रेड किया और अब हेडर आयात उम्मीद के मुताबिक काम कर रहे हैं।

मेरे पास अभी भी अपने सिस्टम पर Xcode 5 का बीटा संस्करण है और मैंने इसे भी हटा दिया है। शायद यह दो चीजों का एक संयोजन था, लेकिन उम्मीद है कि यह किसी और की मदद करता है।


0

यह मेरे लिए जवाब था, मैंने कोकोपोड्स को अपडेट किया और मुझे लगता है कि इससे PODS_HEADERS_SEARCH_PATHS चला गया। मेरा समाधान इसके समान था लेकिन मैंने "$ (PODS_ROOT) / हेडर्स" का उपयोग किया - एंड्रयू ऐटन

इस उत्तर के लिए बहुत बहुत धन्यवाद। मुझे अपनी समस्या को ठीक करने के तरीकों की तलाश में एक कठिन समय था। आपका बहुत बहुत धन्यवाद।


0

उत्तरों में से किसी ने भी मेरी मदद नहीं की (मुझे मेरे पॉड्स सभी लक्ष्यों से जुड़े हुए थे, कॉन्फ़िगरेशन सेटअप को ठीक से बनाने के लिए, correclty सेट खोज पथ "$ (विरासत में मिला"), आदि ...)।

मानक स्थापित / अद्यतन कमांड का उपयोग करके नवीनतम, डीबग संस्करण में कोकोपीड्स अपडेट करने के बाद समस्या अपने आप गायब हो गई:

   gem install cocoapods --pre

या:

   sudo gem install cocoapods --pre

(यदि sudo का उपयोग संस्थापन के दौरान किया गया था)।

यह कोकोपोड्स बग रहा होगा।


0

एक साधारण वर्कअराउंड है: 1. पॉड्स फोल्डर और पॉडफाइल.लॉक फाइल को डिलीट करें। लेकिन Podfile को न हटाएं। अपने प्रोजेक्ट रूट फ़ोल्डर में निम्न कमांड चलाएँ:

pod install

मैंने इस समाधान के साथ अपनी समस्या को ठीक किया।
dobiho

0

यहाँ एक और कारण है: सभी हेडर पथ ठीक लग रहे थे, लेकिन हम अभी भी एक पॉड हैडर को पढ़ने की कोशिश कर रहे precompiled (.pch) फ़ाइल में एक त्रुटि थी।

(यानी #import <CocoaLumberjack / CocoaLumberjack.h>)।

कच्चे बिल्ड आउटपुट को देखते हुए, मैंने अंत में देखा कि त्रुटि हमारे वॉच ओएस एक्सटेंशन टारगेट को तोड़ रही थी, न कि हम जो मुख्य लक्ष्य बना रहे थे, क्योंकि हम वॉच ओएस के लक्ष्यों में .pch से पहले की हेडर फ़ाइल आयात कर रहे थे, और यह विफल हो रही थी। वहाँ। सुनिश्चित करें कि आपका साथ देने वाला वॉच OS लक्ष्य सेटिंग .pch फ़ाइल आयात करने का प्रयास न करें (विशेषकर यदि आपने मास्टर टारगेट सेटिंग से वह आयात सेट किया है, जैसे मैंने किया था!)


0

मैंने पाया है कि पॉड स्थापित के रूप में लाइब्रेरी सहित डायनेमिक लाइब्रेरीज़ को सीधे मदद करता है। उदाहरण के लिए, फायरबेस के लिए:

pod 'RNFirebase', :path => 'path/to/node_modules/react-native-firebase/ios'

या ASLogger के लिए:

pod 'ASLogger', :path => 'path/to/node_modules/aslogger/ios' // path to header files

बदलने या हार्डकोडिंग HEADER_SEARCH_PATHSकरने से मुझे मदद नहीं मिली। यदि त्रुटि कभी आती है, तो rm -rf node_modulesपॉड फ़ाइल आदि को न तो हटाना आवश्यक नहीं है , मैंने कैश को खाली करना उपयोगी पाया।

प्रतिक्रिया-मूल के लिए, मैं दौड़ता हूं

    rm -rf $TMPDIR/react-native-packager-cache-*
    rm -rf $TMPDIR/metro-bundler-cache-*
    rm -rf $TMPDIR/metro-* 
    rm -rf $TMPDIR/react-* 
    rm -rf $TMPDIR/haste-*
    rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
    npm start -- --reset-cache

Xcode के लिए मैं फ़ोल्डर हटाता हूं ~/Library/Developer/Xcode/DerivedData


0

मुझे लगता है कि एक अंतिम उपाय यह है कि आप जाएं Build settings -> Search Path -> User Header Search Paths, अपने पुस्तकालय मार्ग को खोजें और एक खोजक के माध्यम से जाएं। सुनिश्चित करें कि आपके आयात पथ सहित सभी पथ मौजूद हैं।

मेरे लिए मेरा रास्ता एक ट्यूटोरियल से कम था। ट्यूटोरियल में यह कुछ ऐसा था #import <SDK/path/to/sdk/File.h>, लेकिन पता चला कि यह सिर्फ है#import <SDK/File.h>


-1

मेरे पास अन्य समाधान यहाँ हैं,

  1. एक्सकोड से बाहर निकलें
  2. ओपन Xcode और स्वच्छ परियोजना
  3. पहले पॉड्स प्रोजेक्ट बनाएं
  4. प्रोजेक्ट बनाएं

-2

अपने लक्ष्य के लिए इस पंक्ति पर टिप्पणी करने का प्रयास करें

#  use_frameworks!

या आप मेरे दूसरे जवाब में इकाई परीक्षण के लक्ष्य को एक्सकोड के लिए संदर्भित कर सकते हैं - ब्रिजिंग हेडर आयात करने में विफल रहा है दूर नहीं जाएगा


-2

मैंने Xcode 8.2.1 के लिए इस मुद्दे को ड्रैग एंड ड्रॉप फ्रेमवर्क द्वारा हल किया, जिसे मैं उपयोग करना चाहता हूं।

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