TL; DR
Veja a resposta abaixo: https://stackoverflow.com/a/60013390/1121497
Parece que houve um problema no iOS 13.3 porque eu acabei de instalar o 13.4 e agora o Flutter funciona no meu iPhone. :)
Estou tentando executar um novo aplicativo Flutter (o aplicativo de exemplo criado por flutter create
) em um dispositivo iOS (um iPhone XS). O Xcode consegue instalá-lo, mas depois trava com esta mensagem:
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'
Se eu tentar flutter run
, o aplicativo também abre e trava. E o comando continua esperando para sempre:
$ 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.) ⢿
No Xcode, configurei uma equipe (equipe pessoal) e o certificado de assinatura (certificado de desenvolvimento da Apple) parece bom porque posso instalar um projeto Hello world Swift no meu dispositivo.
Nota: não estou pagando uma conta do Apple Developer Program . Isso é absolutamente necessário para executar aplicativos Flutter em dispositivos iOS?
Segui as instruções do macOS e flutter doctor
disse que tenho tudo o que preciso para o 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.
Como você pode ver, eu usei o canal estável, para descartar problemas com o canal beta, mas geralmente trabalho no canal beta para criar flutter para a web (que funciona bem).
No simulador do iOS, o aplicativo também funciona bem.
Recentemente notei que não tenho o arquivo ios/Podfile
. Eu encontrei este post falando sobre isso. Não sei se isso é importante ou não no meu caso, mas tentei adicionar manualmente esse Podfile . De qualquer forma, recebo o mesmo erro de assinatura.
Frustrado com isso, mudei para o NativeScript por enquanto.
flutter build ios --release