2016-05-27 1 views
13

Hier j'ai commencé à faire passer le message d'erreur étrange d'iTunes Connect:ITMS-90668 - Fichier exécutable de lot non valide. Le fichier exécutable contient code binaire incomplet

ITMS-90668 
Invalid Bundle Executable. 
The executable file '...' contains incomplete bitcode. 
To compile binaries with complete bitcode, open Xcode and choose Archive in the Product menu. 

En fait, je reçois beaucoup de messages identiques pour chacun de mes cadres intégrés. J'utilise Bitcode, et je n'ai rien changé de Bitcode associé dans mon projet. Cela semble être une nouvelle exigence d'ITMS (ou un bug). Et je n'ai aucune idée de comment le réparer.

On dirait que ce problème est mystérieusement lié aux outils CI comme Shenzhen ou BuddyBuild. Ou, peut-être, il est lié à des cas où les dépendances contiennent du code précompilé.

Juste au cas où, mon application:

  • a ces dépendances qui ont précompilés code: BuddyBuildSDK, Firebase, CARDIO.
  • Écrit dans Swift.
  • Possède l'extension de clavier iOS.
  • Utilisez BuddyBuild.
  • Utilisez CocoaPods.

Mise à jour:

j'avais changé pratiquement rien et le problème a fait disparaître hier. Je n'ai aucune idée de pourquoi exactement. Je crois qu'Apple vient de réparer ce bug ou c'est un problème de chance.

+0

Même ici, tout à coup, tout à coup, tout à coup. J'ai essayé de placer le bitcode à OUI et NON les deux variantes - aucun changement. –

+0

J'ai le même problème. Comment soumettez-vous votre code à iTunes Connect? – BlackHatSamurai

+0

Obtenir le même problème, je pense que c'est un bug d'Apple. Est-ce qu'un rapport a été fait? –

Répondre

3

J'ai eu le même problème avec certaines dépendances de pod. J'ai modifié le paramètre de construction "Activer Bitcode" pour chaque projet de pod causant le problème (en suivant les descriptions d'erreurs de itunesconnect). Maintenant tout fonctionne.

Vous pouvez le définir dans le fichier Pod. Voici un exemple qui change pour chaque dépendances:

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
    target.build_configurations.each do |config| 
     config.build_settings['ENABLE_BITCODE'] = 'NO' 
    end 
    end 
end 

Trouvé ici: Disable bitcode for project and cocoapods dependencies with Xcode7?

+0

Donc, est ce problème lié à buddybuild ?! –

+0

Je ne pense pas. J'ai utilisé la description de l'erreur depuis iTunesConnect dans buddybuild. Je pense qu'Apple a changé les règles de validation des applications. – Julien

+0

Ok, c'est une bonne solution de contournement temporaire, mais je veux utiliser Bitcode, alors évidemment je ne veux pas le désactiver. –