web-dev-qa-db-fra.com

Soumission d'une application iOS: prise en charge 64 bits manquante

J'ai envoyé une application hier pour examen, sans problème. J'ai alors réalisé que j'avais un très petit problème à régler (modification du niveau de zoom maximal d'une carte de 19 à 18, rien d'autre). J'ai donc supprimé le fichier binaire d'iTunes Connect et tenté de le renvoyer.

Maintenant, j'ai cet avertissement:

warning_xcode

Je ne comprends pas pourquoi, car mes architectures sont:

  • architectures: armv7
  • architectures valides: armv6, armv7, armv7s, arm64

L'application fonctionne bien dans le simulateur. Si j'essaie d'utiliser les architectures standard (armv7, arm64) comme recommandé dans l'avertissement, l'application ne se construit pas et je reçois:

  • Symboles non définis pour l'architecture x86_64
  • ld: symbole (s) non trouvé (s) pour l'architecture x86_64

J'utilise lib route-me et je définis les mêmes paramètres d'architecture.

92
Tim Autin

Utilisez "Standard architectures" comme ceci:

  • Architecture: "Architectures standard" arm7, arm64
  • Architectures valides: "arm64", armv7 ...
  • Construire uniquement une architecture active - NO (spécialement ... si votre périphérique connecté n'est pas compatible arm64)

comme ça:

enter image description here

  • En outre, le débranchement d'iphones et d'ipads du Mac est un atout, en particulier s'il s'agit de versions 32 bits.
106
TonyMkenu

Après avoir confirmé les architectures correctes, assurez-vous que votre appareil n'est PAS connecté à votre ordinateur lors de l'ARCHIVAGE de la version finale à soumettre à l'App Store.

Cet avertissement apparaît parce que le PÉRIPHÉRIQUE que vous avez connecté n'est probablement pas compatible arm64.

68
powertoold

Comme Tony l'a écrit, il est important d'avoir ces paramètres dans les deux lignes. Depuis que mon (et évidemment votre) projet a été créé avant l'ajout d'arm64 à standard, il n'est pas reflété dans "Architectures valides" même s'il est affiché en tant que standard.

Ce que j'ai fait:

  • Je suis allé à la configuration du projet (vs cible)
  • Typed "arm64" dans les architectures valides (il est automatiquement reflété dans les cibles et les schémas

Après le nettoyage/la construction, je reçois même quelques avertissements concernant une conversion incorrecte de float en CGFloat, etc., de sorte que les paramètres sont bien évidemment appliqués.

L'avertissement de validation a également disparu!

enter image description here

37
Nick Entin

Débranchez votre périphérique physique de Mac. Dans XCode on Device List, choisissez iOS Device et créez à nouveau Archive. Cela a fonctionné pour moi.

27
hrast

Aujourd'hui, je résous ce problème en procédant comme suit:

Paramètres du bâtiment:

Architectures: Architectures standard (arm7, arm64) - $ (Arch_STANDARD)

Architectures valides: armv7 armv7s arm64

  1. Nettoyez et construisez votre application avec l'iPhone connecté
  2. Déconnectez votre iPhone et vérifiez la barre supérieure si est dans "Périphérique iOS"
  3. Archiver
  4. Valider et soumettre
5
Leonel Folmer

Créez simplement un nouveau projet en utilisant la dernière version de xCode et recherchez les paramètres de construction. Le nouveau projet créé à l'aide de la dernière version bénéficie d'un support 64 par défaut.

enter image description here

3
Kirit Vaghela

Ok c'était fou. J'ai essayé tous réponse unique. Mais cela n'a fonctionné que lorsque j'ai placé arm64 avant armv7 et armv7s dans Valid Architectures.

P.S. : xcode version : 7.2

2
prad

J'ai résolu le problème en changeant,

Architectures: arm7, arm64

Architecture valide: arm7, arm64

Construire une architecture active uniquement: oui

1
user3616535

Je me suis débarrassé de chaque avertissement. Je suis passé par tout, encore et encore. Trouvé la réponse en un mot ci-dessus.

"Créer une architecture active uniquement - NON (spécialement ... si votre périphérique connecté n'est pas compatible arm64)"

Mon iPad n'est pas en 64 bits. Mettez NO pour Build Active Architecture et ma soumission a fonctionné!

1
Mountain Man

J'ai soumis le succès par config comme image: enter image description here

(Archivé avec un appareil réel)

1
Bkillnest

Modifiez votre cible de développement iOS sur au moins la version 5.1.1 ou supprimez le paramètre d'architecture standard et réappliquez-le. Vous avez peut-être vu un avertissement qu'arm64 n'est pas compatible avec votre cible de génération. Sur la page de présentation, vérifiez les paramètres de "cible de déploiement" de génération et de cible. Dans mon cas, la cible était 6.0, mais le projet était 5.0.

Cochez également "Architectures valides" dans votre cible et votre projet. J'ai eu les bons paramètres sur le projet mais pas sur la cible. Après cela, cela a fonctionné pour moi.

Basculez entre projet/cible sur la page de synthèse dans le coin supérieur gauche de la zone.

0
user1122069

Veuillez cocher l'option Construire une architecture active. Réglez-le sur NO. Ça marche pour moi.

0
PRITAM SATPUTE