J'aimerais utiliser le nouveau système de compilation de Xcode 10 pour le développement, mais notre construction dans notre système d'intégration continue échoue car la variable xcarchive
produite a un problème: le Info.plist
de la xcarchive
manque de la clé ApplicationProperties
et des informations qu'il contient!
Il s'avère que revenir au système de construction hérité résout ce problème. Cela peut être fait dans les paramètres de l'espace de travail (Fichier> Paramètres de l'espace de travail…> Construire le système). Mais je préférerais conserver le nouveau système de génération pour le développement et utiliser uniquement le système de génération existant pour les générations CI.
Existe-t-il un moyen de rendre xcodebuild
utiliser le système de construction hérité sans modifier l'espace de travail?
Il existe un indicateur (non encore répertorié) dans xcodebuild
: -UseModernBuildSystem=<value>
. La valeur peut être 0
ou NO
pour utiliser le système de génération hérité ("original"), ou 1
ou YES
pour utiliser le nouveau système de génération.
Par exemple:
xcodebuild -workspace Foo.xcworkspace -scheme Bar -configuration Release -archivePath /path/to/Foo.xcarchive clean archive -UseModernBuildSystem=NO
(-UseNewBuildSystem=<value>
semble fonctionner aussi bien; ce drapeau a été introduit dans Xcode 9 mais je soupçonne que UseModernBuildSystem
sera le drapeau "officiel" pour cela.)
Pour étendre les answer de DarkDust, si vous utilisez fastlane pour des constructions automatisées, des paramètres supplémentaires tels que UseModernBuildSystem
peuvent être passés par xcargs
:
build_app(
// ... other necessary parameters,
xcargs: "-UseModernBuildSystem=NO"
)
Pour sélectionner le système de compilation de Xcode 10:
Dans Xcode, accédez à: Fichier -> Paramètres du projet (ou Paramètres de l'espace de travail) -> Construire le système
De là, vous pouvez sélectionner New Build System (Default)
ou Legacy Build System
J'espère que cette aide rend cela plus facile.
Changez le système de compilation en Legacy Build System
à partir de New Build System
et vice versa.
Ouvrir Xcode -> Sélectionner un fichier -> Sélectionner les paramètres de l’espace de travail
Changez le système de construction en système de construction hérité à partir du nouveau système de construction -> Cliquez sur Terminé.