web-dev-qa-db-fra.com

Xcode 4: créer un fichier IPA au lieu de .xcarchive

Dans Xcode 3.2.5, j'utilise "Build And Archive" pour créer un fichier IPA. Dans Xcode 4, vous pouvez utiliser "Produit -> Archiver" pour archiver une application dans un bundle .xcarchive.

Comment créer un fichier .ipa avec Xcode 4?

181
Manni

La création d'une IPA s'effectue de la même manière que la création d'un fichier .xcarchive: Product -> Archive. Une fois l'opération d'archivage terminée, accédez à l'Organiseur, sélectionnez votre archive, sélectionnez Partager et, dans le volet "Sélectionnez le contenu et les options de partage:", définissez Contenu sur "Package iOS App Store (.ipa) et Distribution d'Identity to iPhone (qui doit correspondre à votre profil d'approvisionnement ad hoc/app store pour le projet).

Il est fort probable que l'option "iOS App Store Package (.ipa)" soit peut-être désactivée. Cela se produit lorsque votre construction produit plus d'une cible unique: par exemple, une application et une bibliothèque. Tous se retrouvent dans le dossier des produits de construction et Xcode est naïvement confus quant à la façon de les conditionner les deux dans un fichier .ipa, ce qui désactive simplement l'option.

Pour résoudre ce problème, procédez comme suit: définissez les paramètres de construction de chacune des cibles, à l'exception de la cible de l'application, et définissez l'indicateur Ignorer l'installation sur Oui. Refaites ensuite le produit -> Archive tango et allez dans l’organisateur pour sélectionner votre nouvelle archive. Maintenant, lorsque vous cliquez sur le bouton Partager, l’option .ipa doit être activée.

J'espère que ça aide.

390
eploko

Le réglage de l'option Installer directement sur Oui n'a pas fonctionné pour moi J'espère que cela aidera quelqu'un.

Je suis passé à la dépendance des objectifs de mon projet: Coreplot-CocoaTouch. Ensuite, nous sommes allés aux cibles Coreplot-CocoaTouch. Dans ses cibles, ouvrez les phases de construction. Puis ouvert les en-têtes de copie. J'avais là quelques en-têtes dans Public, certains dans Private et d'autres dans Project. Déplacé TOUS vers Project.

Bien entendu, dans les paramètres de construction des cibles Coreplot-CocoaTouch, cochez la case Ignorer l'installation a été définie sur Oui dans les options de déploiement.

Et cette fois, Archive a créé une archive pouvant être signée et produite .ipa.

44
Boris Gafurov

Pour les archives Xcode 4.6 (et Xcode 5)

  • Dans Organiseur, cliquez avec le bouton droit sur une archive, sélectionnez Afficher dans le Finder.
  • Dans le Finder, cliquez avec le bouton droit sur une archive, sélectionnez Afficher le contenu du paquet.
  • Ouvrez le dossier Produits> Applications
  • L'application est là
  • Faites glisser l'application dans le dossier iTunes Apps

    enter image description here

  • Cliquez avec le bouton droit sur l'application dans iTunes Apps, sélectionnez Afficher dans le Finder.

  • Le .ipa est là!
15
ohho

Dans l'organiseur, vous pouvez cliquer sur Partager et enregistrer en tant que package iOS App Store (.ipa). Vous devrez peut-être également sélectionner "Archiver" dans le menu "Produit" pour générer l'archive dans l'Organiseur. Enfin, je pense que pour ce faire, vous devez disposer d’une version archivée bien signée.

4
Joshua Smith

J'ai eu ce même problème, en utilisant une ancienne version de la bibliothèque route-me. J'ai "sauté" toutes les bibliothèques et les bibliothèques à l'intérieur des bibliothèques (proj4), mais j'ai toujours le même problème. Il s'avère que route-me et proj4 installaient des fichiers d’en-têtes publics, même lorsque les bibliothèques étaient ignorées, ce qui fouillait de la même manière! Je me suis donc contenté de l'onglet "Construire les phases" des cibles route-me et proj4, j'ai ouvert "Copier les en-têtes", ouvert "Public" et fait glisser ces en-têtes de "Public" dans "Projet". Maintenant, ils ne sont pas installés dans $ (BUILD)/usr/local/include, et je peux créer un fichier ipa à partir de l'archive!

J'espère que Apple résoudra cet horrible problème d'utilisation avec XCode. Cela ne donne absolument aucune indication sur ce qui ne va pas, cela ne fonctionne tout simplement pas. Je déteste les contrôles atténués qui ne vous disent pas pourquoi ils ont été atténués. Au lieu d'ignorer les clics, les contrôles désactivés pourraient faire apparaître un message vous expliquant pourquoi ils sont désactivés lorsque vous cliquez dessus avec frustration.

4
Don Hopkins

En supposant que vous ayez réussi à créer un produit> archivage, dans Organizer (Maj Apple 2), cliquez sur Archives.

Sélectionnez votre archive. Sélectionnez Partager. Dans le volet "Sélectionnez le contenu et les options de partage:", définissez Contenu sur "iOS App Store Package (.ipa) et Identity to iPhone Distribution.

Cliquez sur Suivant, entrez un nom d'application et cliquez sur Enregistrer.

Les détails complets avec les captures d'écran sont ici: Xcode4UserGuide

3
Snowcrash

Celui qui a essayé toutes les autres réponses et qui n’a pas eu de chance, veuillez cocher cette case, espérons que cela vous aidera (a fait le tour pour moi xcode 6.0.1)

enter image description here

2
Inder Kumar Rathore

Je suis allé jeté le même problème. Aucune des réponses ci-dessus n'a fonctionné pour moi, mais j'ai fini par trouver la solution par moi-même. Le fichier ipa n'a pas été créé car il y avait des fichiers de bibliothèque (libXXX.a) dans Target-> Build Phases -> Copy Bundle with resource

J'espère que ça va aider quelqu'un :)

0
Shrolox

Si c'est un jeu (peut-être aussi l'application) et que vous avez des bibliothèques statiques comme cocos2d ou une autre bibliothèque tierce ... alors il vous suffit de sélectionner * SEULEMENT LE * bibliothèque statique (PAS L'APPLI) et dans ses paramètres de construction sous Déploiement, définissez Ignorer l'installation du drapeau sur YES et archivez-le dats ... !!

0
vivek

J'ai eu le même problème ... J'ai dû recréer le projet à partir de zéro.

Remarque: mon projet a été créé dans XCode 3.1 et était lié à une bibliothèque statique construite en tant que sous-projet (vers une destination commune). J'ai changé cela pour construire le code source lorsque j'ai recréé le projet XCode dans XCode 4.

Maintenant, faire un produit/une archive/un partage ... obtient l'option de "Package iOS App Store (.ipa)" directement au-dessus de "Application" (qui est maintenant grisée) et "Archive" (qui exporte le .xcarchive).

0
Graeme Wicksted

Même problème. J'ai résolu de régler l'indicateur "skip install" sur YES pour chaque projet externe, en laissant les autres cibles du projet principal inchangées.

Je devais également aller dans "Modifier le schéma ...", choisir le panneau "Archivage" et définir le paramètre de construction correct pour mon objectif ad-hoc.

Ensuite, un simple produit -> Archive -> Share a effectué le travail attendu.

0
nebillo

Vous devrez construire et archiver votre projet. Vous devrez peut-être vérifier les paramètres de signature de code que vous avez dans le projet et l'exécutable.

Utilisez l'Organiseur pour sélectionner votre version d'archive, puis partagez cette version de votre projet. Vous devrez sélectionner à nouveau le bon code. Cela vous permettra de sauvegarder le fichier .ipa où vous voulez.

Glissez-déposez le fichier .ipa dans iTunes, puis synchronisez-le avec votre iPhone.

0
Surjit Joshi