web-dev-qa-db-fra.com

Création de ligne de commande Xcode 10: échec de l’archivage avec erreur Fabric Info.plist

J'ai un serveur Jenkins pour un projet iOS de construction automatique qui a deux cibles . Le projet est construit avec l'utilitaire de ligne de commande xcodebuild.

Les commandes complètes sont

/usr/bin/xcodebuild -workspace "Notre projet.xcworkspace" 
 -scheme "Première cible" 
 -configuration Release 
 archiver
 DEVELOPMENT_TEAM = TEAMCODE 
 -allowProvisioningUpdates 

et

/usr/bin/xcodebuild -workspace "Notre projet.xcworkspace" 
 -scheme "Deuxième cible" 
 -configuration Release 
 archiver
 DEVELOPMENT_TEAM = TEAMCODE 
 -allowProvisioningUpdates 

Avant de mettre à jour Xcode vers la version 10, cela fonctionnait parfaitement. Mais après avoir mis à jour chaque fois que je vois une erreur

error: Fabric: Erreur Info.plist

Impossible de traiter Info.plist à l’emplacement /Users/Shared/Jenkins/Library/Developer/Xcode/DerivedData/Our_project-xxxx/Build/Intermediates.noindex/ArchiveIntermediates/Our_project-xxxx/Bur/Intermediates.noindex/ArchiveIntermediates/Our project/BuildProductsPath/Release-iphoneos/First adin .pliste Cela pourrait être un problème de synchronisation. Assurez-vous que la phase de construction du script d'exécution Fabric est la dernière phase de construction et qu'aucun autre script n'a été déplacé. Notre application.app à partir de l'emplacement Xcode l'a générée. Vous pouvez également ajouter '$ (BUILT_PRODUCTS_DIR)/$ (INFOPLIST_PATH)' en tant que dépendance "Fichiers d'entrée" pour votre phase de construction du script d'exécution Fabric.

** ÉCHEC ARCHIVE **

Après avoir googlé et lu la description de l'erreur, j'ai ouvert l'onglet Build phases dans Xcode et l'ai configuré (déplacez l'élément Run script en bas, cochez Run script only when installing et ajoutez $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH) aux fichiers d'entrée et supprimez également l'élément Run script vide).

La génération manuelle à partir de la ligne de commande fonctionne maintenant - il semble que le problème soit résolu. Même Jenkins a construit la première cible! Mais secong cible n'a pas avec la même erreur.

J'ai ouvert le projet, regardé l'onglet Étapes de construction et j'ai vu que l'élément Run script avait été déplacé au-dessus et qu'un nouveau Run script vide était apparu . Après cela, j'ai expérimenté: configurer des phases de construction, reconstruire le projet dans l'interface graphique Xcode et voir que les phases étaient à nouveau commandées. Donc, cela se produit pendant ou après la construction.

Comment puis-je résoudre ce bug?

Peut-on commander les phases de construction manuellement depuis la ligne de commande? Si oui, je viens d'ajouter une ligne dans l'étape de Jenkins.

De plus, cette erreur n'apparaît que dans la génération de ligne de commande. Lorsque je construis un projet à partir de l'interface graphique Xcode, il réussit toujours.

1
General Failure

J'ai trouvé une solution de type béquille: sélectionnez Legacy Build System dans File -> Workspace Settings -> Build System dans l'interface graphique Xcode.

Pourquoi est-ce une mauvaise solution? En raison de:

  • Legacy Build System est plus lent que New Build System (Default).

  • Ce n'est pas un paramètre Xcode mais un espace de travail. C'est à dire. Après le nettoyage du dossier de l’espace de travail dans Jenkins ou certaines actions du système de contrôle de version, ce paramètre sera réinitialisé sur la valeur par défaut et une option inopérante sera sélectionnée à nouveau.

5
General Failure

OK, j’ai reçu le formulaire de solution Fabrics . Pour Xcode 10, ajoutez ce chemin à la phase Fichiers d’entrée de construction dans XCode $ (BUILT_PRODUCTS_DIR)/$ (INFOPLIST_PATH)

 enter image description here

3
Elsammak

Solution pour terminer la configuration de Crashlytics et/ou Fabric en utilisant les éléments suivants: 1. Allez dans Paramètres de construction 2. Recherchez "Format des informations de débogage" 3. Modifiez la valeur de "Debug" de "DWARF" en "DWARF with dSYM File" 4. Construisez votre projet à nouveau.

Changer "DWARF" Vérifier l’image

Pour "DWARF with dSYM File" Vérifier l'image

1
Bhavik Modi