TL; DR
Voir la réponse ci-dessous: https://stackoverflow.com/a/60013390/1121497
Il semble que ce soit un problème avec iOS 13.3 car je viens d'installer 13.4 et maintenant Flutter fonctionne sur mon iPhone. :)
J'essaie d'exécuter une nouvelle application Flutter (l'exemple d'application créé par flutter create
) sur un appareil iOS (un iPhone XS). Xcode parvient à l'installer, mais il se bloque avec ce message:
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'
Si j'essaie flutter run
, l'application s'ouvre également et se bloque. Et la commande attend toujours:
$ 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.) ⢿
Dans Xcode, j'ai configuré une équipe (équipe personnelle) et le certificat de signature (certificat de développement Apple) semble correct car je peux installer un projet Hello world Swift sur mon appareil.
Remarque: je ne paie pas de compte du programme pour développeurs Apple . Est-ce absolument nécessaire pour exécuter les applications Flutter sur les appareils iOS?
J'ai suivi les instructions macOS et flutter doctor
dit que j'ai tout ce dont j'ai besoin pour 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.
Comme vous pouvez le voir, j'ai utilisé le canal stable pour éliminer les problèmes avec le canal bêta, mais je travaille généralement dans le canal bêta pour créer un flottement pour le Web (ce qui fonctionne bien).
Dans le simulateur iOS, l'application fonctionne également très bien.
Récemment, j'ai remarqué que je n'ai pas le fichier ios/Podfile
. J'ai trouvé ce post en parlant de ça. Je ne sais pas si c'est important ou non dans mon cas, mais j'ai essayé d'ajouter manuellement ce Podfile . Quoi qu'il en soit, j'obtiens la même erreur de signature.
Frustré par cela, je suis passé à NativeScript pour l'instant.
flutter build ios --release
Réponses:
EDIT: Ceci est corrigé sur iOS 13.4, qui a été publié le 24 mars.
Il s'agit d'une régression iOS 13.3.1 sans rapport avec Flutter. J'ai pu reproduire le crash sans aucun code Flutter ou CocoaPods en créant un nouveau projet Xcode, en ajoutant une cible de framework et en choisissant un profil de provisioning Personal Team.
Voir le problème GitHub: https://github.com/flutter/flutter/issues/49504#issuecomment-581554697 .
Le bogue ne devrait pas avoir d'incidence sur les profils d'approvisionnement des équipes du compte développeur ni sur les applications déjà signées et distribuées sur l'App Store.
Malheureusement, la seule solution de contournement peut être d'éviter la mise à niveau des périphériques de développement vers 13.3.1 jusqu'à ce que cela soit résolu.
la source
Pour autant que je puisse voir, c'est un problème de compatibilité Flutter avec iOS 13.3.1. Dans mon cas, mon application fonctionne parfaitement sur iPhone XR avec iOS 13.3 mais se bloque au lancement sur un autre iPhone XR avec iOS 13.3.1. Impossible de tester dans le simulateur, car il s'agit d'une application d'appareil photo, mais cela fonctionne à la fois sur les appareils Android physiques et les émulateurs Android.
la source
sudo xcodebuild -license
.pod install
ensuitepod update
Si cela ne fonctionne pas, accédez au dossier ios de votre projet flutter et ouvrez Runner.xcworkspace en appuyant deux fois dessus. Ça devrait ressembler à ça:
Lorsque xcode s'ouvre, cliquez sur Runner en haut à gauche.
Ensuite, allez dans Signature et capacités et sous la liste déroulante "Équipe", sélectionnez un champ. S'il n'en existe pas, créez un compte.
Ensuite, dans "Bundle Identifier", le nom du bundle de votre application doit s'afficher. Ajoutez .app à la fin. Par exemple, si son "com.example.yourapp" en fait "com.example.yourapp.app" et appuyez sur Entrée.
Appuyez sur le bouton de lecture en haut à gauche pour exécuter l'application sur l'appareil sélectionné.
la source
Pouvez-vous suivre les étapes une par une
la source
Ce message est pas une réponse parce que je lutte également avec ce problème et que j'écris ceci car cela fait un moment sans correctif
Tout ce que je veux, c'est fournir plus de détails au PO et aux autres membres ici. J'ai donc tout comme OP l'a déclaré.
Voici ce que j'ai essayé:
Podfile n'est pas créé (même après avoir exécuté sur Simulator et etc) et c'est pourquoi j'ai essayé d'en inclure un à partir d'une application d'exemple de flutter de Flutter Github.
Supprimé tous les certificats de Keychain Access et les a restaurés via Xcode.
Suppression de Xcode, Pod et paramètres associés. Certificats supprimés. Tout restauré après un redémarrage (nouvelle installation)
J'ai mis à niveau Flutter vers le canal de développement (1.14.1) et régénéré le projet en utilisant
flutter create .
J'ai également essayé de changer la signature d'Apple Developer en iOS Developer sur toutes les cibles (Pod inclus)
Comme j'exécute un appareil sur iOS 13.3.1 Beta, j'ai mis à niveau Target vers 13.2 (maximum disponible en ce moment?).
J'ai activé les builds macOS et créé une application Mac
Pour résumer:
Btw. Tout fonctionnait sur MacBook Pro 13 avec Catalina 10.15.3 installé et Xcode 11.3.1.
Chaque exécution était avec l'indicateur -v et rien de suspect n'a été trouvé dans les journaux pendant la génération s
Encore. Je suis désolé si j'ai fait quelque chose de mal en postant cela, mais je ne voulais pas dupliquer ce problème ou suggérer OP une modification car ce message est assez long.
la source
Essayez de basculer vers un canal stable via
flutter channel stable
, exécutezflutter upgrade
, puis accédez au projet d'application et exécutezflutter run
la source
Juste pour exécuter l'application en mode débogage, il n'a pas besoin de compte Apple payant. 1) Ouvrez le xCode pour ce projet et sélectionnez le périphérique et exécutez-le.
Ouvrez le XCode de ce projet et vérifiez les paramètres de construction car le chemin FLUTTER_ROOT est correct, sinon créez la racine de flottement et indiquez le chemin.
la source
FLUTTER_ROOT
. Ce n'est pas le problème ... :(Ouvrez le Xcode et cliquez sur
Product -> Clean
ou (CMD
-Shift
-K
). Si cela ne fonctionne pas, essayez ceci: https://macpaw.com/how-to/clear-xcode-cacheSi cela ne fonctionne pas, faites-le moi savoir.
la source
Avez-vous vérifié ce lien qui pourrait vous donner la sortie souhaitée https://github.com/flutter/flutter/issues/16507 . laissez-moi savoir si cela fonctionne peut être un problème de signature, ce post vous donnera l'idée de ce qui ne va pas. Merci
la source
Ok, avoir un moment pour créer une réponse:
Sur la base de la réponse Subaharan Vel , question: Flutter Podfile et dossiers Pods non créés dans le répertoire ios et réponse suggérant que la construction pour le simulateur iOS peut créer un podfile à un endroit incorrect (il devrait être créé automatiquement directement dans le répertoire iOS. Il semble donc probable que votre Podfile existe quelque part là-bas. Essayez de le trouver ou supprimez tout le répertoire ios, nettoyez le projet et recréez-le. Assurez-vous également que ce n'est pas le cas. Créer un fichier pod pour ajouter des pods iOS avant d'ajouter des plugins Flutter ne connecte jamais les pods plugin dans le Podfile existant .
Bonne chance, j'espère que cela vous aidera
la source
Podfile
nulle part. Je coursfind . -name Podfile
et je ne reçois rien. J'ai supprimé leios
répertoire mais maintenant, comment puis-je le recréer? Si je cours,flutter build ios
j'obtiens l'erreurApplication not configured for iOS
.Ce n'est pas une solution idéale, mais ce qui suit a fonctionné pour moi.
Cependant, vous ne pourrez rien voir dans la fenêtre de débogage car le processus se termine après avoir renvoyé l'erreur. Ce n'est pas une solution idéale mais certainement une solution de contournement jusqu'à la prochaine mise à jour de Xcode.
la source