J'ai un script ksh simple qui exécute carthage update --platform iOS
en tant que pré-action de construction et il a commencé à échouer après la mise à jour vers Xcode 10 . L'exécution de la commande dans Terminal génère le dossier Carthage
avec succès.
Pour reproduire ce problème, quittez Xcode et supprimez les dossiers DerivedData
et Carthage
. Ensuite, ouvrez Xcode 10 et essayez de construire.
L'erreur que je reçois:
<unknown>:0: error: unable to load standard library for target 'arm64-Apple-ios8.0-simulator'
** ARCHIVE FAILED **
The following build commands failed:
CompileSwift normal armv7
CompileSwiftSources normal armv7 com.Apple.xcode.tools.Swift.compiler
CompileSwift normal arm64
CompileSwiftSources normal arm64 com.Apple.xcode.tools.Swift.compiler
(4 failures)
Build Failed
Cartfile
points pour Alamofire 4.7.3carthage bootstrap
n'a pas fonctionnéenv -i
comme indiqué dans ticket Carthage ouvert , n'a pas fonctionnéxcodebuild
, trouvé dans cette réponse. Ceci vous oblige à écrire votre propre carthage update
, composé de checkout et build. Seule cette option a fonctionné comme étape de préaction Xcode Build. La solution a été testée.J'ai trouvé un moyen qui fait le tour et son:
écrire une commande valide write après la commande carthage update
Alors suivez cette liste de contrôle:
Assurez-vous que vos outils de ligne de commande sont configurés pour utiliser Xcode 10.1. Exécutez la commande suivante à partir de Terminal:
Sudo xcode-select -s <path to Xcode 10.1>/Contents/Developer
Assurez-vous que le fichier de script dispose des autorisations requises:
chmod 777 <path-to-script-file>
Ecrivez une commande valide, écrivez après la commande carthage update
, par exemple echo succeed
(cela fait l'affaire):
Environnement testé:
Carthage 0.31.2
Xcode 10.1
Démo de travail
https://github.com/MojtabaHs/Carthage-WorkingDemo
Notez qu’il s’agit d’un simple piratage du problème expliqué en question, et non de tous les problèmes de carthage.
La solution qui fonctionnait pour moi consistait à supprimer une des variables env provenant de XCode 10 juste avant d'exécuter cart update
unset LLVM_TARGET_TRIPLE_SUFFIX
carthage mise à jour