Quelle est la cause de l'erreur
Found an unexpected Mach-O header code: 1918975009 in xCode 6
J'ai archivé mon projet pour l'envoyer en tant que build ad hoc
et il compile parfaitement mais quand je suis dans l'organisateur xCode
et que je sélectionne Export -> Ad Hoc
,
Je reçois l'erreur
Found an unexpected Mach-O header code: 191897500.
J'ai eu la même erreur. Dans mon cas, cela est dû à un framework universel que j'ai copié accidentellement dans les ressources de l'application (inutile, car les frameworks sont directement fusionnés dans l'exécutable principal sur iOS AFAIK).
Sélectionnez donc votre cible, cliquez sur l'onglet "Construire les phases", puis parcourez la liste "Copier les ressources du paquet" pour voir si vous copiez une bibliothèque ou une structure contenant des architectures de bureau (i386 ou x86_64).
Très probablement, la copie d'un tel fichier est erronée, mais si, pour une raison quelconque, vous devez le faire, apparemment, il ne peut contenir que des architectures compatibles iOS.
Dans mon cas, ce problème ("j'ai trouvé un code d'en-tête mach-o inattendu 0x72613c21") est apparu après l'installation de Crashlytics, Fabric.
D'une manière ou d'une autre, les pods semblaient devenir un binaire incorporé. Je devais donc le supprimer, pod installer une fois de plus et le problème disparut.
Avait une erreur similaire 1918975009 avec le nouveau système de génération Swift dans Xcode 9.3 (sous Paramètres de l'espace de travail ...) sur un framework tiers ajouté manuellement (sans utilisation de Cocoapods). Peut-être lié au fil de discussion ci-dessus, donc au cas où cela pourrait aider quelqu'un… Cela n'est apparu qu'après la mise à niveau vers Xcode 9.3 après sa publication officielle hier. Xcode 9.2 et versions antérieures sur le nouveau système de construction ne lançaient pas l'avertissement.
:-1: <path>/Frameworks/<frameworkName>.framework/<frameworkName>: Failed to parse executable: Unknown header: 1918975009
Le retour à l’ancien système de construction non basé sur Swift résout le problème. Ce n'est pas une solution optimale, mais si vous voyez un avertissement similaire, vous pourrez passer à autre chose pour le moment.
J'ai rencontré la même erreur et je n'ai pas été en mesure de la localiser dans une bibliothèque/une structure dans des ressources de liasse de copies, ou une version incorrecte d'une bibliothèque.
En guise de solution de contournement, j'ai constaté que je pouvais créer une version d'exportation à partir de la ligne de commande et cela semblait fonctionner:
xcodebuild -exportArchive -exportFormat ipa \
-archivePath /path/to/app.xcarchive/ \
-exportPath /path/to/app.ipa \
-exportProvisioningProfile "Name of provisioning profile"
Ici "Nom du profil de provisioning" est le nom du profil de provisioning tel qu'il apparaît dans Xcode (pas le chemin du profil)
Allez à PHASE DE CONSTRUCTION -> COPIEZ DES RESSOURCES, vous y trouverez un cadre. Supprimer de cette section et l'ajouter à LINK BINARY WITH LIBRARIES . Cela fonctionnera ..
parfois, vous devriez regarder Build Phases
- Embed Pods Frameworks
. et trouvez le fichier shell. par exemple.
et ouvrez Pods-midea-common-adddevice_Example-frameworks.sh
Voyez si ce fichier pose un problème.
problème résolu dans mon cas
Build Phases -> Copier les ressources d'un paquet pour un framework ou un autre binaire qui ne devrait pas être là
je supprime TwitterKit et DigitKit binaire.
Edit: Lorsque je supprime ce binaire de Copy Bundle Resources, le projet peut être construit, archivé, passé à la validation et également envoyé à App Store. Mais lorsque je lance le projet, il échoue. Donc, si je supprime de Copier ressources et que j’ajoute aux sections Link Binary With Library (nous choisissons "Ajouter autre" et que nous appuyons sur cmd + shift + g pour aller où votre bundle ou binaire) est résolu.
Vérifiez que vous n'intégrez pas de structure statique dans la section "Binaires incorporés" de l'onglet Général de la cible.
Autant que je sache Vous pouvez vérifier si le cadre est statique si l'icône binaire à l'intérieur du .framework est blanche. Si l'icône est noire, il s'agit d'un cadre dynamique.
Je viens tout juste de rencontrer ce problème et j'ai pu le résoudre ...
Dans mon cas, j'avais créé une nouvelle cible en dupliquant une cible existante. J'avais changé le nom de "MyApp-dev copy" en "MyApp-test", cependant, j'ai oublié une chose ... Lorsque vous créez une nouvelle cible, un nouveau fichier .plist est également créé. J'ai oublié de renommer ce fichier, puis de le lier à ma cible nouvellement créée.
Une fois que j'ai fait cela, le problème a disparu. À l’origine, je lisais des informations sur les cibles à l’adresse: http://www.raywenderlich.com/68613/create-paid-lite-version-iphone-app et le fait de revenir en arrière sur cette page m’a aidé à résoudre le problème.