web-dev-qa-db-fra.com

Génération de génération VSTS générant une erreur de version de code bit non valide

Pour générer des builds pour les testeurs, nous utilisons VSTS dans notre projet. Lorsque nous vérifions et exécutons la branche dans notre mac avec xcode, cela fonctionne bien. Mais lorsque j'essaie de publier une version via VSTS, il génère une erreur comme ci-dessous et la version échoue.

ld: impossible d'analyser le fichier objet dans le bundle de codes bit: 'Version de code bit non valide (Producteur:' 902.0.39.2_0 'Lecteur:' 900.0.39.2_0 ')', en utilisant libLTO version 'LLVM version 9.0.0, (clang-900.0. 39.2) 'pour l'architecture arm64

Je comprends que le problème pourrait être dû au fait qu'il existe deux versions différentes du compilateur. J'utilise Xcode 9.2 et le serveur qui construit le code source à télécharger a également Xcode 9.2. Une autre chose est, dans le passé, j'ai fait un commit avec la version bêta Xcode 9.4 à la branche. Cela peut-il créer un problème ou est-ce autre chose qui me manque ici.

J'ai également entendu des suggestions de débordement de pile et de git selon lesquelles la mise à jour de Xcode résoudrait le problème. Je suis d'accord avec cela, mais je veux avoir cette option en dernier car il y a des serveurs et des builds en file d'attente sur le serveur comme Android et build WebApp que nous avons automatisés via VSTS qui seront arrêtés momentanément.

Toute aide ou pointeur est très apprécié.

Remarque: en interne, le serveur VSTS essaie d'archiver la génération. Ainsi, la réponse acceptée dans erreur: version de code bit non valide (producteur: '800.0.35.0_0' lecteur: '703.0.31_0') pourrait fournir la solution. Mais le scénario est toujours différent car VSTS pourrait essayer quelque chose de différent sous le capot.

12
Karthick Ramesh

Cela m'est arrivé lorsque j'essayais de créer une archive d'un projet avec un framework binaire (dans mon cas Crashlytics/Fabric). Le framework a été compilé en utilisant Xcode 9.4, mais j'utilisais Xcode 9.2 (on dirait que 900.0.39.2_0 est Xcode 9.2 et 902.0.39.2_0 est Xcode 9.4). Je l'ai résolu en définissant temporairement Activer Bitcode à Non dans les paramètres de construction.

Remarque: Le bitcode n'est pas obligatoire pour soumettre une application iOS à l'App Store. (Cependant, il est obligatoire pour Apple Watch apps.)

Une autre solution serait de rétrograder le framework binaire vers une version plus ancienne (construit avec une version compatible de Xcode).

40
Marián Černý

J'ai trouvé une solution au problème auquel j'étais confronté. Au fur et à mesure que le problème se lit, le serveur VSTS avait Xcode 9.2 qui a 900.0.39.2_0 et donc la mise à jour de la version xcode dans le serveur vsts a résolu le problème. La chose que nous devons faire attention est lorsque nous mettons à jour la version xcode sur la machine locale, il est préférable de mettre à jour la version xcode dans le serveur VSTS pour éviter de tels problèmes à l'avenir.

3
Karthick Ramesh

Dans mon cas, j'ai désactivé le bitcode de Target enter image description here

mais je n'ai pas désactivé le bitcode de Mon projet enter image description here

Je change juste les paramètres de mon projet bitcode en "Non" et ça marche ....

3
Muhammad Ahmed Baig