GoogleToolboxForMac को ढाँचा नहीं मिला


82

"पॉड अपडेट" के माध्यम से अपने फायरबेस को अपडेट करने के बाद, मुझे इस तरह की त्रुटि मिली:

ld: warning: directory not found for option '-F/Users/bennysantoso/Library/Developer/Xcode/DerivedData/FCM-atfcxuircoryufazlomgwfgmvaqm/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
ld: framework not found GoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)

यहाँ मेरा पॉडफाइल:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
pod 'Firebase/Core'
pod 'Firebase/Messaging'

target 'BB' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for BB

  target 'BBTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'BBUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

किसी को भी इस त्रुटि के बारे में पता है?

मैं GoogleToolboxForMac और Firebase रिश्तों की तलाश करता हूं, लेकिन मुझे बस थोड़ी सी जानकारी मिलती है।

FYI करें, मैं Swift 2.3 और Firebase 3.8.0 का उपयोग करता हूं।

मैं आपके द्वारा प्रदान की जाने वाली किसी भी मदद के लिए आभारी रहूंगा। धन्यवाद!


2
मेरे लिए भी .. कोई मदद कर सकता है? मैं पूरे दिन इस पर काम कर रहा हूं: / मुझे लगता है कि एक ही पुस्तकालय के पुराने संस्करणों का उपयोग GoogleToolboxForMac का उपयोग नहीं कर रहा है और पूरी तरह से काम करता है :(
शांति इग्लेसियस

अन्य स्टैवर्डोफ़्लो उत्तर से मैंने अपनी पॉड फ़ाइल में सभी निम्नलिखित जोड़ने की कोशिश की है, लेकिन अभी भी काम नहीं कर रहा है: पॉड 'Google / Analytics' पॉड 'Firebase / Core' पॉड 'Firebase / AdMob' # GoogleToolboxFitMac लापता त्रुटि पॉड 'Firebase / मैसेजिंग' को ठीक करने की कोशिश कर रहा है 'फली' GoogleToolboxForMac / Logger 'फली' GoogleToolboxForMac ',' ~> 2.1 '
चार्ली सेलिगमैन

सबसे पहले, आपके पॉडफाइल का प्रारूप पुराना है (Q4 / 2016)। इसे निकालें और 'पॉड इनिट' का उपयोग करके नया बनाएं। नीचे दिए गए सुझाव के अनुसार कार्यक्षेत्र नहीं xcodeproj का उपयोग करें।
इगाक्रैच

जवाबों:


168

मेरी भी यही त्रुटि थी। एक बार जब आप फली स्थापित करते हैं, तो आपको निम्न संदेश दिखाई देगा।

[!] कृपया किसी भी वर्तमान Xcode सत्र को बंद करें और अभी से इस परियोजना के लिए MyApp.xcworkspace का उपयोग करें।

मैंने पहली बार इस पर ध्यान नहीं दिया और नियमित रूप से xcodeproj फ़ाइल का उपयोग करके प्रोजेक्ट बनाने की कोशिश कर रहा था। इस संदेश को देखने के बाद, मैंने सही प्रोजेक्ट खोला और यह ठीक काम किया।

एक बार जब आप इस परियोजना को खोलते हैं तो आप देखेंगे कि आपके पास दो उपप्रोजेक्ट हैं। एक आपका प्रोजेक्ट होगा, और दूसरा पॉड्स प्रोजेक्ट होगा।


40

फ्रेमवर्क नहीं मिला

पॉड्स का उपयोग करते समय, हम आमतौर पर इस मुद्दे का सामना करते हैं।

इसके दो मुख्य कारण हैं

  1. जब हम इस उत्तर में izaaz-yunus द्वारा वर्णित .xcworkspace के बजाय .xcodeproj फ़ाइल खोलते हैं

  2. जब बिल्ड एक्टिव आर्किटेक्चर केवल बिल्ड सेटिंग्स में हां के लिए सेट किया जाता है

    यह फली परियोजना के सभी लक्ष्यों और परियोजनाओं के लिए भी लागू होता है

मुख्य परियोजना स्क्रीनशॉट केवल सक्रिय वास्तुकला का निर्माण करें

पॉड प्रोजेक्ट स्क्रीनशॉट यहां छवि विवरण दर्ज करें

  1. बिल्ड सेटिंग्स (मुख्य परियोजना, पॉड प्रोजेक्ट दोनों का चयन करें )
  2. एक-एक करके प्रत्येक लक्ष्य का चयन करें
  3. प्रत्येक लक्ष्य के लिए कोई नहीं के लिए सक्रिय आर्किटेक्चर सेट करें

अंत में अपनी परियोजना को साफ और पुनर्निर्माण करें।


क्या कोई टाइपो है, # 2 पर आप "हाँ" कह रहे हैं, लेकिन छवि शो "नहीं" पर, धन्यवाद @ विनय कुमार
हरियाणवी

# 2 बताता है कि मुद्दा क्या है और छवि यह है कि इस मुद्दे को हल करने के लिए सेटिंग्स को कैसे दिखना चाहिए
विनय कुमार

अन्य सभी समाधान मेरे लिए काम नहीं करते हैं।
निस्संकोच:

18

मेरे मामले में सभी एकीकरण अच्छी तरह से किए गए हैं और पॉड को हटाने और पुन: स्थापित करने के लिए कई बार कोशिश की, लेकिन सफलता नहीं मिली।

अंत में नीचे स्टेप के साथ प्रयास करें

Projetc-> योजनाएँ प्रबंधित करें -> चेक बॉक्स चुनें "पॉड्स-मायप्रोजेक्टनेम"

और सफलता प्राप्त करें।


सिम्युलेटर में चलने पर मुझे यह त्रुटि मिली, लेकिन यह वास्तविक डिवाइस पर नहीं मिला।
एमपीवीटिट

इसने मेरे लिए काम किया लेकिन मुझे अपनी परियोजना के निर्माण के प्रयास से पहले फली परियोजना का निर्माण स्पष्ट रूप से करना पड़ा। पता नहीं क्यों।

1
मैंने ऐसा किया है लेकिन मैं अपने सिम्युलेटर पर ऐप नहीं चला सकता हूं?
द्रीलन जॉन भयानक

2
"पॉड्स-प्रोजेक्टनेम" के निर्माण के बाद मैं अपने डिवाइस पर वास्तविक प्रोजेक्ट को चलाने में सक्षम था ..
टिम बाश

14

GoogleToolboxForMac फायरबेस / मैसेजिंग की एक निर्भरता है। पॉडसेप में विवरण । "पॉड अपडेट" करते समय, Cocoapods को GoogleToolboxForMac बनाने और लिंक करने के लिए अपना कार्यक्षेत्र सेट करना चाहिए।

ऐसा लगता है कि आपके कार्यक्षेत्र के बारे में कुछ ऐसा है जो खराब स्थिति में है। क्या उत्पाद -> स्वच्छ मदद? Derived Data और ModuleCache (Xcode -> प्राथमिकताएं -> स्थान -> व्युत्पन्न डेटा) को हटाने के बारे में क्या?

यह आवश्यक नहीं होना चाहिए, लेकिन आप अपने पॉडफाइल में पॉड 'GoogleToolboxForMac / Logger' को स्पष्ट रूप से जोड़ने का प्रयास कर सकते हैं।


नहीं, यह मेरे लिए काम नहीं किया ... कार्यक्षेत्र से परियोजना खोलने से काम किया!
जयप्रकाश दुबे

2
@JayprakashDubey यह उत्तर मानता है कि आप कार्यक्षेत्र से शुरू कर रहे हैं। पहला पैराग्राफ देखें। उत्तर एक और परिदृश्य को हल करता है जो समान लक्षण की ओर जाता है।
बजे पॉल बेस्टरियन

1
@PaulBeusterien मैंने आपके द्वारा यहाँ कही गई हर चीज़ की कोशिश की, लेकिन फिर भी, मैं निर्माण नहीं कर सकता।
द्रीलान जॉन भयानक

6
यह कार्य करता है
1. निर्देशिका में अपनी परियोजना का चयन करें
2. सामान्य का चयन करें
3. लिंक किए गए "फ्रेमवर्क और लाइब्रेरी" में "GoogleToolboxForMac.framework" जोड़ें

लाइब्रेरी को जोड़ना स्पष्ट रूप से मेरे लिए हल हो गया। Thanx!
लिक्विनाट

5

यह बिल्ड सेटिंग्स में $ (विरासत में मिला हुआ) जोड़कर तय किया गया था -> LIBRARY_SEARCH_PATHS के लिए खोजें।

यह समझ में आता है, क्योंकि पुस्तकालयों के नवीनतम संस्करणों के लिए अपनी पॉड फ़ाइल को अपडेट करते समय, जिस पर आपकी परियोजना निर्भर करती है, डिबग आउटपुट आपको बताता है कि आपको सभी $ (इनहेरिट किए गए) झंडे जोड़ने की आवश्यकता है: LIBRARY_SEARCH_PATHS अन्य_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS


जहां $ डाल (विरासत में मिला) मैं प्रेस करना चाहिए + तो $ टाइप करें (विरासत में मिला)?
द्रीलन जॉन भयानक

हां, आप + और इनपुट $ (विरासत में मिला) दबा सकते हैं या संपादन योग्य बॉक्स पर बस डबल क्लिक कर सकते हैं और फिर आप $ (विरासत में) इनपुट कर सकते हैं
TomV

इससे मेरी समस्या ठीक हो गई! आप @TomV धन्यवाद
Spettacolo83

2

पर जाएं: target -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC"और परियोजना का निर्माण करें।


1

मेरे पास एक ही मुद्दा था जब मैंने इसे अपने डिवाइस पर चलाने की कोशिश की। सिम्युलेटर पर यह ठीक काम कर रहा था। मैंने ऊपर कुछ कोशिश की, लेकिन यह मेरे लिए काम नहीं किया। मैंने जाँच की कि मैं काम कर रहा था.xcworkspace.xcodeproj फ़ाइल के बजाय , इसलिए मैंने यह कोशिश की। इन चरणों का पालन करें:

  1. .Xx ... फ़ाइल का उपयोग करके Xcode प्रोजेक्ट (कोकोपोड्स प्रोजेक्ट) खोलें।
  2. प्रोजेक्ट नेविगेटर (बाईं ओर नीला आइकन) में पॉड्स प्रोजेक्ट चुनें।
  3. लक्ष्य के तहत, सुनिश्चित करें कि पॉड्स-प्रोजेक्टनेम (नीला आइकन) चुना गया है।
  4. सेटिंग बनाने और iOS परिनियोजन लक्ष्य सेट करें जिस पर iOS संस्करण आप प्रोजेक्ट चलाने जा रहे हैं।

नोट: यह वही है जो आपने सेट किया है Project->Targets->Deployment info->Deployment Target

हो सकता है कि कोई इससे लाभान्वित हो।


1

यदि आप अपने XCode में एक ही त्रुटि का सामना कर रहे हैं, तो यहां जाएं:

आपका प्रोजेक्ट > आपका लक्ष्य > लिंक्ड फ्रेमवर्क और लाइब्रेरी तक नीचे जाएं और जांचें कि लाइब्रेरी की प्रविष्टि मंद है या नहीं:

XCode लिंक्ड फ्रेमवर्क और लाइब्रेरी स्क्रीनशॉट

यदि ऐसा है, तो निकालें और फिर से जोड़ें। मेरे मामले में, मैंने प्रविष्टियों को डुप्लिकेट किया था और उनमें से एक को मंद कर दिया गया था (जब एक्सकोड उन्हें डिस्क पर नहीं मिल सकता था)।


0

उस परियोजना को बंद कर दिया जिसे मैं बनाने की कोशिश कर रहा था जब मैंने पॉड स्थापित किया था तो .workspace खोला और फिर सब कुछ पूरी तरह से बनाता है।


0

अपने प्रोजेक्ट गंतव्य में अपना प्रोजेक्ट खोलें।

1) ओपन टर्मिनल -> 2) $ cd / project_destination -> 3) $ अपना प्रोजेक्ट खोलें।

या बस खोजक में फ़ाइल खोलें


0

सुनिश्चित करें कि आपके प्रोजेक्ट लक्ष्य और पॉड दोनों के लिए "बिल्ड एक्टिव आर्किटेक्चर सेटिंग्स" समान हैं। इन दोनों मामलों में NO स्थापित करने से मेरा मुद्दा ठीक हो गया।


0

मेरा मुद्दा यह था कि मेरे पास एक / बिन / श स्क्रिप्ट थी जो विशिष्ट पॉड्स की नकल करती थी जो मौजूद नहीं थी। यह उनमें से एक था। स्क्रिप्ट को हटाने से बिल्ड समस्या हल हो गई।


0

-मैं GoogleToolboxForMac फ़ाइलों के लिए हार्डड्राइव में खोज करता हूं, जो इसमें पाया जाता है: / उपयोगकर्ता / मार्को / दस्तावेज़ / iosapps / BomRetiro / Bom Retiro / Pods / लक्ष्य समर्थन फ़ाइलें

  • और फिर मैंने फ़ाइलों को इस फ़ोल्डर में कॉपी किया: / Users / YourHomeFolder / Library / Developer / Xcode / DerivedData / Bom_Retiro-bsfjbazzzuwmuidqurdmjvdtnnsb / Build / Products

और फिर मेरे लिए प्रोजेक्ट usinf .xcworkspace फ़ाइल खोलने का संकल्प लिया जाता है।


0

उन सभी के लिए अभी भी इस मुद्दे के बाद। मैं एक कॉर्डोवा परियोजना पर काम कर रहा हूं और XCode 11.5 में अपग्रेड करने के बाद यह मुद्दा अचानक सामने आया।

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

बाद में मैंने .xcworkspace फ़ाइल फिर से खोली और बिल्ड के माध्यम से चला गया।


-1

स्विफ्ट 5 सरल उत्तर

Shift+Alt+Cmd+K  //Clean the project and Run again! 
//if not work restart Xcode and again clean it 
//Its will work happy coding

-6
    Friends, you must be confused with the exact result, as i was. So, i feel to share the 
screenshot that might be helpful. We all had to be careful that we need to change the flag for property **"Build Active architecture Only"** for **pod target** to **NO** And build, it would not show the linking error.

    See the attached screenshot.
    Screen Shot 1, Screen Shot 2, Screen Shot 3
    [Select Pods][1]
    [Select Targets in the pod][2]
    [Change flag to No][3]


  [1]: https://i.stack.imgur.com/E7mjX.png
  [2]: https://i.stack.imgur.com/wCwET.png
  [3]: https://i.stack.imgur.com/KVGKM.png

पूरे स्क्रीनशॉट पोस्ट न करें, कृपया केवल इन-लाइन किए गए भाग, मेरे मित्र को प्रदान करें।
.ग्रेसचेंग

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