169 votes

L'archivage de projet dans Xcode crée de façon incorrecte multi-application bundle

L'archivage de mon projet dans Xcode est la création d'un multi-bundle d'application, au lieu de regroupement mon objectif principal pour la presse, qui est ce que je veux. Plus précisément, lorsque je valide mon archive dans l'Organiseur, il me donne le message:

"[projectname] ne contient pas un seul bundle de l'application ou contient plusieurs produits. Veuillez sélectionner une autre archive, ou d'ajuster votre programme pour créer un bundle de l'application."

Il semble qu'il y a un paramètre dans le régime de ce qui doit être ajusté, mais je ne peux pas comprendre ce qui est à l'origine d'autres cibles à être inclus.

Je suis en utilisant Xcode 4.0.

250voto

Jared Friedman Points 3394

OK, pour répondre à ma propre question. Il s'avère que c'est un problème avec les projets dépendants dans XCode 4. Si cela vous arrive, allez à travers les Paramètres de construction pour tous vos projets dépendants (par exemple, les bibliothèques statiques) et assurez-vous que la fonction "Ignorer Installer" dans la rubrique "Déploiement" est réglé sur OUI.

Plus de détails ici: http://flakasoft.com/developer-tips/xcode-4-bug-solution-for-archiving-build-with-static-library/

151voto

Ryan Grimm Points 1763

Deux choses doivent être résolus dans le sous-projet(s) pour résoudre ce problème:

  1. Comme Jared a découvert, sous les Paramètres de construction, mis à Ignorer "Installer" pour "Oui"
  2. En vertu de l'Phases de construction, d'examiner la Copie des en-Têtes de section. S'il y a des fichiers d'en-tête répertorié comme Privé ou Public, de les faire glisser vers le bas à la section Projet.

10voto

abbood Points 5959

Je n'ai la suite pour le faire fonctionner pour moi:

  1. pour le three20 bibliothèque statique, j'ai utilisé cocoapods inclure les fichiers dans le projet principal.. il a juste obtenu débarrasser de tous les problèmes three20 a me donner (et ils sont beaucoup..) btw, j'ai essayé de remplacer three20 avec Nimbus.. mais Nimbus manquait sur certaines des fonctionnalités que mon projet était à l'aide de three20 pour.. donc Nimbus n'était pas utile.
  2. set skip installer yes sous paramètres de construction pour tous les autres sous-projets/bibliothèques statiques et de commutation de la copie des en-têtes du public au projet en phases de construction
  3. le plus important: le sous bibliothèques.. en vertu de phases de construction je me suis assuré que la copie de fichiers de destination a changé à partir d' Absolute path de products directory.

et c'était tout!

astuce: pour avoir une idée de la délinquance des fichiers qui est à l'origine de votre archive à la création d'un fichier d'archive plutôt que d'une ipa ce faire:

  1. Sélectionnez l'archive et cliquez sur le bouton Distribuer.
  2. Sélectionnez "Enregistrer le Construit Produits" option.
  3. Cliquez sur Suivant et Enregistrez-le.
  4. Parcourir le répertoire créé dans le Finder.
  5. Les "bibliothèques" sous-répertoire permettra d'identifier les bibliothèques que vous avez besoin de définir les Ignorer Installer sur Oui.
  6. dans certains cas usr/local/include permettra d'identifier le coupable fichiers d'en-tête vous avez besoin pour passer de Public pour le Projet ou les fichiers que vous devez changer de chemin absolu du répertoire de produits. mais ce répertoire (c'est à dire usr/local/include) varie en fonction de votre sublibrary structure de répertoire

1voto

auco Points 2663

J'ai eu une copie des fichiers phase de construction que j'ai oublié (copié certaines polices dans ~/Bibliothèque/Fonts). Après la suppression de la phase de construction, il a bien fonctionné.

Si aucune des réponses ci-dessus, à résoudre le problème, je recommande l'exportation de l'archive dans le finder et de prendre un coup d'oeil ce qui est en dehors de la .app bundle.

Edit: voir https://github.com/RestKit/RestKit/wiki/Xcode-4-Archiving-Issue:--'Does-not-contain-a-single-bundle'

0voto

roocell Points 1286

j'ai aussi eu ce même problème "[projectname] ne contient pas un seul bundle de l'application ou contient plusieurs produits. Veuillez sélectionner une autre archive, ou d'ajuster votre programme pour créer un bundle de l'application." après la mise à niveau de xcode5.

le problème était qu'un tas de champs dans mes paramètres de génération pour "libération" sont blancs. Je suppose que xcode4 automatiquement le paramètre debug.

anwyays - ma solution était de trouver que tous ces "libération" des paramètres de vide et le paramètre debug. En particulier, il était l'Info.fichier plist de réglage.

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: