TL; DR
РЕДАКТИРОВАТЬ 2020-05-06 : Мое приложение корректно устанавливается с iOS 13.4, но через некоторое время приложение вылетает при запуске, и мне приходится переустанавливать его. Я не знаю почему. Может быть, после обновлений iOS?
Также см. Ответ ниже: https://stackoverflow.com/a/60013390/1121497
Полный вопрос
Я пытаюсь запустить новое приложение Flutter (пример приложения, созданного 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 Development) выглядит нормально, потому что я могу установить проект Hello world Swift на свое устройство.
Примечание. Я не плачу с учетной записью Apple Developer Program . Это абсолютно необходимо для запуска приложений Flutter на устройствах 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
. Я нашел этот пост, говорящий об этом. Я не знаю, важно ли это в моем случае, но я пытался вручную добавить этот Podfile . Во всяком случае, я получаю ту же ошибку подписи.
Разочарованный этим, я переключился на NativeScript на данный момент.
flutter build ios --release