web-dev-qa-db-fra.com

Code d'en-tête Mach-O inattendu: 1918975009 dans xCode 6

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. 
28
rtvanals

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.

32
mkeiser

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.

 Remove pods from embedded binaries

35
Naloiko Eugene

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.

10
Mark Thormann

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)

3
damneddemand

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 ..

2
Devansh Bhardwaj

parfois, vous devriez regarder Build Phases - Embed Pods Frameworks. et trouvez le fichier shell. par exemple.

Phases de construction

et ouvrez Pods-midea-common-adddevice_Example-frameworks.sh Voyez si ce fichier pose un problème.

1
邓立兵

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.

0
Emre Gürses

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. 

0
rockdaswift

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.

0
Perlguy