Carthage 在 运行 from Xcode 10 Build pre-action 时启动失败

Carthage fails to start when running from Xcode 10 Build pre-action

我有一个简单的 ksh 脚本可以运行 carthage update --platform iOS 作为构建预操作,更新到 Xcode 10 后开始失败。 运行 终端中的命令成功生成 Carthage 文件夹。

要重现此问题,请退出 Xcode 并删除 DerivedDataCarthage 文件夹。然后打开Xcode10,尝试build.

我得到的错误:

<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

设置

我尝试过的东西

解决方案

一些链接

Non answered thread on Apples forums.

Closed Alamofire ticket

我找到了一种真正有效的方法及其:

write one valid command write after carthage update command

因此请遵循此清单:

  • 确保您的命令行工具配置为使用 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

- 最重要的一步

  • 不要忘记 在 carthage 更新命令后写入一个有效命令

请注意,这只是对所讨论问题的破解,并非所有迦太基问题。

对我来说 有效 解决方案 是在执行之前取消设置来自 XCode 10 的环境变量之一迦太基更新:

取消设置LLVM_TARGET_TRIPLE_SUFFIX

迦太基更新

就我而言,重启 macOS 解决了问题。