verrouillage - notes ios 11




"Attention: les applications iPhone doivent inclure une architecture armv6" même avec un ensemble de configuration (12)

Cela fait un moment que j'ai dû ajuster les paramètres de construction du projet. Après la mise à niveau vers un SDK récent, j'ai de la difficulté à créer ma configuration de distribution ad hoc.

Build génère cet avertissement et cette erreur:

avertissement: les applications iPhone doivent inclure une architecture armv6 (ARCHS actuel = "armv7")

iPhone / iPod Touch: l'application exécutable manque d'une architecture requise. Au moins une des architectures suivantes doit être présente: armv6 (-19033)

Cependant, dans mon projet, je pensais que j'avais les choses correctement définies:

  • Les architectures sont: Standard (armv6 armv7)
  • Base SDK: iOS le plus récent (actuellement réglé sur iOS 4.2)
  • Architectures valides: armv6 armv7

J'ai nettoyé toutes les cibles.

J'apprécie tous les conseils.


Après avoir essayé un mélange de ces réponses, j'ai finalement trébuché pour le faire fonctionner. Je suis tellement énervé à Apple en ce moment. Juste une heure de plus, ils m'ont fait perdre. Voici ma config.


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).

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


Essayez de remplacer votre cible de déploiement par quelque chose de plus élevé qu'un processeur armv6. Les paramètres de xCode font référence au niveau du système d'exploitation, par exemple: iOS version # {3.1, 3.2, 4.0, 4.1, 4.2, 4.3, 5.0, 5.1}

(i) Vous pouvez le définir dans l'onglet Paramètres de construction ou dans l'onglet Résumé. Commencez en haut à gauche de la fenêtre dans le navigateur de projet, avec tous les fichiers répertoriés. Cliquez sur le plus haut qui a une icône bleue.

(ii) Si vous envisagez d'utiliser le circuit de ligne de shader programmable, accessible et contrôlé via l'API openGL ES 2.0, vous devez définir votre "Version de déploiement" à environ 4,3, ce qui, je crois, n'est disponible que sur des périphériques tels que 3GS ou plus récent. xCode signale que iOS 4.2.5 ou supérieur est nécessaire exécuter le code armv7. Et encore une fois, ce processeur, je crois, a commencé avec le 3GS. * IOS 4.3 semble être le choix pour moi, pour le moment.

http://theiphonewiki.com/wiki/index.php?title=Armv7

http://en.wikipedia.org/wiki/List_of_iOS_devices


J'ai essayé toutes les réponses ci-dessus, aucune n'a résolu ma question. Donc, je crée un nouveau projet et diff les paramètres de construction un par un. Seul "Fichiers d'autorisations de remplacement" est différent. La construction du projet a échoué a une valeur armv7. Supprimez-le puis clean-> build-> archive. Réussir! L'espoir peut vous résoudre la question


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:


Je devais être sûr de changer ces paramètres dans les paramètres Target et Project sur xCode 4.3.2 après avoir fait cela et le paramétrer pour construire à la fois armv6 et armv7 partout où je pouvais soumettre mon application.

Pour une mesure sûre, j'ai également quitté xCode entre faire les changements et faire un cycle propre, construire, archiver.


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.


Si vous utilisez Xcode 4.2 ou supérieur, essayez ce qui suit:

  1. Cliquez sur votre nom de projet (dans la colonne de gauche), suivi de la cible:

  2. Cliquez sur l'onglet "Paramètres de construction" (dans la colonne de droite):

  3. Cliquez sur la ligne "Release" ou "Distribution" sous "Architectures" et choisissez "Autre ...":

  4. Double-cliquez sur la ligne en surbrillance nommée '$ (ARCHS_STANDARD_32_BIT)' dans le survol qui apparaît, et remplacez-la en tapant 'armv6'. Puis ajoutez une nouvelle ligne avec le bouton plus en bas à gauche du popover, et tapez 'armv7', puis cliquez sur Terminé:

Mise à jour: vous devez également ajouter armv7s pour cibler l'iPhone 5. (Et drop armv6 si vous construisez avec Xcode 4.5 ou supérieur, qui ne supporte plus armv6.)

C'est tout. Vous devriez maintenant pouvoir construire / archiver sans générer d'erreurs.

Si cela ne fonctionne toujours pas, consultez cette réponse de justinxreese , qui suggère d'ajouter des entrées pour armv6 et armv7 sous "Required Device Capabilities" dans votre fichier info.plist.


Tout un problème douloureux pour moi aussi. Je viens de passer environ une heure à essayer de construire et de reconstruire - pas de joie. À la fin je devais faire ceci:

  1. Mettre à jour le SDK de base au plus tard (dans mon cas iOS 5)
  2. Redémarrer xCode
  3. Nettoyer et construire
  4. Ça a marché!

Je suppose que c'est un tas de jargon sur arm6, arm7 car il semblait que mon projet était valide pour les deux, au moins les paramètres semblaient le dire), je suppose que c'est une façon cynique de nous embobiner avec les détails techniques, que nous ne comprends pas, donc nous prenons juste l'option facile et ciblons le dernier iOS (bon pour Apple avec plus de gens étant à jour) ....


Voici la documentation d'Apple:

Questions et réponses techniques QA1760

Il dit qu'il y a deux choses que vous devez obtenir:

  1. Ajouter armv6 aux paramètres de construction de l'architecture
  2. Définissez Build Active Architecture uniquement sur No

Si cela ne vous aide toujours pas, vérifiez que vous modifiez vraiment les paramètres de construction de l'architecture pour la configuration de construction correcte - j'ai gaspillé une demi-heure à tripoter le mauvais et je me demandais pourquoi ça ne fonctionnait pas ...

Sélectionnez Edit Scheme... dans le menu Product, cliquez sur le schéma "Archive" dans la liste de gauche et vérifiez la configuration de construction. Changez la valeur si ce n'était pas ce que vous attendiez.


pour moi, ça ne marche pas avec toutes les réponses. mais j'essaye TARGETS> Architectures> Debug et ajoute une nouvelle rangée avec le bouton plus, et tape 'armv6' (avec out '), puis clique sur Terminé.

et enfin CMD + B, puis cliquez avec le bouton droit sur PrjectName.app (dans le dossier Produits)> Ouvrir dans le Finder> Compresser "PROJECT_NAME.APP" (dans Debug-iphoneos)> Télécharger sur l'AppStore

c'est le réglage de mon écran.

Si vous avez inclus le projet s'il vous plaît config tout. J'espère ton aide.


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.






xcode