TL; DR
Lihat jawaban di bawah: https://stackoverflow.com/a/60013390/1121497
Sepertinya itu masalah dengan iOS 13.3 karena saya baru saja menginstal 13.4 dan sekarang Flutter berfungsi di iPhone saya. :)
Saya mencoba menjalankan aplikasi Flutter baru (contoh aplikasi yang dibuat oleh flutter create
) pada perangkat iOS (iPhone XS). Xcode berhasil menginstalnya, tetapi kemudian crash dengan pesan ini:
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'
Jika saya mencoba flutter run
, aplikasi juga terbuka dan macet. Dan perintah itu terus menunggu selamanya:
$ 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.) ⢿
Di Xcode saya mengkonfigurasi Tim (Tim Pribadi) dan Sertifikat Penandatanganan (sertifikat Pengembangan Apple) tampaknya baik-baik saja karena saya dapat menginstal proyek Hello world Swift di perangkat saya.
Catatan: Saya tidak membayar akun Program Pengembang Apple . Apakah itu mutlak diperlukan untuk menjalankan aplikasi Flutter di perangkat iOS?
Saya telah mengikuti instruksi macOS dan flutter doctor
mengatakan saya memiliki semua yang saya butuhkan untuk 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.
Seperti yang Anda lihat, saya menggunakan saluran stabil, untuk membuang masalah dengan saluran beta, tapi saya biasanya bekerja di saluran beta untuk membuat flutter untuk web (yang berfungsi dengan baik).
Di simulator iOS aplikasi juga berfungsi dengan baik.
Baru-baru ini saya perhatikan bahwa saya tidak punya file ios/Podfile
. Saya menemukan posting ini berbicara tentang itu. Saya tidak tahu apakah ini penting atau tidak dalam kasus saya, tetapi saya mencoba menambahkan secara manual Podfile ini . Lagi pula, saya mendapatkan kesalahan tanda tangan yang sama.
Frustrasi dengan ini, saya beralih ke NativeScript untuk saat ini.
flutter build ios --release
Jawaban:
EDIT: Ini diperbaiki pada iOS 13.4, yang dirilis 24 Maret.
Ini adalah regresi iOS 13.3.1 yang tidak terkait dengan Flutter. Saya dapat mereproduksi kerusakan tanpa kode Flutter atau CocoaPods dengan membuat proyek Xcode baru, menambahkan target kerangka kerja, dan memilih profil penyediaan Tim Pribadi.
Lihat masalah GitHub: https://github.com/flutter/flutter/issues/49504#issuecomment-581554697 .
Bug tidak akan memengaruhi profil atau aplikasi tim Akun Pengembang yang sudah masuk dan didistribusikan di App Store.
Sayangnya satu-satunya solusi untuk menghindari peningkatan perangkat pengembangan ke 13.3.1 sampai ini diselesaikan.
sumber
Sejauh yang saya bisa lihat, ini adalah masalah kompatibilitas Flutter dengan iOS 13.3.1. Dalam kasus saya, aplikasi saya berjalan dengan baik di iPhone XR dengan iOS 13.3 tetapi macet saat diluncurkan di iPhone XR lain dengan iOS 13.3.1. Tidak dapat menguji dalam simulator karena ini adalah aplikasi kamera tetapi berfungsi pada perangkat Android fisik dan emulator Android.
sumber
sudo xcodebuild -license
.pod install
itupod update
Jika ini tidak berhasil, buka folder ios di proyek flutter Anda dan buka Runner.xcworkspace dengan mengetuknya dua kali. Seharusnya terlihat seperti ini:
Ketika xcode terbuka, klik Runner di kiri atas.
Lalu pergi ke Penandatanganan dan Kemampuan dan di bawah dropdown "Tim", pilih bidang. Jika tidak ada, buat akun.
Kemudian di "Bundle Identifier", nama bundel aplikasi Anda akan ditampilkan. Tambahkan .app pada akhirnya. Misalnya, jika "com.example.yourapp", buat "com.example.yourapp.app" dan tekan enter.
Tekan tombol putar di kiri atas untuk menjalankan aplikasi pada perangkat yang dipilih.
sumber
Bisakah Anda mengikuti langkah satu per satu
sumber
Posting ini bukan jawaban karena saya berjuang dengan masalah ini juga dan menulis ini karena sudah lama tidak diperbaiki
Yang saya inginkan adalah memberikan rincian lebih lanjut kepada OP dan anggota lain di sini. Jadi saya memiliki segalanya seperti yang dinyatakan OP.
Inilah yang saya coba:
Podfile tidak dibuat (bahkan setelah berjalan di Simulator dan lain-lain) dan itulah sebabnya saya telah mencoba memasukkan satu dari aplikasi contoh bergetar dari Flutter Github.
Menghapus semua sertifikat dari Keychain Access dan mengembalikannya melalui Xcode.
Xcode dihapus, Pod dan pengaturan yang terkait dengannya. Sertifikat yang dihapus. Memulihkan semuanya setelah reboot (instalasi baru)
Saya telah memutakhirkan Flutter ke saluran dev (1.14.1) dan menggunakan kembali proyek
flutter create .
Saya juga telah mencoba mengubah tanda tangan dari Pengembang Apple menjadi Pengembang iOS di semua target (termasuk Pod)
Saat saya menjalankan perangkat di iOS 13.3.1 Beta, saya meningkatkan Target ke 13.2 (maksimum tersedia saat ini?).
Saya telah mengaktifkan macOS-builds dan membangun aplikasi Mac
Untuk menyimpulkan:
Btw. Semuanya berjalan di MacBook Pro 13 dengan Catalina 10.15.3 diinstal dan Xcode 11.3.1.
Setiap Proses dijalankan dengan flag -v dan tidak ada yang mencurigakan ditemukan di log selama build s
Lagi. Saya minta maaf jika saya melakukan kesalahan posting ini tetapi saya tidak ingin menduplikasi masalah ini atau menyarankan OP mengedit karena posting ini cukup panjang.
sumber
Cobalah untuk beralih ke saluran stabil melalui
flutter channel stable
, jalankanflutter upgrade
dan kemudian navigasikan ke proyek aplikasi dan jalankanflutter run
sumber
Hanya untuk menjalankan aplikasi dalam mode Debug, tidak perlu akun berbayar apel. 1) Buka xCode untuk proyek itu dan pilih perangkat dan jalankan di dalamnya.
Buka XCode dari proyek itu dan periksa Build Settings karena ada jalur FLUTTER_ROOT yang benar, jika tidak ada buat root flutter dan berikan path.
sumber
FLUTTER_ROOT
. Bukan itu masalahnya ... :(Buka Xcode dan klik
Product -> Clean
atau (CMD
-Shift
-K
). Jika itu tidak berhasil coba ikuti ini: https://macpaw.com/how-to/clear-xcode-cacheJika itu juga tidak berhasil, beri tahu saya.
sumber
Apakah Anda memeriksa tautan ini yang mungkin memberi Anda hasil yang diinginkan https://github.com/flutter/flutter/issues/16507 . beri tahu saya jika ini berfungsi mungkin ini masalah penandatanganan, pos ini akan memberi Anda ide apa yang salah. Terima kasih
sumber
Oke, ada saat untuk membuat jawaban:
Mendasarkan pada Subaharan Vel jawaban , pertanyaan: Flutter Podfile dan folder Pods tidak dibuat di direktori ios dan jawaban menyarankan bahwa membangun untuk simulator iOS dapat membuat podfile di tempat yang salah (itu harus dibuat secara otomatis langsung di direktori iOS. Jadi sepertinya Podfile Anda ada di suatu tempat di sana. Cobalah untuk menemukan atau hanya menghapus seluruh direktori ios, bersihkan proyek dan buat ulang itu. Juga pastikan bahwa ini tidak terjadi. Membuat Podfile untuk menambahkan pod iOS sebelum menambahkan plugin Flutter apa pun tidak pernah mengaitkan pod plugin di Podfile yang ada .
Semoga beruntung, saya harap ini akan membantu Anda
sumber
Podfile
dimanapun. Saya berlarifind . -name Podfile
dan tidak mendapat apa-apa. Saya menghapusios
direktori tetapi sekarang, bagaimana saya bisa membuatnya kembali? Jika saya menjalankanflutter build ios
saya mendapatkan kesalahanApplication not configured for iOS
.Bukan solusi ideal tetapi yang berikut ini berhasil untuk saya.
Meskipun, Anda tidak akan dapat melihat apa pun di jendela debug karena proses berakhir setelah melempar kesalahan. Ini bukan solusi ideal, tetapi jelas merupakan solusi hingga kami mendapatkan pembaruan Xcode berikutnya.
sumber