TL; DR
Дивіться відповідь нижче: https://stackoverflow.com/a/60013390/1121497
Схоже, це була проблема з iOS 13.3, оскільки я щойно встановив 13.4 і зараз Flutter працює на моєму iPhone. :)
Я намагаюся запустити новий додаток 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 я налаштував команду (Personal Team) і сертифікат підпису (сертифікат Apple Development) здається нормальним, оскільки я можу встановити проект Hello world Swift на свій пристрій.
Примітка. Я не плачу за рахунок програми для розробників Apple . Це абсолютно необхідно для запуску програм 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