330 votes

« AVERTISSEMENT : iPhone apps devraient inclure une architecture armv6 » même avec build config jeu

Il a été un moment depuis que j'ai eu à régler projet de paramètres de construction. Après la mise à niveau d'un récent SDK j'ai de la difficulté à construire mon ad hoc de la configuration de la distribution.

Construire génère cet avertissement et d'erreur:

avertissement: les applications de l'iPhone devrait inclure une architecture armv6 (en cours ARCHITECTURES = "armv7")

iPhone/iPod Touch: exécutable de l'application est obligatoire manquante dans un de l'architecture. Au moins l'un de l'architecture suivante(s) doit être présents: armv6 (-19033)

Toutefois, dans mon projet, j'ai pensé que j'avais des choses à définir correctement:

  • Architectures: Standard (armv6 armv7)
  • Base SDK: le Dernier iOS (actuellement fixé à iOS 4.2)
  • Valide Architectures: armv6 armv7

alt text

J'ai nettoyé toutes les cibles.

J'apprécie tous les conseils.

417voto

Nick Points 6350

Si l'utilisation de Xcode 4.2 ou supérieur, essayez les solutions suivantes:

  1. Cliquez sur le nom de votre Projet (dans la colonne de gauche), suivi par la Cible:

    enter image description here

  2. Cliquez sur le "Build Settings", onglet (dans la colonne de droite):

    enter image description here

  3. Cliquez sur la "Libération" ou de "Distribution", de ligne sous "Architectures", et choisissez "Autre":

    enter image description here

  4. Double cliquez sur la ligne mise en surbrillance nommé '$(ARCHS_STANDARD_32_BIT) " dans la liste qui s'affiche, et le remplacer en tapant 'armv6'. Puis ajouter une nouvelle ligne avec le bouton "plus" en bas à gauche de la liste et tapez 'armv7", puis cliquez sur Terminé:

    enter image description here

Mise à jour: vous devez ajouter armv7s pour cible l'iPhone 5. (Et déposez armv6 si le bâtiment avec Xcode 4.5 ou supérieur, qui ne prend plus en charge armv6.)

C'est tout. Vous devriez maintenant être en mesure de construire/archive sans générer d'erreurs.

Si cela ne fonctionne toujours pas, voir cette réponse de justinxreese, ce qui suggère l'ajout d'entrées pour armv6 et armv7 sous "Périphériques Requis Capacités" dans votre info.fichier plist.

62voto

Brian Points 10119

Si vous décochez "Build Active Architecture Only", alors il créera toutes les architectures valides.

Mise à jour : Ceci n'est plus applicable à partir de Xcode 4 - suivez les instructions de Nick pour Xcode 4 et plus tard.

59voto

justinxreese Points 1324

J'ai eu ce problème même après avoir suivi la réponse acceptée et j'ai trouvé ce qui suit au travail:

Dans votre Info.plist, ajoutez une entrée pour les fonctionnalités requises du périphérique. Cela devrait être un tableau et aura deux entrées.

  • Point 0: armv6
  • Article 1: armv7

Il ressemblera à ceci:

Entrée de capacités de périphérique requise

26voto

MattyG Points 5126

En plus de la réponse de Nick à propos de Xcode 4.2, vous devrez peut-être aussi revoir votre fichier info.plist. Il semble que si de nouveaux projets démarrés dans Xcode 4.2 définissent par défaut "armv7" dans "Capacités de périphériques requises". Vous devrez supprimer ceci si vous voulez soutenir les appareils qui exécutent armv6 (par exemple l'iPhone 3G).

entrez la description de l'image ici

Supprimez armv7 des 'Capacités de périphérique requises' dans yourProjectName-Info.plist

21voto

Animesh Points 668

Une mise à jour ios 6

Changements dans Xcode 4.5.x pour ios 6

  1. Xcode 4.5.x (et versions ultérieures) ne supporte pas la génération de binaires armv6.
  2. Inclut maintenant le support de l'iPhone 5 / armv7s.
  3. La cible de déploiement minimale prise en charge avec Xcode 4.5.x ou version ultérieure est iOS 4.3.

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