27 votes

L'archive dans xcode 6 produit un paquet, pas ipa

Récemment mis à jour vers Xcode 6 et maintenant chaque fois que j'archive un projet, j'obtiens un .pkg au lieu d'un .ipa. J'ai défini l'autre cible de mon projet (cocoapods) pour ignorer l'installation, mais cela n'a pas fait l'affaire. La cible de déploiement est iOS, pas mac (c'est une application iphone / ipad qui archivait auparavant .ipas très bien).

Suis-je en train de manquer un nouveau paramètre quelque part (c'est-à-dire archiver par défaut les applications iOS sur .ipa) ou y a-t-il un problème avec une distribution ad hoc sur Xcode 6 dont je ne suis pas au courant?

54voto

AntiHaus Points 516

Ajoutez LSRequiresIPhoneOS %% YES à votre Info.plist
La clé peut être trouvée comme Application requires iPhone environment

4voto

daxiang28 Points 194

Je ne pouvais pas trouver un moyen de le faire dans Xcode 6 GM (ou bêta), mais a trouvé un couple de solutions qui ont fonctionné:

  1. Archive dans Xcode 6 et à l'exportation dans Xcode 5. Il a travaillé pour moi pendant que j'étais à l'aide de la bêta, mais après l'installation de la GM, Xcode.application binaire a remplacé mon Xcode 5 version (Ce qui peut être facilement remis en place). @Anan a répondu qu' ici.

  2. Prenez l' .application fichier à partir de votre .xarchive et l'emballage de vos propres .ipa par la création d'une Charge active directory, la copie de l' .app en elle, la compression, et de renommer l'extension de .ipa.

  3. J'ai essayé d'utiliser le TestFlight application de bureau, et fait glisser l'archive dans après la création d'un compte. Cela semblait aller par les mouvements de l'emballage .l'iap et de l'envoyer à la TestFlight serveurs. Je n'ai pas pu trouver la trace de la .ipa sur ma machine locale. C'est probablement ce qui fonctionne, seulement vous ne savez pas où saisir l' .ipa. Vous devez générer le .plist sur votre propre ou de l'utilisation d'une ancienne.

Peu importe, cela semble être un bug, et que ces solutions sont ennuyeux d'avoir à faire quelque chose qui sert à prendre 5 secondes pour terminer.

Steve

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X