web-dev-qa-db-fra.com

Chargeur d'application: ERREUR ITMS-90502

J'essaie de télécharger une nouvelle version sur TestFlight, mais Application Loader me donne l'erreur suivante:

ERREUR ITMS-90502: "Ensemble non valide. Les applications ne contenant que la tranche arm64 Doivent également comporter" arm64 "dans la liste des UIRequiredDeviceCapabilities dans Info.plist."

Si j'ajoute arm64 à UIRequiredDeviceCapabilities comme suggéré, j'obtiens une autre erreur:

ERREUR ITMS-90098: "Cet ensemble n'est pas valide. La clé UIRequiredDeviceCapabilities contient la valeur 'arm64' qui est Incompatible avec la valeur MinimumOSVersion de '8.0'."

Je ne suis pas sûr de ce qui cause ce problème et pourquoi le paquet ne contient que l'architecture arm64. J'ai vérifié les paramètres du projet et ils semblent inclure d'autres architectures. ARCHS (Architectures) est défini sur Standard architectures (armv7, arm64), VALID_ARCHS (Architectures valides) est défini sur arm64 armv7 armv7s.

Cela fait longtemps que je n'ai pas essayé de télécharger la dernière version (~ 1 mois). Est-ce que l'une des mises à jour d'Apple a cassé quelque chose? (Je n'ai définitivement pas touché aux paramètres d'architecture depuis lors, la seule chose ajoutée a été UIBackgroundModes = remote-notification). Ou y a-t-il une autre raison pour cette erreur?

26
Andrii Chernenko

Qu'à cela ne tienne, a trouvé le problème. La configuration avec laquelle j'ai construit l'archive avait Build Active Architecture Only défini sur Yes. Que je suis bête.

38
Andrii Chernenko

J'ai rencontré la même erreur quelques mois après cette publication. J'ai trouvé cette publication sur Google et, au cas où d'autres personnes viendraient ici, par le même chemin, l'erreur ITMS 90502 aurait une autre raison (le consensus est qu'il s'agit d'une nouvelle exigence pour la période fin octobre/début novembre 2015).

Si vous incluez d'autres frameworks dans votre application, ils doivent ÉGALEMENT contenir la fonctionnalité de périphérique requise 'arm64'. C'est-à-dire que cela doit être dans le fichier Info.plist:

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>arm64</string>
</array>
12
Ramsay Consulting

Si vous utilisez des cocoapodes, vous devez ajouter la clé 'UIRequiredDeviceCapabilities' à chaque dépendance. Incluez cette publication sur votre fichier podfile.

post_install do |installer|
    installer.pods_project.targets.each do |target|
        plist_buddy = "/usr/libexec/PlistBuddy"
        plist = "Pods/Target Support Files/#{target}/Info.plist"

        puts "Add armv7 to #{target} to make it pass iTC verification."

        `#{plist_buddy} -c "Add UIRequiredDeviceCapabilities array" "#{plist}"`
        `#{plist_buddy} -c "Add UIRequiredDeviceCapabilities:0 string armv7" "#{plist}"`
    end
end
10
John Paul Manoza

J'ai résolu cette erreur ERROR-ITMS 90502.

Si vous ne définissez que sur YES, mais que la même erreur s’affiche.

Toutefois, si votre téléphone peut se connecter à mac, déconnectez-le et téléchargez-le.

Dans mon cas, résolu!

6
June-Gyu Bae

Si la cible de déploiement de votre cible est iOS 11.0 ou ultérieure, vous devez avoir arm64 dans votre info.plist. Créer un nouveau projet dans Xcode 9.x ajoute seulement armv7 sous UIRequiredDeviceCapabilities, semble être un bogue.

Mettez à jour votre clé UIRequiredDeviceCapabilities de info.plist en:

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>arm64</string>
</array>
5
Daniel Storm

J'ai eu ce problème en utilisant Xamarin et s'est retrouvé sur cette question.

Pour moi, la solution consistait à s'assurer qu'aucun symbole de débogage n'est inclus lors de la création de l'application.

Dans Xamarin Studio, cliquez avec le bouton droit sur le projet -> Options. Choisissez "Compilateur" sous "Construire" rubrique. Vérifiez la liste déroulante "Informations de débogage".

Nettoyer, reconstruire, reconditionner et télécharger à nouveau, et cela a fonctionné.

2
GregHNZ

Autrement: 

1 - Déconnectez tous les périphériques de test de votre mac  

2 - Archive.

Le problème que vous avez mentionné n’est arrivé que lorsque j’ai essayé d’archiver alors que mon iPhone était connecté. 

Si vous archivez en étant déconnecté, ce problème disparaîtra.

2
Catarino

Juste s'il y a quelqu'un d'autre avec ce problème dernièrement lors de la construction pour iOS 11 et versions supérieures, cette clé est nécessaire pour l'application, ainsi que pour toutes les extensions que vous avez dans l'application. Cependant, il n'est pas nécessaire de l'avoir dans aucun cadre.

2
Daniel Tull

J'ai eu le même problème avec Xamarin

tout ce que j'ai fait pour corriger le type de génération de changement de problème à Release| iPhone pendant que vous connectez un périphérique réel 

espérons que cette aide

1
Mina Fawzy

cela fonctionne pour moi ..

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>armv7</string>
</array>
1
MAhipal Singh

Dans mon cas, j'avais un: ERREUR ITMS-90503 Avec arm64 seul (sans "seulement") dans la clé UIRequiredDeviceCapabilities

Et: Archiver en mode "Debug" a fonctionné pour moi

Dans mon cas, Visual Studio pour Mac a résolu le problème en définissant ARMv7 + ARM64 dans le panneau d'options ios.

0
Hugo S.