Non valide Application iPhone Binaire
Je suis en train d'essayer de télécharger une application pour l'iPhone App Store, mais je reçois ce message d'erreur à partir d'iTunes Connect:
Le binaire que vous avez téléchargé n'était pas valide. La signature n'est pas valide, ou il n'a pas été signé avec une Pomme de présentation de certificat.
Remarque: Les détails de l'original de la question ont été retirés, car cette page est devenu une référence pour toute l'information sur les causes possibles de ce message d'erreur particulier.
Pour des informations générales sur la présentation de l'application pour iPhone sur l'App Store, voir Les étapes pour télécharger une application iPhone pour l'AppStore.
- fait un tuto pour ça: stackoverflow.com/questions/21853083/...
Vous devez vous connecter pour publier un commentaire.
Il a été mon expérience que Xcode occasionnellement confus au sujet de la signature de certificat à utiliser. J'ai pris l'habitude de quitter et redémarrer Xcode après toute modification de la signature du code de paramètres (et de faire un build propre) pour contourner ce problème.
Je voulais juste mentionner que j'ai moi aussi eu le problème avec zip à partir de la commande
ligne aussi bien. Le problème réside dans la façon dont il gère les liens symboliques par défaut. Aide:
zip -y-r myapp.zip myapp.app
Résolu ce problème.
J'ai eu le même problème et l'a résolu de cette façon:
La propriété des certificats ont été installés sur ma machine de développement et mobileprovision.embarquée a été inclus dans l'archive de distribution. Après une heure de recherche sur Google et en creusant, j'ai trouvé la source de l'erreur. À l'intérieur de Xcode j'avais copié la configuration de Version et a créé une nouvelle Distribution de configuration et ensuite changé la signature de l'identité de mon certificat de distribution. Cependant, même s'il a été mis à jour dans l'interface utilisateur du fichier de projet n'a pas été mis à jour correctement.
Si vous rencontrez le même message d'erreur, regardez dans votre [ProjectName].xcodeproj répertoire pour le projet.pbxproj fichier et l'ouvrir dans votre éditeur de texte favori. Recherchez la section Distribution. Mon rompu ressemblait à celui-ci:
Vous pouvez voir la signature de l'identité et le profil de configuration est incorrecte dans la deuxième section. Modifier pour qu'il corresponde à la première section, reconstruire, et vous devriez être bon d'aller. La finale ressemblait à celui-ci:
guid changés pour protéger les innocents
Même problème, solution différente.
Dans mon cas, j'ai été compresser le fichier à l'aide de
zip -r myapp.zip myapp.app
S'avère, la zip de commande défoncer le bundle. La compression du finder fait le travail.
cp -r
et puis le zip, et c'était lecp
qui a massacré le sym liens dans l'application. Il devrait êtrecp -R
pour préserver sym liens.J'ai eu le même problème et après avoir essayé plusieurs choses - j'ai enlevé le .plist droits de la Signature du Code des Droits (juste laissé en blanc) et il construit fine et téléchargé ENFIN.
Bonne chance à tous 😀
Un autre point de données: pour un certain temps, mon appli est bien passé. Maintenant, j'ai ajouté le support pour les achats in-app, et tout à coup, il échoue avec un "non Valide binaire/signature non valide" problème. Après mûre à la recherche, j'ai trouvé que la valeur de l'application-identificateur dans les droits au fichier plist était à l'arrêt.
Ce qui, probablement, avait à voir avec le fait que j'ai remplacé le profil de configuration à partir d'un un caractère astérisque une à une application spécifique (obligatoire pour les achats in-app). La mauvaise ID de l'application qualifiée en vertu de l'ancien profil. Il ne correspond pas à l'ID d'application dans l'info.plist, mais apparemment iTunes pardonné à que le.
Donc, pour récapituler:
est OK, alors que
causes non Valide "binaire".
J'ai eu le même problème aussi, lors de la construction, j'ai remarqué que l'approvisionnement n'a pas été ajoutés dans la construction.
Le correctif pour moi a été de définir la construction de l'appareil iphone, où j'ai l'habitude d'utiliser le simulateur, mais alors il ne comprend pas le profil d'approvisionnement de...
Ce pourrait être une erreur de débutant. Normalement, vous ne pouvez pas construire sur l'appareil, mais quand vous le faites pour la distribution que vous le pouvez.
Bien, après avoir répété les étapes à plusieurs reprises, j'ai enfin réussi à télécharger mon application.
Je ne sais pas exactement ce qu'il fixe, mais avant la tentative réussie, j'ai fermé Xcode et Firefox, et redémarré eux. Je suppose que l'une de ces applications avaient des mauvais juju.
Voici un problème que j'ai rencontré: j'ai ajouté le fichier binaire Subversion avant de le télécharger. Comparessing/compression binaire alors inclus le caché .svn répertoires, ce qui a foiré la signature de code.
J'ai essayé plusieurs choses après la lecture de divers postes dont ceux ci-dessus. Ce qui a finalement fonctionné pour moi était de départ complètement! J'ai supprimé tous les certificats et le profil de configuration associé avec mon application.
J'ai recréé un nouveau certificat de développement et un nouveau certificat de distribution. J'ai téléchargé le certificat intermédiaire de nouveau. Puis j'ai recréé à la fois le développement de profil et le profil de distribution.
Après l'installation de trois certificats (j'ai remarqué que la distribution avait à la fois des clés privées et publiques) et les deux profils de configuration (mon profil de distribution avais pas marqué comme n'ayant pas de certificat valide!), tout a fonctionné.
Une fois que j'ai pris la décision de révoquer tout et juste de commencer sur, il a seulement pris environ 5 minutes pour créer de nouvelles choses et ré-installer.
Voir ce lien pour la solution:
http://greghaygood.com/2010/09/04/invalid-binary-message-from-itunesconnect
La réponse courte est que "Finalement, j'ai vérifié mes infos.plist et découvert quelque chose. J'ai ajouté CFBundleIconFiles par les nouvelles lignes directrices, mais il y avait une entrée vide dans la liste de tableau. J'ai supprimé et re-présenté, et il a finalement été accepté!"
J'ai eu un problème similaire, mais dans Monotouch. J'ai trouvé que mon profil de Libération a été défini pour utiliser développeur certs. Il devrait ressembler à ceci:
Il semble que ce problème a plusieurs causes. Voici la solution à la mienne:
Cela s'applique à toute personne qui appartient à plusieurs équipes de développement (par exemple, vos propres applications, et vos entreprises).
Si vous la construction de la construire avec un jeu d'informations d'identification et de re-signer avec une autre (par exemple, pour adhoc/app-shop de distribution de), vous devez de s'assurer que la construction a été à l'origine construit & signé avec les informations d'identification de l'appartenance à la même iOS de l'équipe de développement que la distribution des informations d'identification, vous re-signer avec appartiennent à.
Afin de ne pas construire avec "Indy Dev Inc" informations d'identification, puis essayez de déployer avec "Company Inc" informations d'identification. Assurez-vous d'installer les deux "Company Inc" dev, et la distribution des informations d'identification, et de les utiliser.
Que j'ai posté plus d'infos à ce sujet sur mon blog: http://omegadelta.net/2011/06/09/fiendish-ios-code-signing-invalid-binary-issue/
J'ai eu le même problème. J'étais prêt à jeter l'éponge sur ce problème, mais j'ai pensé à elle quand je suis allé vérifier dans mon code à l'aide de Trouble. J'ai toujours écrémé la diff sur les fichiers qui ont changé avant que je l'enregistrement. Alors pour cette fois, j'ai remarqué que le projet.pbxproj fichier a changé....et dans la section Distribution de l'entrée pour “PROVISIONING_PROFILE[sdk=iphoneos*]” était vide.
Quitter et redémarrer Xcode ne fonctionne pas pour moi. Au lieu de cela, je suis allé dans mon projet et les paramètres de la cible et changé la signature de code pour sélectionner directement mon profil de Distribution plutôt que de compter sur la fonction de sélection automatique. Faire cela a provoqué le projet.pbxproj fichier à remplir avec les valeurs correctes même si la fonction de sélection automatique soi-disant sélectionné exactement le même profil que j'ai sélectionné manuellement.
J'ai besoin d'une bière...
Après avoir essayé tous les autres correctifs répertoriés ici, nous avons enregistré une STI avec Apple. Après avoir suivi toutes les étapes de Note technique TN2250 notre problème a été causé en raison d'un scellé de ressources est manquant ou non valide. Dans notre cas, c'était
._.DS_Store
.L' ".." est appelé Apple en Double file, et est le résultat de la copie du dossier de Projet Xcode, *décompressé*, sur et en arrière à partir d'un fichier système qui ne prend pas correctement en charge HFS+'s 'ressources' (utilisé pour les signatures de code). Ces extra ".." les fichiers de résultat et la cause de signature de code de vérification de l'échec.
Pour nettoyer la problématique Apple Double les fichiers de votre dossier de projet Xcode, exécutez la dot_clean commande sur votre projet Xcode du dossier, effectuez l'une construction propre, et puis rearchive et retenter votre soumission.
Remarque: Vous pouvez simplement faire glisser le dossier du projet dans le terminal pour remplir automatiquement le chemin d'accès
Il n'y a pas de message lorsque vous exécutez la commande, mais le projet de construction peut afficher un avertissement sur le fichier lorsque vous la prochaine génération. Vous pouvez ignorer cette, l'application permettra de valider et de le transmettre avec succès.
Résolu ce problème par le nettoyage de la myProject.xcodeproj fichier (clic droit, ouvrir l'emballage), le contenu des fichiers à partir de co-développeur, après la suppression de ces le problème a été résolu
Pour moi la solution a été de créer une distribution de la certification à l':
Des Développeurs D'Apple Provisioning Portal.
Pour ce qu'il vaut, je tiens à ajouter que c'est ce qu'a résolu ce problème pour moi. J'ai eu un ? (point d'interrogation) dans mon application titre qui a été la cause de l'erreur.
J'ai reçu un invalide binaire, si l'application n'utilise pas de distance de notification push, mais j'ai quitté le code pour l'enregistrement de poussée et le rappel des délégués pour l'enregistrement/la réception de la notification à distance sans commentaire, même si le code ne soit pas utilisé.
C'est récent. Ma dernière présentation de la semaine dernière était très bien. Cette semaine, il revient invalide binaire. Heureusement, il y a un mail qui explique l'erreur.
J'ai eu un problème similaire, mais je n'utilise pas les droits.plist. Cependant, après une douzaine d'échec de téléchargement, j'ai vérifié mes infos.plist et découvert quelque chose. Mon CFBundleIconFiles tableau avait une entrée vide. J'ai supprimé et re-présenté, et il a finalement été accepté!
Sérieusement, comment serait-il difficile pour Apple pour exposer ces erreurs de validation?
Edit: Il n'est pas immédiatement apparente, où la CFBundleIconFiles sont parce qu'ils utilisent un autre nom. Dans le projet d'info voir, Ctl de la souris et sélectionnez "Afficher les Raw Clés/Valeurs de" et ensuite vous pourrez voir les références à CFBundleWhatever. Dans cet éditeur est le cas, il a essayé de l'utiliser inexistante [email protected] fichier.
Mes deux cents:
Télécharger la dernière version de l'Application Loader. J'ai juste mis à jour et maintenant obtenir un message d'erreur différent.
Je suis juste allé à travers ce tracas (encore une fois) mais cette fois j'ai trouvé que mon profil de distribution avait un statut de "non Valide". Si vous pensez que tout le reste est de droite, double-vérifier l'état du portail et de renouveler/re-télécharger tout ce qui n'est pas dans l'état Actif.
J'ai reçu un Invalide Binaire après un téléchargement d'application, sans e-mail de suivi de pourquoi il a échoué. J'ai essayé de faire plusieurs choses à la fois, et je ne suis pas sûr de la suite en fait, il fixe:
J'ai eu un problème avec ce et le 4.3 GM SDK. L'un de nos apps serait pas passé de téléchargement reçu. Il s'est avéré être un profil d'approvisionnement de problème. J'ai régénéré le app store de profil et il a bien fonctionné.
Ma solution a consisté à créer un nouvel ID d'Application. Je ne sais pas exactement pourquoi qu'il fixe, mais je pense qu'il aurait été incompatibles Bundle Identifiants — la création de la nouvelle App ID m'a forcé à m'assurer que mes app et iTunes attendaient la même chose.
Une autre solution:
Pour moi tout simplement le réglage de la "Libération" des certificats en vertu de l' 'de signature de code' il fixe. Ils ont d'abord été mis à "Ne pas le code de signer".
Pour moi le problème a été résolu par un réenregistrement d'une image PNG avec la non-entrelacé option. Dans les versions précédentes entrelacé png sont autorisés, mais savez ces images peuvent causer des invalides binaire.
Ma pomme message:
Corruption de Fichier Icône (L'icône du fichier [email protected] semble être endommagé. Votre icône ne doit pas être une entrelacé fichier PNG.
Vous pouvez voir si le PNG est entrelacée à l'aide de la commande "fichier" dans le terminal:
Eva-Madrazos-MacBook-Pro-2:GQ 7 integracion annonces Eva$ fichier *.png
Par défaut.png: image PNG de données, 320 x 480, 8 bits/couleur RVB, non entrelacé
Bonne chance,
Eva
Je tiens à souligner la possibilité d'e-mail d'Apple et de leur demander de vérifier leurs journaux. Je n'ai juste que, après avoir essayé des tas de choses en premier. Il a été nécessaire de leur rappeler après près de quatre semaines, mais finalement ils m'ont répondu et a souligné à l'endroit exact de la question.
Le problème dans mon cas c'est que j'avais déjà essayé d'autres icônes d'application, et une référence à la vieille image reste encore dans 'CFBundleIcons'. J'ai utilisé la fonctionnalité de glisser-déposer pour définir l'icône, mais je n'avais pas remarqué que l'ancien contenu n'est pas complètement effacée avant la nouvelle référence a été ajoutée.
Pour voir les erreurs de référence, il est nécessaire d'élargir les flèches pour visualiser chaque sous-élément dans le fichier plist. L'une des astuces est de cliquer droit sur le fichier et sélectionnez l'option permettant de voir le contenu brut. De cette façon, vous n'aurez pas besoin de développer quoi que ce soit.
J'ai essayé toutes les autres solutions proposées, mais rien n'a aidé.
J'ai fini par créer un nouveau projet Xcode et copie tout mon code et de ressources en elle. Qui a fait le tour, et mon application a été placé en attente.
Je peux aussi recommander Pommes notes techniques sur la signature de code pour le débogage/vérification.
uuid n'est pas autorisé.
Je l'ai fixée par supprimer toutes les [[UIDevice currentDevice] uniqueIdentifier];
Juste eu ce problème aujourd'hui, mais les réponses ici n'a pas aidé. J'ai enfin trouvé le problème.
Vérifier à l'aide d'un menu déroulant: Projet>Modifier Cible Active "ProjectName" pour changer de Signature de Code de la Distribution - j'ai été en sélectionnant le Projet dans les Groupes & volet des Fichiers et à l'aide de la touche Info qui montre la PROJET info plutôt que de la CIBLE info - très déroutant! Seulement quand j'ai tourné la signature de code du projet et construit et il continue à vouloir le code de signer!
Je pense que c'est pourquoi dans d'Eddie poste qu'il a dû changer au projet.pbxproj niveau
Aussi sur le post original de la 1ère étape:
1. Dans Xcode, sélectionnez l'Appareil|de la Libération
Sûrement, il devrait être de l'Appareil|de la Distribution cible? (en supposant que cela copié la libération et l'a renommé de la Distribution comme pour les Pommes instructions dans le Provisioning Portal)
Il est un autre exemple, lorsque le binaire sera considérée comme non valable. À partir du 1er février 2015 de nouvelles applications iOS besoin de l'appui de l'architecture 64 bits. Voici l'e-mail d'apple:
À compter du 1er Mai 2013, Apple a mis à jour son iOS Human Interface Guidelines de sorte que si vous souhaitez télécharger une nouvelle application ou une mise à jour, il doit être l'iphone 5 (4 pouces) sympathique - ce qui signifie qu'il ne devrait pas être un écran de 3,5 pouces d'application en cours d'exécution sur le grand écran.
D'apple:
Dans mon cas, c'était la TestFlight SDK inclus dans le projet binaires.
J'ai créé un nouveau projet à partir d'un autre vieux projet source (qui inclus testflight), mais étant donné que ce projet est un nouveau, avec de nouveaux Identifiants, TestFlight SDK n'est plus autorisé ici.
Je l'ai enlevé, puis archivée et téléchargé à nouveau. Pas non valide "binaire" erreur cette fois.