web-dev-qa-db-fra.com

iTunes Connect et Xcode 8: votre application a été remplacée par un binaire non valide.

La semaine dernière, avec Xcode 7, j'ai pu télécharger sans problème. Mais aujourd'hui, je reçois le message que votre application a été remplacée par un fichier binaire non valide.

J'ai vu que maintenant avec Xcode 8 une nouvelle icône 20x20 2x et 3x est ajoutée. J'en ai ajouté un, mais j'ai toujours l'erreur.

Est-ce que quelqu'un a eu le même problème? 

15

Vérifiez votre email!

Dans mon cas, j'ai perdu beaucoup de temps parce que je n'ai pas vérifié mes courriels. Lorsque vous obtenez une telle erreur, Apple vous envoie un courrier électronique avec sa description.

Par exemple, voici ce qu'Apple m'a envoyé:

"Cette application tente d'accéder aux données confidentielles sans description d'utilisation L'info.plist de l'application doit contenir une clé NSCameraUsageDescription avec une valeur de chaîne expliquant à l'utilisateur .__ comment l'utilisateur utilise ces données."

33
Ptah

Après des jours de lutte avec le même problème, mon application a finalement été soumise avec succès, mais seulement après avoir été au téléphone avec l'assistance de développeurs Apple.

Quelques points à garder à l'esprit:

  1. Assurez-vous de définir les clés de description Info.plist pour tous les droits. Ceci est nécessaire pour les applications iOS. La mienne était une application MacOS, donc cela ne s'appliquait pas.

  2. Rendez-vous sur iTunes Connect et recréez tous vos profils de provisionnement et vos certificats de signature de code si vous n'êtes pas sûr à 100% de leur validité. Vous pouvez le faire pour le développeur et la distribution.

  3. Dans Xcode, désactivez la signature automatique du code pour votre application et toutes les cibles de construction (vous pouvez essayer la signature automatique du code dans Xcode après avoir exécuté les étapes 2 et 4, mais cela ne fonctionnait pas pour moi).

  4. Accédez aux préférences Xcode, puis cliquez sur votre équipe de développement. Dans la feuille qui s'affiche, vous devriez voir quelques boutons "Télécharger" à côté des certificats de signature de code et des profils d'approvisionnement nouvellement créés (dans iTunes Connect). Cliquez sur tous. Et pour ne pas vous tromper à l'étape 5, supprimez tous les autres profils d'approvisionnement et identités de signature de code obsolètes pour cette application.

  5. Dans les paramètres de construction de chacune de vos cibles, assurez-vous que les paramètres de construction de version pour la signature de code et le profil de provision sont définis sur le certificat de signature de code et le profil de provision nouvellement créés ci-dessus.

  6. Bump votre numéro de build.

  7. Nettoyez votre projet en profondeur (Option-Shift-Command-K).

  8. Archive construire votre application.

  9. Dans l’organisateur qui s’ouvre, sélectionnez la nouvelle application archivée et validez-la (elle est toujours validée, mais j’obtiendrai toujours par la suite comme binaire non valide).

  10. Exportez la construction et sélectionnez l'option "Enregistrer pour le déploiement du Mac App Store" ou similaire.

  11. Lorsque vous y êtes invité, utilisez les mêmes profils d'approvisionnement que ceux que vous avez utilisés précédemment et enregistrez.

  12. Ouvrez le fichier .pkg dans Application Loader que vous pouvez lancer à partir du menu Xcode> Ouvrir l’outil de développement> Application Loader.

Je ne recevais aucun courriel concernant le problème des binaires non valides. Au lieu de cela, j’ai eu la chance d’avoir configuré mon iPad avec iTunes Connect, et donc, comme pour fonctionner à l’horloge, je recevais des notifications quelques minutes après le téléchargement de l’application: "Votre application ... a été remplacée par Invalid Binary."

Si vous ne recevez pas l'une de ces notifications binaires non valides, c'est bon signe. Encore 10 à 15 minutes plus tard, j'ai vérifié le portail iTunes Connect et je pouvais enfin ajouter la version téléchargée et l'envoyer pour révision.

0
Dalmazio