Envoi d'une application iOS: absence de prise en charge 64 bits

J'ai envoyé une application hier pour examen, sans problème. Je me suis alors rendu count que j'avais un très petit correctif à faire (changer le niveau de zoom maximum d'une carte de 19 à 18, rien d'autre), donc j'ai retiré le binary d'iTunes Connect, et j'ai essayé de le resoumettre.

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, alors l'application ne se construira pas et j'obtiens:

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

J'utilise la route lib-moi, et je mets les mêmes parameters d'architecture.

    Utilisez les " Standard architectures " comme ceci:

    • Architecture: "Architectures standard" arm7, arm64
    • Architectures valides: " arm64 ", armv7 …
    • Construire l'architecture active seulement – NON (spécialement … si votre appareil connecté n'est pas compatible avec arm64)

    comme ça:

    entrez la description de l'image ici

    • De plus, le fait de détwigr des iphones et des ipads du mac a été connu pour aider, surtout s'il s'agit de versions 32 bits.

    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.

    La raison pour laquelle cet avertissement apparaît est que le périphérique que vous avez connecté n'est probablement pas compatible avec arm64.

    Comme Tony l'a écrit, il est important d'avoir dans les deux lignes ces parameters. Puisque mon projet (et évidemment votre projet) a été créé avant qu'arm64 ne soit ajouté à la norme, cela ne se reflète pas dans les "architectures valides", même s'il est affiché comme standard.

    Ce que j'ai fait:

    • Je suis allé à la configuration Project (vs. Target)
    • Tapez "arm64" dans les architectures valides (il est automatiquement reflété dans les cibles et les schémas

    Après nettoyage / construction, je reçois même quelques avertissements concernant une mauvaise conversion de float en CGFloat, etc., donc les réglages sont évidemment appliqués.

    L'avertissement de validation a également disparu!

    entrez la description de l'image ici

    Détwigz votre appareil physique de Mac. Dans la list XCode on device, choisissez iOS Device et créez à nouveau Archive. Cela a fonctionné pour moi.

    Aujourd'hui, je résous ce problème avec les étapes suivantes:

    Paramètres de construction:

    Architectures: architectures standard (arm7, arm64) – $ (ARCH_STANDARD)

    Architectures valides: armv7 armv7s arm64

    1. Nettoyez et créez votre application avec l'iPhone connecté
    2. Déconnectez votre iPhone et vérifiez la barre supérieure si "iOS Device"
    3. Archiver
    4. Valider et envoyer

    Créez simplement un nouveau projet en utilisant la dernière version de xCode et trouvez les parameters de construction. Le nouveau projet créé en utilisant la dernière version a 64 support par défaut.

    entrez la description de l'image ici

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

    Architectures: arm7, arm64

    Architecture valide: arm7, arm64

    Construire une architecture active uniquement: Oui

    D'accord, c'était fou. J'ai essayé chaque réponse unique. Mais cela n'a fonctionné que lorsque j'ai placé arm64 avant armv7 et armv7s dans les architectures valides.

    PS: xcode version : 7.2

    Modifiez votre cible de développement iOS au less 5.1.1 ou supprimez le paramètre d'architectures standard et réappliquez-le. Vous avez peut-être vu un avertissement indiquant qu'arm64 n'est pas compatible avec votre cible de génération. Sur la page de présentation, vérifiez les parameters "cible de deployment" de génération et cible. Dans mon cas, la cible était de 6,0, mais le projet était de 5,0.

    En outre, cochez "Architectures valides" dans votre cible et votre projet. J'avais les bons parameters sur le projet mais pas sur la cible. Après cela, cela a fonctionné pour moi.

    Passez d'un projet à l'autre sur la page de présentation dans le coin supérieur gauche de la boîte.

    J'ai soumis le succès par config comme l'image: entrez la description de l'image ici

    (Archivé avec le vrai périphérique)

    Se débarrasser de tous les avertissements. Je suis allé à travers tout et encore. J'ai trouvé le mot réponse ci-dessus.

    "Construire l'architecture active seulement – NON (spécialement … si votre appareil connecté n'est pas compatible avec arm64)"

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

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