स्विफ्ट। उद्देश्य-ग मॉड्यूल 'आलमोफायर' का निर्माण नहीं कर सका


117

XCode6 का उपयोग करके और टी को कुछ दिशाओं का पालन करते हुए, एलामोफायर का ताज़ा वनीला सबमॉडल स्थापित किया गया है। यहाँ कुछ भी सही नहीं है। जो त्रुटि मुझे मिल रही है वह है "आयात अल्मोफायर पर उद्देश्य-सी मॉड्यूल" अल्मोफायर "का निर्माण नहीं कर सका। यहां त्रुटि होने का एक स्क्रीन शॉट है:

यहां छवि विवरण दर्ज करें और मेरा विन्यास:

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



मुझे लगता है कि आपको यहाँ दिए गए निर्देश के अनुसार अल्मोफ़ायर स्थापित करना है। github.com/Alamofire/Alamofire
सौरभ प्रजापति

क्या आपको यह काम करने के लिए मिला? यह मेरे लिए और एक के बाद काम किया "बिल्ड और चलाने" इसे बंद कर दिया और मैं एक ही त्रुटि संदेश ... :( मिला
जोर्ज

2
एक सहकर्मी के पास बस एक ही त्रुटि संदेश था लेकिन कारण यह निकला कि वह अभी भी Xcode 6.1 का उपयोग कर रहा था (यह 6.3 का युग है जैसा हम इसे लिखते हैं)। यह सिर्फ रिकॉर्ड के लिए कह रहा है, किसी और को एक ही चीज के साथ संघर्ष करना चाहिए।
विलापोसु

जवाबों:


103

जब ऐसा होता है, तो पहले अलग से ढांचों का निर्माण करें। आपके मामले में:

  • इस योजना को अल्मोफायर में बदलें
  • बनाएँ ( ⌘B )
  • अपनी योजना में वापस बदलें
  • Daud

3
बहुत बढ़िया जवाब; मैं इस प्रकार की त्रुटियों को ठीक करने के लिए बिल्ड स्कीम को बदलने से बेखबर था!
तेहप्रिसेक्टर

1
सहायता के लिए धन्यवाद।
टिडेन

5
यदि आपको अलग से स्कीम बनानी है, तो इसका मतलब है कि आपके पास अपने एप्लिकेशन की बिल्ड सेटिंग्स में लक्ष्य निर्भरता के रूप में सही रूप में सेट फ्रेमवर्क नहीं है। ऐसा करें और आपको इसे मैन्युअल रूप से नहीं बनाना चाहिए।
चार्ल्स ए।

मैंने इसे वोट किया, क्योंकि यह Xcode में काम करता है। दुर्भाग्य से यह काम नहीं करेगा यदि कमांड लाइन से निर्माण हो या यदि रिलीज़ के लिए निर्माण हो।
एनको अलोंसो

इसने GoogleApiClient / Drive के साथ एक समस्या तय की। बिल्ड सफल होगा, लेकिन जैसे ही फ़ाइल में कोई परिवर्तन किया गया, Xcode आयात के बारे में शिकायत करेगा।
निक अलेक्जेंडर

53

डेवलपर / Xcode / DerivedData में जाएं और अपने ढांचे के लिए फ़ोल्डर हटा दें। (या केवल DerivedData को हटा दें)

यदि आपके पास रनिंग सिम्युलेटर में आपके लिए एक ऐप है, तो आपको वहां ऐप को हटाना होगा।

फिर क्लीन एंड बिल्ड


यह मेरे लिए भी काम करता है, लेकिन फिर मैं कई कमांड का उत्पादन करता हूं, यह लिंक मदद करेगा: stackoverflow.com/questions/50718018/…
भीमबाग

32

यह हमेशा मेरे लिए काम करता है:

  1. एक्सकोड से बाहर निकलें
  2. हटाएं ~/Library/Developer/Xcode/DerivedData
  3. अपने ढांचे की योजना में बदलाव करें और .B का निर्माण करें
  4. अपने ऐप की स्कीम में बदलाव करें और ⌘B बनाएँ

22

DerivedData फ़ोल्डर को हटाना और प्रोजेक्ट की सफाई करना और निर्माण करना मेरे लिए इस समस्या को हल करता है।


15

इस क्रम में निम्नलिखित प्रयास करें और चरणों में से एक काम करना चाहिए।

  1. Cmd+ B- कार्यक्षेत्र बनाता है और संभवतः हमें जो लक्ष्य या मॉड्यूल चाहिए, उसका निर्माण करना चाहिए।

  2. Cmd+ Kऔर फिर Cmd+ B- स्वच्छ और फिर बनाएँ

  3. Cmd+ Shift+ Option+ Kऔर Cmd+ B- साफ बिल्ड फ़ोल्डर

  4. Xcode से बाहर निकलें, डिलीट डाटा डिलीट करें, Xcode लॉन्च करें और Cmd+ Shift+ Option+ Kतब Cmd+ लॉन्च करेंB

यह एक्सकोड से व्युत्पन्न डेटा और अन्य कैश को साफ करने का सबसे साफ संभव तरीका है।


ICloud सिंक का उपयोग करने वालों के लिए (उदाहरण के लिए, दस्तावेज़ फ़ोल्डर में प्रोजेक्ट होना इसलिए यह आसानी से कई मैक के साथ सिंक हो जाएगा), नाम के साथ फ़ाइल की जांच करें XXX 2.swift:। उन सभी को खोजें और हटाएं, फिर चलाएं pod install
जॉन पैंग

12

यदि आपको डायनामिक फ्रेमवर्क आयात करने की कोशिश में यह त्रुटि हो रही है, तो सुनिश्चित करें कि फ़्रेम को लक्ष्य की लक्षित निर्भरता में शामिल किया गया है।

Project > "Target" > Build Phases > Target Dependencies


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

11

बिल्ड क्लीन मेरे लिए काम करता है।

  1. अलामो के लिए स्वच्छ बनाएँ
  2. HTTPDemo के लिए स्वच्छ बनाएँ

6

आयात और सभी कोड का उपयोग करके टिप्पणी करें, निर्माण करें, चलाएँ, फिर असहज करें। यह मेरे लिए काम किया ...


1

मैंने अपनी ऑब्जेक्टिव-सी / स्विफ्ट हाइब्रिड परियोजनाओं में से एक में इस मुद्दे को हल किया।

अपनी उद्देश्य-सी ब्रिजिंग फ़ाइल में, निम्न पंक्ति जोड़ें:

#import <Alamofire/Alamofire.h>


0

कोई भी पॉड बनाने में विफल इस त्रुटि का कारण हो सकता है। (मेरे मामले में अप्रचलित वाक्यविन्यास का उपयोग करते हुए एक पुरानी फली निर्माण में विफल रही)।

आप pod updateअपने पॉड्स को लेटेस्ट वर्जन में अपडेट करने की कोशिश कर सकते हैं और देख सकते हैं कि बात कैसे बनती है।


ICloud सिंक का उपयोग करने वालों के लिए (उदाहरण के लिए, दस्तावेज़ फ़ोल्डर में प्रोजेक्ट होना इसलिए यह आसानी से कई मैक के साथ सिंक हो जाएगा), नाम के साथ फ़ाइल की जांच करें XXX 2.swift:। उन सभी को खोजें और हटाएं, फिर चलाएं pod install
जॉन पांग

0

इस मुद्दे के लिए पागल तय - मेरे लिए केवल काम कर समाधान

नई योजना बनाएं और उस ढांचे को जोड़ें जो त्रुटि दिखा रहा है। इस मामले में 'आलमोफायर'। उन सभी योजनाओं को चलाएं।

एक बार जब आप सभी योजनाओं को संकलित करते हैं तो आपका प्रोजेक्ट लक्ष्य भी ठीक काम करेगा।

यह एक पागल फिक्स की तरह लग सकता है लेकिन मेरे लिए केवल काम करने वाला समाधान है।


0

यदि Alamofire परियोजना के वैध आर्किटेक्चर में आपकी परियोजना के वैध आर्किटेक्चर शामिल नहीं हैं, तो यह "ऑब्जेक्टिव-सी मॉड्यूल नहीं बना सकता है .." त्रुटि।

इन आर्किटेक्चर i386 x86_64 arm64 arm64e armv7 armv7s armv6 armv64 को ' Build Settings ' पर Alamofire प्रोजेक्ट के ' Valid Architectures ' में जोड़ें।

दोनों परियोजनाओं के लिए एक ही लक्ष्य डिवाइस बनाएं। उदाहरण के लिए, सबसे पहले, iPhone 8 (13.2) के लिए अलमॉफायर परियोजना का निर्माण करें, फिर उसी सिम्युलेटर के लिए अपनी परियोजना का निर्माण करें।

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

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