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
更多信息:
- 使用 Cocoapods 1.5.3(也用最新的 1.6 重现。0_beta.1)
- 使用 "Legacy Build System"
- 我运行存档的确切命令是:
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 之外进行存档。
我在我的 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
更多信息:
- 使用 Cocoapods 1.5.3(也用最新的 1.6 重现。0_beta.1)
- 使用 "Legacy Build System"
- 我运行存档的确切命令是:
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 之外进行存档。