स्पंदन - आईओएस के लिए बिल्डिंग, लेकिन लिंक और एम्बेडेड फ्रेमवर्क 'ऐप.फ्रेमवर्क' आईओएस सिम्युलेटर के लिए बनाया गया था


13

कैटेलिना 10.15.4 बीटा को Xcode 13.4 बीटा के साथ अद्यतन करने के बाद, जिसने सिम्युलेटर को 13.4 (921.4) में भी अपडेट किया।

एप्लिकेशन संकलन करता है और शारीरिक रूप से संलग्न डिवाइस पर सही ढंग से चलता है, लेकिन किसी भी डिवाइस का कोई सिमुलेटर इस चरण को पारित नहीं कर सकता है।

मुझे त्रुटियां मिलीं

IOS के लिए बिल्डिंग, लेकिन लिंक और एम्बेडेड फ्रेमवर्क 'App.framework' iOS सिम्युलेटर के लिए बनाया गया था।

या

IOS सिम्युलेटर के लिए बिल्डिंग, लेकिन लिंक किया गया और एम्बेडेड फ्रेमवर्क 'App.framework' iOS के लिए बनाया गया था।

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

मैं इसे कैसे ठीक करूं?

जवाबों:


42

Xcode 11.4 ने फ्रेमवर्क को लिंक और एम्बेडेड करने के तरीके को बदल दिया, और आप iOS डिवाइस और सिमुलेटर के बीच स्विच करने में समस्या का अनुभव कर सकते हैं। स्पंदन v1.15.3 और बाद में स्वचालित रूप से आपके Xcode प्रोजेक्ट को माइग्रेट कर देगा।

अस्थिर होने के लिए, नीचे दिए गए निर्देशों का पालन करें;

  • त्वरित समाधान (अपना सिम्युलेटर काम करें)

rm -rf ios/Flutter/App.framework

  • आधिकारिक तौर पर मैन्युअल रूप से माइग्रेट करने के लिए कदमों की सिफारिश की

    1. स्पंदन ऐप निर्देशिका से, Xcode में ios / Runner.xcworkspace खोलें।
    2. नेविगेटर फलक में, फ़्लटर समूह का पता लगाएं और App.framework और Flutter.framework निकालें। यहाँ छवि विवरण दर्ज करें
    3. रनर टारगेट बिल्ड बिल्ड सेटिंग्स में फेज बनाएँ> लिंक बाइनरी लाइब्रेरियों के साथ पुष्टि करें App.framework और Flutter.framework अब मौजूद नहीं हैं। बिल्ड चरणों> एंबेड फ्रेमवर्क में भी पुष्टि करें।

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

  1. रनर लक्ष्य बिल्ड सेटिंग बदलें चरण बनाएँ> पतली बाइनरी स्क्रिप्ट निम्नानुसार है:

    / बिन / श "$ FLUTTER_ROOT / पैकेज / फ़्लटर_टूल / बिन / xcode_backend.sh) एम्बेड करें

    / बिन / श "$ FLUTTER_ROOT / पैकेज / फ़्लटर_टूल / बिन / xcode_backend.sh" पतली

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

  1. रनर लक्ष्य में सेटिंग्स बनाएँ> अन्य लिंकर फ्लैग

    (OTHER_LDFLAGS) $ (विरासत में मिला) -फ्रेमवर्क स्पंदन जोड़ें

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

आशा है ये मदद करेगा!


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

1
आकर्षण जैसा काम करता है!
गिदरीस एलिकस

3

Xcode 11.4 ने फ्रेमवर्क को लिंक और एम्बेडेड करने के तरीके को बदल दिया, जिससे आईओएस डिवाइस और सिमुलेटर के बीच स्विच करने में समस्या हो रही है।

कृपया अपने प्रोजेक्ट को स्थानांतरित करने के बारे में आधिकारिक गाइड का पालन करें ।


आधिकारिक गाइड का पालन करने के बाद, मेरा ऐप अभी भी मेरे भौतिक डिवाइस पर लोड नहीं हुआ है। यह केवल गाइड का पालन करने, flutter cleanकई बार चलने , Pods/फ़ोल्डर हटाने और Podfile.lockफिर pod install, ios फ़ोल्डर का उपयोग करके पुन: स्थापित करने के बाद ही हुआ था ।
मैथ्यू लर्नर ने

2

Xcode 11.4 को अपडेट किया गया। Ios 13.4, Iphone X. App केवल API का उपयोग करके डेटा प्राप्त करता है। ऐप सफेद स्क्रीन पर शुरू हुआ और आखिरकार सिम्युलेटर और डिवाइस दोनों पर क्रैश हो गया।

मैंने ऑफिकल गाइड (I भी rm -rf ios/Flutter/App.framework) flutter.dev/docs/development/ios-project-migration का अनुसरण किया । मैं कई बार भागाflutter clean

मैंने पॉड्स / फोल्डर और पॉडफाइल.लॉक को हटाने का भी प्रयास किया, फिर pod installआईओएस फ़ोल्डर में उपयोग करके पुनः इंस्टॉल किया।

जैसा कि मैं async डेटा का उपयोग कर रहा हूँ मैंने मुख्य (1) में पहली पंक्ति के रूप में भी जोड़ा

WidgetsFlutterBinding.ensureInitialized();

कोई मदद नहीं, ऐप या तो सिम्युलेटर शुरू नहीं किया।

फिर मैंने निकाल दिया ios/और android/फोल्डर। उसके बाद प्रोजेक्ट फोल्डर में मैंने कमांड को चलाया flutter create .जो उल्लेखित फोल्डर को पुन: बनाता है।

इसके बाद मेरे ऐप ने सिम्युलेटर और डिवाइस दोनों पर ठीक करना शुरू कर दिया। मुझे उम्मीद है कि इससे दूसरों को मदद मिलेगी। ध्यान दें!! यदि आपने उन फ़ोल्डरों में मैन्युअल रूप से कोई संशोधन किया है तो कृपया बैकअप लें या पहले से कमिट करें।


1

कई दिनों के बाद आईओएस डिवाइस पर फ़्लटर ऐप का परीक्षण करने के लिए एक समाधान खोजने की कोशिश करने के बाद, मैंने आखिरकार यह पाया:

flutter clean
flutter build ios

-Open xCode और अपने डिवाइस पर ऐप चलाएं।


फिर भी मेरे लिए काम नहीं करता है। जब मैं चलाने की कोशिश करता हूं तो यही काम करता हैflutter build ios
रेमंड एटिव

3
इस लिंक का पालन करें: flutter.dev/docs/development/ios-project-migration
gordonturibamwe

हाँ मैं क्या कर रहा था धन्यवाद
रेमंड Ativie

0

मैंने स्पंदन की आधिकारिक वेबसाइट पर समाधान की कोशिश की है, लेकिन यह मेरे लिए काम नहीं करता है, इसलिए मुझे एक अस्थायी समाधान मिला, जो मेरे लिए काम करता है, लेकिन इसने मुझे कुछ कठिन काम दिलाए: यहां मेरा उदाहरण प्रोजेक्ट अटक_फ्रेमवर्क है जो एक ताजा है नया प्रोजेक्ट (पहली बार सिम्युलेटर पर चला)

  1. मैंने
    "ios_simulator" और "ios_real_device" नामक स्पंदन प्रोजेक्ट के अंदर 2 फ़ोल्डर्स बनाए । यहाँ छवि विवरण दर्ज करें

  2. अब मेरा पहला निर्माण सिम्युलेटर के लिए था, फिर मैं एक वास्तविक डिवाइस पर स्विच करना चाहता हूं, मैं फ़्लॉटर प्रोजेक्ट के अंदर ios फ़ोल्डर को "ios_simulator" पर ले जाऊंगा

  3. मैं दृश्य स्टूडियो कोड के साथ परियोजना को खोलता हूं और "स्पंदन बनाना" चलाता हूं। और अब मैं परियोजना के पुनर्निर्माण के लिए एक वास्तविक उपकरण चुनूंगा (यदि आपका सिम्युलेटर ऑनलाइन है, तो कृपया छोड़ दें)। यहाँ छवि विवरण दर्ज करें
  4. अब मैं बिल्ड खत्म होने का इंतजार करता हूं और बिना किसी त्रुटि के असली डिवाइस पर चलता हूं। अब मेरे पास सिमुलेटर के लिए 2 आईओएस प्रोजेक्ट 1 और वास्तविक उपकरणों के लिए एक है।
  5. अगली बार जब मैं सिम्युलेटर पर फिर से चलना चाहता हूं, तो मैं वर्तमान आईओएस फ़ोल्डर को हटा देता हूं और आईओएस फ़ोल्डर को कॉपी करता हूं जिसे मैंने "आईओएस_सिमुलेटर" पर रखा था जो कि प्रोजेक्ट फ़ोल्डर को वापस करने के लिए फ़्लटर करता है। उममीद है कि इससे मदद मिलेगी

0

मैन्युअल रूप से स्पंदन को संस्करण १.१५ में अपग्रेड करना इस मुद्दे को भी हल करता है। दौड़ने से flutter version v1.15.17मुझे मदद मिली।

इसके अलावा, आप कमांड चलाकर betaया devचैनलों पर स्विच कर सकते हैं, flutter channelलेकिन सुनिश्चित करें कि आप सभी बीसी परिवर्तनों के खिलाफ अपने कोड की जांच करें ...


0

मेरे मामले में, यह केवल सिम्युलेटर (डिबग) काम करता है। यदि आप अपने ऐप को ऐप स्टोर पर जारी करना चाहते हैं (रिलीज़) तो मैं आपको फ़्लटर संस्करण का उपयोग करके अपग्रेड करने की सलाह देता हूं

flutter version v1.15.17

अन्यथा आप सफेद स्क्रीन के साथ दुर्घटनाग्रस्त एप्लिकेशन का सामना करेंगे।

बस स्पंदन संस्करण को अपग्रेड करें तो सभी चीजें अच्छी तरह से काम करती हैं


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