从Xcode 10 Build预操作运行时,Carthage无法启动

Bor*_* Y. 8 xcode ios carthage

我有一个简单的ksh脚本 carthage update --platform iOS作为Build pre-action运行,它在更新到Xcode 10后开始失败.在Terminal中运行命令会Carthage成功生成文件夹.

要重现此问题,请退出Xcode并删除DerivedDataCarthage文件夹.然后打开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
Run Code Online (Sandbox Code Playgroud)

建立

  • 迦太基0.31.1
  • Cartfile 指向Alamofire 4.7.3

我尝试过的事情

  • 使用carthage bootstrap,没有用
  • 将Alamofire依赖目标提升到iOS 8.4和10(来自本地分支),没有用
  • 这个SO问题的所有答案.,没用
  • env -i按照开放迦太基票的建议使用,没有用

解决方案

  • 第一次构建时选择"Generic iOS Device".
  • 将SDK参数直接传递给xcodebuild,在此答案中找到.这迫使你自己编写carthage update,由checkout和build组成.只有此选项可用作Xcode Build预执行步骤.测试了该解决方案.

一些链接

苹果论坛上没有回复的帖子.

关闭Alamofire门票

Tom*_*cki 6

解决方案工作对我来说是在ENV变量在Xcode 10未来的取消设置一个刚刚执行迦太基更新之前:

未设置LLVM_TARGET_TRIPLE_SUFFIX

迦太基更新