IOS डिवाइस पर आजमाए जाने पर स्पंदन हस्ताक्षर अमान्य है


11

टी एल; डॉ

नीचे उत्तर देखें: https://stackoverflow.com/a/60013390/1121497

ऐसा लग रहा है कि यह iOS 13.3 के साथ एक समस्या थी क्योंकि मैंने अभी 13.4 स्थापित किया था और अब Flutter मेरे iPhone पर काम करता है। :)


मैं flutter createएक iOS डिवाइस (एक iPhone XS) पर एक नया स्पंदन ऐप (द्वारा बनाया गया नमूना ऐप ) चलाने की कोशिश कर रहा हूं । Xcode इसे इंस्टॉल करने का प्रबंधन करता है, लेकिन फिर यह इस संदेश के साथ क्रैश हो जाता है:

dyld: Library not loaded: @rpath/Flutter.framework/Flutter
  Referenced from: /private/var/containers/Bundle/Application/BA807438-FA5B-4021-B37D-FC437B2C80CA/Runner.app/Runner
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/BA807438-FA5B-4021-B37D-FC437B2C80CA/Runner.app/Frameworks/Flutter.framework/Flutter: code signature invalid for '/private/var/containers/Bundle/Application/BA807438-FA5B-4021-B37D-FC437B2C80CA/Runner.app/Frameworks/Flutter.framework/Flutter'

अगर मैं कोशिश करता हूं flutter run, तो ऐप भी खुल जाता है और क्रैश हो जाता है। और आज्ञा हमेशा प्रतीक्षा करती रहती है:

$ flutter run
Launching lib/main.dart on Ferran Maylinch’s iPhone in debug mode...

Automatically signing iOS for device deployment using specified development team in Xcode project: 25D86TPBWG
Running Xcode build...                                                  

 ├─Assembling Flutter resources...                           4.3s
 └─Compiling, linking and signing...                        13.3s
Xcode build done.                                           21.0s
Installing and launching...                                             
(This is taking an unexpectedly long time.)

Xcode में मैंने एक टीम (व्यक्तिगत टीम) को कॉन्फ़िगर किया और हस्ताक्षर प्रमाण पत्र (Apple विकास प्रमाणपत्र) ठीक लगता है क्योंकि मैं अपने डिवाइस पर एक हैलो वर्ल्ड स्विफ्ट परियोजना स्थापित कर सकता हूं।

नोट: मैं Apple डेवलपर प्रोग्राम का खाता नहीं दे रहा हूं । क्या iOS उपकरणों पर फ़्लटर ऐप्स चलाना बिल्कुल आवश्यक है?

मैंने macOS निर्देशों का पालन किया है और flutter doctorकहता है कि मेरे पास iOS के लिए आवश्यक सब कुछ है:

[] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale en-ES)

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[] Xcode - develop for iOS and macOS (Xcode 11.3)
[!] Android Studio (version 3.5)Flutter plugin not installed; this adds Flutter specific functionality.Dart plugin not installed; this adds Dart specific functionality.
[] IntelliJ IDEA Ultimate Edition (version 2019.3.1)
[!] VS Code (version 1.41.1)Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[] Connected device (1 available)

! Doctor found issues in 3 categories.

जैसा कि आप देख सकते हैं, मैंने बीटा चैनल के साथ समस्याओं को छोड़ने के लिए स्थिर चैनल का उपयोग किया, लेकिन मैं आमतौर पर वेब के लिए स्पंदन बनाने के लिए बीटा चैनल में काम करता हूं (जो ठीक काम करता है)।

IOS सिम्युलेटर में ऐप ठीक भी काम करता है।

हाल ही में मैंने देखा कि मेरे पास फ़ाइल नहीं है ios/Podfile। मैं इस पोस्ट के बारे में बात कर पाया । मुझे नहीं पता कि यह मेरे मामले में महत्वपूर्ण है या नहीं, लेकिन मैंने इस पोडफाइल को मैन्युअल रूप से जोड़ने की कोशिश की । वैसे भी, मुझे एक ही हस्ताक्षर त्रुटि मिलती है।

इससे निराश होकर मैंने अभी के लिए नेटिवस्क्रिप्ट पर स्विच किया ।


आप इसे डिबग या रिलीज़ मोड में वास्तविक डिवाइस पर चलाने का प्रयास कर रहे हैं?
सुनकु ० Sun

@SlahLayouni यह डिबग मोड में था। मैंने रिलीज़ मोड की कोशिश की और यह उसी त्रुटि के साथ विफल हो गया।
फेरन मायलिनच

पहले रिलीज का निर्माण करने की कोशिश करें, फिर इसे रिलीज के रूप में xcode से चलाएं। flutter build ios --release
सुनकु Sun

1) क्या आपने iOS सिम्युलेटर 2 की कोशिश की है) क्या आपने अपने iPhone डिवाइस पर स्विफ्ट / Xcode में "हैलो वर्ल्ड" तैनात किया है / चला रहे हैं? आपके फोन पर तैनाती के लिए व्यक्तिगत प्रमाण पत्र अच्छा होना चाहिए।
मॉरिसन चांग

जवाबों:


8

EDIT: यह iOS 13.4 पर तय किया गया है, जिसे 24 मार्च को जारी किया गया था।

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

GitHub देखें मुद्दा: https://github.com/flutter/flutter/issues/49504#issuecomment-581554697

बग को उन डेवलपर खाते टीम को प्रभावित नहीं करना चाहिए जो प्रोफाइल या ऐप का प्रावधान करते हैं जो पहले से ही साइन इन हैं और ऐप स्टोर पर वितरित किए गए हैं।

दुर्भाग्य से एकमात्र समाधान यह हो सकता है कि विकास उपकरणों को अपग्रेड करने से बचने के लिए 13.3.1 तक हल किया जाए।


आपका बहुत बहुत धन्यवाद! मुझे आशा है कि यह ASAP तय हो गया है!
फेरन मायलिनच

तो यह आईओएस स्तर के मुद्दे पर है? मैं आईओएस 13.3.1 संस्करण के साथ आईफोन पर इस मुद्दे का सामना भी कर रहा हूं
एड्रोमिल बलैस

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

मैंने अभी iOS 13.4 के साथ कोशिश की है और यह काम करता है! मैं अपने Flutter ऐप को Xcode से असली iPhone पर और IntelliJ IDEA से भी चला सकता हूं। मुझे लगता है कि यह कमांड लाइन से भी काम करेगा।
फेरन मायलिनच

4

जहाँ तक मैं देख सकता हूँ यह iOS 13.3.1 के साथ स्पंदन संगतता समस्या है। मेरे मामले में, मेरा ऐप iOS 13.3 के साथ iPhone XR पर पूरी तरह से ठीक चलता है, लेकिन iOS 13.3.1 के साथ दूसरे iPhone XR पर लॉन्च होने पर क्रैश हो जाता है। सिम्युलेटर में परीक्षण नहीं कर सकते क्योंकि यह एक कैमरा ऐप है, लेकिन यह भौतिक एंड्रॉइड डिवाइस और एंड्रॉइड एमुलेटर दोनों पर काम करता है।


तुम सही हो। बस 13.3 के साथ मेरे iPad के साथ परीक्षण किया गया। मेरा फोन 13.3.1 के साथ काम नहीं करता है। बीटा 2 को अद्यतन करने के लिए और एक कोशिश दे :-)
केन हुई

13.3.1 सार्वजनिक बीटा 2 में एक ही मुद्दा है।
केन हुई

3
  1. क्या आप xcode लाइसेंस समझौते के लिए सहमत थे? यदि नहीं, तो प्रयास करें sudo xcodebuild -license
  2. क्या आपके पॉड्स अपडेट किए गए हैं? यदि नहीं, तो अपने टर्मिनल में स्पंदन परियोजना में आईओएस फ़ोल्डर में नेविगेट करें और pod installफिर टाइप करेंpod update

यदि यह काम नहीं करता है, तो अपने फ़्लटर प्रोजेक्ट में ios फ़ोल्डर पर जाएं और उस पर डबल-टैप करके Runner.xcworkspace खोलें। इसे ऐसा दिखना चाहिए:

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

जब xcode खुलता है, तो ऊपर बायीं तरफ Runner पर क्लिक करें।

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

फिर हस्ताक्षर और क्षमताओं पर जाएं और "टीम" ड्रॉपडाउन के तहत, एक फ़ील्ड चुनें। यदि कोई मौजूद नहीं है, तो एक खाता बनाएं।

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

फिर "बंडल आइडेंटिफ़ायर" में, आपके ऐप का बंडल नाम दिखाया जाना चाहिए। अंत में .app जोड़ें। उदाहरण के लिए, यदि इसका "com.example.yourapp" इसे "com.example.yourapp.app" बनाता है और एंटर दबाएँ।

ऐप को चयनित डिवाइस पर चलाने के लिए ऊपर बाईं ओर प्ले बटन दबाएं।


मेरे पास कोई पॉडफाइल नहीं है। मैं इस पोस्ट को देख रहा हूँ stackoverflow.com/questions/51599686/…
फेरन मायलिनच

अपनी मशीन में कोकोपोड्स स्थापित करें और अपने आईओएस डायरेक्टरी में पॉड कमांड चलाएं।
युधिष्ठिर सिंह

मेरे पास कोकोपोड्स हैं। मुझे किस पॉड कमांड का उपयोग करना चाहिए?
फेरन मायलिनच

पॉड इंस्टॉल और फिर पॉड अपडेट
युधिष्ठिर सिंह

मैंने अपने उत्तर के लिए संपादन किया है, कृपया देखें।
युधिष्ठिर सिंह

1

क्या आप एक-एक करके स्टेप फॉलो कर सकते हैं

flutter channel master
flutter upgrade
flutter clean
flutter build ios

मैंने वह कोशिश की है। बीटा चैनल पर भी।
फेरन मायलिनच

त्रुटि हस्ताक्षर क्षमताओं से संबंधित है, स्पंदन शाखा का इससे कोई लेना-देना नहीं है।
युधिष्ठिर सिंह

1

यह पोस्ट एक उत्तर नहीं है क्योंकि मैं इस मुद्दे के साथ संघर्ष कर रहा हूं और इसे लिख रहा हूं क्योंकि यह बिना किसी फिक्स के थोड़ी देर के लिए है

मैं केवल यही चाहता हूं कि यहां ओपी और अन्य सदस्यों को अधिक जानकारी प्रदान की जाए। इसलिए मेरे पास सब कुछ है जैसा कि ओपी ने कहा है।

यही मैंने कोशिश की है:

  1. पॉडफाइल नहीं बनाया गया है (सिम्युलेटर और आदि पर चलने के बाद भी) और यही कारण है कि मैंने फ्लटर गिथब के एक स्पंदन उदाहरण ऐप से एक को शामिल करने की कोशिश की है।

    • IOS निर्देशिका साफ़ की गई
    • एक पॉडफाइल जोड़ा गया
    • रान फली अपडेट।
    • फिक्स्ड चेतावनियाँ (एक्सोड को पॉड डीबग और रिलीज़ कॉन्फ़िगरेशन प्रदान की गई)
    • उपयोगकर्ता-निर्धारित सेटिंग्स (जैसा अनुपस्थित था) में FLUTTER_ROOT को जोड़ा गया और मुझे Xcode-backend.sh त्रुटि मिल रही थी (ठीक से याद नहीं है, क्षमा करें)
    • बनाया

तो ये चरण उत्पन्न करते हैं: सिम्युलेटर पर यह त्रुटि। फिजिकल डिवाइस पर पॉड के बिना समान हस्ताक्षर त्रुटियां

  • किचेन एक्सेस के सभी प्रमाणपत्रों को नष्ट कर दिया और उन्हें Xcode के माध्यम से पुनर्स्थापित किया।

    परिणाम: कुछ भी नहीं बदला

  • एक्सोड, पॉड और इससे संबंधित सेटिंग को हटा दिया गया। प्रमाण पत्र निकाले। रिबूट (ताजा स्थापना) के बाद सब कुछ बहाल

    परिणाम: फिर से, न ही फली के साथ निर्माण और न ही एक ही त्रुटि प्रदान किए बिना

  • मैंने फ़्लटर को देव चैनल (१.१४.१) में नवीनीकृत किया है और पुन: उपयोग किए गए प्रोजेक्ट का उपयोग किया है flutter create .

    ररान बनाता है। फली के साथ और बिना। अब भी वही

  • इसके अलावा, मैंने Apple डेवलपर से iOS डेवलपर तक सभी लक्ष्य (पॉड शामिल) पर हस्ताक्षर बदलने की कोशिश की है

    इसमें मुझे कुछ त्रुटियां मिली हैं क्योंकि मैंने पॉड्स-रनर पर हस्ताक्षर करने की कोशिश की है (थोड़ी उम्मीद थी)। लेकिन कुल मिलाकर कुछ भी नया नहीं है।

  • जैसा कि मैंने iOS 13.3.1 बीटा पर एक उपकरण चलाया है, मैंने लक्ष्य को 13.2 पर अपग्रेड किया (अधिकतम अभी उपलब्ध है?)।

    नहीं

  • मैंने macOS- बिल्ड को सक्षम किया है और मैक एप बनाया है

    यह प्रेरित के रूप में चलता है, सब कुछ ठीक है।

सारांश में:

  • यह समस्या पोड / नॉन-पॉड प्रोजेक्ट पर निर्भर नहीं है।
  • नवीनतम-स्थिर स्पंदन और नवीनतम देव के बीच इस मुद्दे के संबंध में कुछ भी नहीं बदला (जैसा कि पोस्ट लिखा गया है)
  • यह बग Xcode पुनर्स्थापना द्वारा निर्धारित नहीं है और Keychain प्रमाणपत्र से संबंधित नहीं है
  • केवल भौतिक iOS डिवाइस (मेरे मामले में iPhone X) के लिए निर्माण करते समय समस्या उत्पन्न होती है। सिम्युलेटर (पॉड के बिना) अच्छी तरह से चलता है।

Btw। सब कुछ मैकबुक प्रो 13 पर कैटालिना 10.15.3 स्थापित और एक्सकोड 11.3.1 के साथ चल रहा था।

हर रन -v फ्लैग के साथ था और बिल्ड एस के दौरान लॉग में कुछ भी संदिग्ध नहीं पाया गया था

फिर। मुझे खेद है कि अगर मैंने कुछ गलत पोस्ट किया है, लेकिन मैं इस मुद्दे की नकल नहीं करना चाहता या ओपी को संपादित करने का सुझाव देना चाहता हूं क्योंकि यह पोस्ट बहुत लंबी है।


इस उत्तर के लिए आपका बहुत-बहुत धन्यवाद। यह समाधान नहीं है, लेकिन यह बहुत उपयोगी है। जाहिर है, वहाँ कुछ गड़बड़ है। ऐसा लगता है कि Google को ठीक से पता नहीं है कि Apple क्या उम्मीद कर रहा है, या Apple
फ़्लटर को

वैसे, कल मैंने एक और मैक पर फ्लटर की कोशिश की, जिसमें मोजावे (मेरा कैटालिना है), और मुझे वही त्रुटि मिली।
फेरन मायलिनच

संभवत: यह कोडसाइन या स्पंदन से संबंधित कुछ है। हमें एक मुद्दे को खोलना चाहिए github.com/flutter/flutter/issues
Emin Guliev

हाँ। अच्छा विचार। मुझे पता है अगर आप इसे करते हैं, या मैं इसे खुद कर सकता हूं।
फेरन मायलिनच

0

स्थिर चैनल के माध्यम से स्विच करने का प्रयास करें flutter channel stable, निष्पादित करें flutter upgradeऔर फिर ऐप प्रोजेक्ट पर जाएं और चलाएंflutter run


दुर्भाग्य से, मुझे वही त्रुटि मिलती है। मैंने स्थिर चैनल में बदलने के बाद एक नया स्पंदन ऐप भी बनाया। मैंने अपने प्रश्न को यह दिखाने के लिए अद्यतन किया कि अब मैं स्थिर चैनल पर हूँ।
फेरन मायलिनच

मैंने स्पंदन रन के आउटपुट को भी जोड़ा।
फेरन मायलिनच

0

बस डिबग मोड में ऐप को चलाने के लिए, किसी भी ऐप्पल सशुल्क खाते की आवश्यकता नहीं है। 1) उस प्रोजेक्ट के लिए xCode खोलें और डिवाइस का चयन करें और उसमें चलाएं।

उस प्रोजेक्ट का XCode खोलें और बिल्ड सेटिंग्स की जाँच करें क्योंकि वहाँ FLUTTER_ROOT पथ सही है, अगर वहाँ फ़्लटर रूट नहीं बनाते हैं और पथ देते हैं।


मेरे पास एक सही है FLUTTER_ROOT। यह समस्या नहीं है ... :(
फेरन मेलिनच

0

Xcode को खोलें और Product -> Clean( CMD- Shift-) पर क्लिक करें।K ) । यदि इसके बाद काम नहीं किया गया तो: https://macpaw.com/how-to/clear-xcode-cache

अगर वह भी काम नहीं कर रहा है, तो कृपया मुझे बताएं।


यह काम नहीं करता है। मुझे एहसास हुआ कि मेरे पास कोई पॉडफाइल नहीं है, इसलिए मैं इसकी जाँच कर रहा हूं: stackoverflow.com/questions/51599686/…
फेरन मेलिनच

0

क्या आपने इस लिंक को जांचा है जो आपको वांछित आउटपुट दे सकता है https://github.com/flutter/flutter/issues/16507 । मुझे पता है कि अगर यह काम करता है तो यह एक हस्ताक्षर करने वाला मुद्दा हो सकता है, यह पोस्ट आपको यह विचार देगा कि क्या गलत हो रहा है। धन्यवाद


मेरे पास कोई पॉडफाइल नहीं है इसलिए मैं इसकी जाँच कर रहा हूँ: stackoverflow.com/questions/51599686/… फिर भी, मुझे नहीं पता कि मुझे पॉडफाइल की क्या ज़रूरत है। मैंने एक बनाया लेकिन मुझे अभी भी वही त्रुटि मिली है। इसलिए शायद मुझे पोडफाइल की जरूरत नहीं है या वैसे भी समस्या एक और है।
फेरन मायलिनच

0

ठीक है, जवाब बनाने के लिए एक पल होने:

सुबाहरन वेल उत्तर पर आधारित , प्रश्न: फ़्लटर पॉडफिल और पॉड्स फ़ोल्डर आईओएस डायरेक्टरी में नहीं बनाए गए हैं और उत्तर देते हैं कि आईओएस सिम्युलेटर के लिए बिल्डिंग पॉडफ़ाइल को गलत स्थान पर बना सकती है (इसे सीधे आईओएस निर्देशिका में बनाया जाना चाहिए। इसलिए ऐसा लगता है कि आपका पॉडफ़ाइल संभव है। वहां कहीं भी मौजूद है। इसे खोजने की कोशिश करें या पूरे आईओएस निर्देशिका को हटा दें, परियोजना को साफ करें और इसे फिर से बनाएं। यह भी सुनिश्चित करें कि यह कोई पॉडफ़िल नहीं बना रहा है आईओएस पॉड्स को जोड़ने के लिए किसी भी फ़्लटर प्लग को जोड़ने से पहले कभी प्लग पॉड को हुक नहीं करता है। मौजूदा पॉडफाइल

सौभाग्य, मुझे उम्मीद है कि यह आपकी मदद करेगा


Podfileकहीं भी नहीं है। मैं दौड़ता हूं find . -name Podfileऔर मुझे कुछ नहीं मिलता है। मैंने iosनिर्देशिका निकाल दी, लेकिन अब, मैं इसे कैसे बना सकता हूं? अगर मैं चलाता flutter build iosहूं तो मुझे त्रुटि मिलती है Application not configured for iOS
फेरन मायलिनच

@Ferran Maylinch बस सुरबहन वेल (पहले लिंक) से सभी चरणों को दोहराएं - उन्होंने ios निर्देशिका को हटा दिया, और इसे सफाई परियोजना के बाद फिर से बनाया गया। यदि आवश्यक हो तो पॉडफाइल को मैन्युअल रूप से जोड़ें ( stackoverflow.com/a/53492243/7183675 से , वहाँ से अनावश्यक पॉड्स निकालें, इस उत्तर के तहत दूसरी टिप्पणी भी देखें)। अंतिम उपाय के रूप में - यदि आप फ़्लटर को पॉडफ़ाइल बनाने के लिए स्वचालित रूप से बनाने के लिए पबस्पेक में कम से कम एक पैकेज जोड़ते हैं तो यह मदद कर सकता है। यहां तक ​​कि अगर यह पैकेज वास्तव में उपयोग में नहीं है
एडम टुचोलस्की

0

एक आदर्श समाधान नहीं है, लेकिन निम्नलिखित मेरे लिए काम किया।

  1. अपने डिवाइस को iOS 13.4 बीटा में अपग्रेड करें
  2. एक स्पंदन रन करें
  3. बिल्ड सफल होना चाहिए।
  4. यह "आपका एक्सकोड संस्करण आपके आईओएस संस्करण के लिए बहुत पुराना हो सकता है" त्रुटि पर फेंक देगा ।
  5. डिवाइस पर एप्लिकेशन इंस्टॉल हो जाता है। नोट: प्रक्रिया समाप्त होते ही एप्लिकेशन स्वचालित रूप से लॉन्च नहीं होगा।
  6. ऐप लॉन्च करने के लिए अपने डिवाइस पर इंस्टॉल ऐप आइकन पर क्लिक करें।

हालाँकि, आप डिबग विंडो पर कुछ भी नहीं देख पाएंगे क्योंकि त्रुटि को फेंकने के बाद प्रक्रिया समाप्त हो जाती है। यह एक आदर्श समाधान नहीं है, लेकिन निश्चित रूप से एक समाधान है जब तक कि हमें अगला Xcode अपडेट नहीं मिलता है। 

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