我有运行的简单ksh脚本
carthage update --platform iOS
作为Build预操作,并且在更新为Xcode 10后开始失败。
在终端中运行命令会成功生成Carthage
文件夹。
要重现此问题,请退出Xcode并删除DerivedData
和Carthage
文件夹。然后打开Xcode 10并尝试构建。
我得到的错误:
<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
指向Alamofire 4.7.3 carthage bootstrap
无效env -i
,不起作用xcodebuild
,found in this answer.,这将迫使您编写自己的carthage update
,由结帐和构建组成。仅此选项用作Xcode Build预操作步骤。 The solution was tested. 答案 0 :(得分:4)
对我有用的解决方案是在执行迦太基更新之前取消设置来自XCode 10的env变量之一:
取消设置LLVM_TARGET_TRIPLE_SUFFIX
迦太基更新
答案 1 :(得分:3)
我找到了一种有效的方法,并能达到目的:
在迦太基更新命令之后写一条有效命令
因此,请遵循以下清单:
确保将命令行工具配置为使用Xcode 10.1。从终端运行以下命令:
sudo xcode-select -s <path to Xcode 10.1>/Contents/Developer
确保脚本文件具有必需的权限:
chmod 777 <path-to-script-file>
在carthage update
命令之后写一个有效的命令写,例如echo succeed
(实际上就是这样):
经过测试的环境:
Carthage 0.31.2
Xcode 10.1
工作演示
https://github.com/MojtabaHs/Carthage-WorkingDemo
请注意,这只是针对有问题的问题的破解,而不是所有的迦太基问题。
答案 2 :(得分:1)
就我而言,重新启动macOS可以解决问题。