web-dev-qa-db-fra.com

Clé CFBundleExecutable inattendue

Après avoir passé du temps à googler, quelque chose me dit que le problème est nouveau.

Nous avions un projet entièrement fonctionnel prenant en charge iOS7-8. Bien sûr, il a été soumis plusieurs fois avec succès à l'AppStore. 

Nous utilisons des pods, beaucoup de suivi et de surveillance, comme GA et Instabug. 

Nous avons maintenant décidé de soumettre une version de l'application créée sur Xcode 7 sur iOS 9 à TestFlight.

Nous avons désactivé le bitcode, car de nombreux pods, comme Flurry et d'autres bibliothèques prédéfinies, ne l'incluent pas.

La construction a réussi, après la soumission à iTunesConnect, nous obtenons ceci:  enter image description here

Nous avions la même chose pour la bibliothèque GoogleAppIndexing (dans les pods également), mais nous l'avons supprimée, simplement pour que cela fonctionne. Maintenant - Instabug. C'est aller trop loin, j'essaie donc de comprendre ce qui se passe dans iOS 9 et quels sont les changements qui ont permis à un projet totalement fonctionnel de commencer à générer de telles erreurs.

Toutes les pensées et les idées sont les bienvenues! S'il vous plaît partagez votre expérience, et si j'ai manqué quelque chose, je partagerai volontiers mes pas.

95
Dumoko

J'ai rencontré le même problème aujourd'hui avec le même message d'erreur lors de la soumission de notre application (avec Xcode 7 beta 5), ​​mais au lieu du bit instabug.bundle, c'était pour moi TencentOpenApi_IOS_Bundle.bundle.

J'ai résolu le problème en recherchant le paquet nommé dans le projet puis, comme le suggère le message d'erreur, édité le Info.plist contenu dans le paquet en supprimant la clé CFBundleExecutable. La clé CFBundlePackageType étant déjà définie sur BNDL, je ne l'ai pas touchée.

Après ces modifications, j'ai créé Produit> Nettoyer, puis je n'ai eu aucun problème à soumettre l'application à l'App Store. 

J'espère que ça aide.

111
Sleiman

A rencontré ceci avec AviarySDK sur Xcode 7 GM, lors de sa soumission à l'App Store.

Je voudrais d’abord vérifier si vous utilisez la dernière version de votre bibliothèque - le fournisseur l’a peut-être déjà corrigée. Toutefois, si vous êtes toujours confronté à ce problème, comme décrit par Sleiman, vous devez supprimer la clé CFBundleExecutable du fichier plist de la bibliothèque incriminée.

Cmd + Maj + O et tapez "Info.plist", vous pouvez alors trouver le fichier approprié:

 enter image description here

Une fois que vous avez édité la liste de sélection, vous pouvez voir des noms descriptifs (au lieu de CFBundleExecutable et d'autres clés. Je ne pouvais pas éditer ce fichier dans un éditeur externe. :

 enter image description here

Vous pouvez maintenant voir la clé CFBundleExecutable (qui contient une description de "fichier exécutable") que vous pouvez supprimer.

Pour AviarySDK, je l'ai fait deux fois, une fois pour chaque Info.plist vu dans l'image ci-dessus, et j'ai ensuite pu soumettre.

52
Adam S

Je résous ce problème comme suit: Nous devons supprimer tous les "fichiers exécutables" des packages suivants:

  • GooglePlus.bundle
  • GPPCommonSharedResources.bundle
  • GPPShareboxSharedResources.bundle

Assurez-vous que "Code de type de paquet" est égal à BNDL

Important: N'éditez rien dans l'info.plist du projet principal.

Les écrans attachés comme ils devraient être son "info.plist" énumérés au-dessus de chaque paquet.

 enter image description here

 enter image description here

 enter image description here

Voici ce qui a fonctionné pour moi

  1. Apple-Shift-F, recherchez CFBundleExecutable
  2. Cliquez sur chacun d'eux sauf "PODS" ou votre cible principale
  3. Supprimer le (supprimer la clé)

 enter image description here

9
William Entriken

Si la construction est soumise via Less than (<) Xcode 7.0, elle sera soumise ainsi que Je l’ai résolue de la manière suivante pour Xcode 7:

Recherche de info.plist dans les projets Navigateur de projet comme dans l'image suivante:

 enter image description here

Maintenant, ouvrez ces fichiers info.plist un par un et supprimez la clé BundleExecutableEXCEPT du info.plist de la cible

Maintenant nettoyé le projet et atteint et Il est soumis avec Aucun problème.

5
Manab Kumar Mal

J'ai eu le même problème dans la bibliothèque Google Maps. J'ai supprimé la clé CFBundleExecutable dans GMSCoreResources.bundle (Info.plist), qui est le projet propre info.plist du SDK et chargé dans l'appstore. 

Bonne programmation.

 enter image description here

4
Umar Farooq

Il suffit de vérifier vos paramètres de construction => Activer le bitcode, et le définir non

1
InitialC

Si vous voyez cette erreur d'une bibliothèque installée via CocoaPods, essayez un pod update <OFFENDING POD NAME> 

Cela a résolu le problème pour moi.

0
Quentin

Remarque supplémentaire: parfois, si vous avez des cibles supplémentaires, certaines propriétés de cible peuvent également inclure la clé (dans la section "Info"), assurez-vous donc de les vérifier et de les supprimer. J'ai découvert cela avec l'un des paquets que j'essayais d'inclure. J'ai supprimé les informations du plist, mais j'ai continué à avoir l'erreur.

0
jimejim

Je viens d’ajouter le mot "BNDL" à la place appropriée dans plist "Code de type d’ensemble de créateur".

That was the issue

0
Oleksiy Dudarev

Dans mon cas, je viens de glisser-déposer le dossier SDK In dans le fichier info.plist qui n’est pas utilisé. Cela crée le problème pour moi. Recherchez donc le fichier info.plist non utilisé et supprimez-le du code source.

0
Krunal Nagvadia