Xcode 10 次归档失败 - 仅在命令行上 (xcodebuild)

Xcode 10 archiving fails - only on command line (xcodebuild)

我在我的 CI 机器 (Jenkins) 上存档时遇到问题,当 运行 在同一台机器上手动处理但 Xcode UI ,一切正常。

我得到的错误是:

<unknown>:0: error: cannot have input files with file list

** ARCHIVE FAILED **


The following build commands failed:
    CompileSwift normal armv7
    CompileSwiftSources normal armv7 com.apple.xcode.tools.swift.compiler
    CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
    CompileSwift normal arm64
(4 failures)

它在失败时执行的原始命令非常长(68K+ 个字符),这里它是从所有 pods/app 信息中删除的:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift @/var/folders/cc/h3hp1kt14rv3j5t_lybwwgqh0000gp/T/arguments-ece6e3.resp # -frontend -c -filelist /var/folders/cc/h3hp1kt14rv3j5t_lybwwgqh0000gp/T/sources-e4a704 -supplementary-output-file-map /var/folders/cc/h3hp1kt14rv3j5t_lybwwgqh0000gp/T/supplementaryOutputs-4e5601 -target arm64-apple-ios10.0 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk  -g -module-cache-path / ... /ModuleCache.noindex -swift-version 4 -O -D RELEASE -serialize-debugging-options ...  -module-name APPNAME -num-threads 8 -output-filelist /var/folders/cc/h3hp1kt14rv3j5t_lybwwgqh0000gp/T/outputs-3df91d

更多信息:

  1. 使用 Cocoapods 1.5.3(也用最新的 1.6 重现。0_beta.1)
  2. 使用 "Legacy Build System"
  3. 我运行存档的确切命令是: xcodebuild -scheme APPSCHEME -workspace APPNAME.xcworkspace -configuration Release clean build archive -derivedDataPath "../build" -archivePath "../build/APPNAME.xcarchive"

只是为了让事情变得更有趣,当 运行 在我的本地机器上执行存档命令时,我没有看到任何失败……非常奇怪和不一致。

任何帮助将不胜感激!

最终我弄明白了,它看起来真的无关紧要,但它是唯一为我解决了所描述问题的东西。

转到您的构建设置并删除那里的任何递归搜索路径。而已。 (任何以 ** 结尾的搜索路径都是递归路径)。

祝你好运!

出现此错误的相关案例是 运行:

xcodebuild -scheme sharetec build

在我的例子中,我只需要像这样多调整一点参数:

xcodebuild -workspace [WP_NAME].xcworkspace -scheme [A_TARGET] -sdk iphoneos clean build

所以错误消失了。

我在使用 AppCenter 时遇到了这个问题。我选择了与项目部署目标不同的 xcode 版本。

我遇到了同样的问题:

xcodebuild -workspace ABC.xcworkspace -scheme SCHEME_NAME archive -archivePath ABC.xcarchive

我通过删除 -archivePath 及其参数解决了这个问题。

对于这个问题,我有一个可能的通用解决方案。就我而言,我听从了所有可能网站的所有建议,包括这个网站,但直到我尝试在 Xcode 本身上归档项目(我通过 fastlane 归档,它的日志没有帮助我)。当我在Xcode存档的时候,它居然告诉我问题出在哪里,我很快就解决了问题。因此,如果没有任何效果,请尝试在 Xcode 本身中存档(如果您碰巧在 Xcode 之外进行存档。