【问题标题】:Xcode 10 archiving fails - only on command line (xcodebuild)Xcode 10 归档失败 - 仅在命令行 (xcodebuild)
【发布时间】:2018-10-07 11:22:06
【问题描述】:

我在我的 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+ 个字符),这里它是从所有 pod/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. 使用“旧版构建系统”
  3. 我正在运行以存档的确切命令是: xcodebuild -scheme APPSCHEME -workspace APPNAME.xcworkspace -configuration Release clean build archive -derivedDataPath "../build" -archivePath "../build/APPNAME.xcarchive"

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

任何帮助将不胜感激!

【问题讨论】:

  • 面对同样的问题,感谢任何帮助!
  • Ld /Users/buildadmin/Library/Developer/Xcode/DerivedData/Project Name-cztdvnrjawdhuyflibgzdhwgttze/Build/Intermediates.noindex/ArchiveIntermediates/Project Name/IntermediateBuildFilesPath/Project Name.build/Release-iphoneos/Project Name.build/Objects-normal/armv7/Project Name normal armv7 归档失败。
  • 尝试在 ** ARCHIVE FAILED ** 行之前发布更多日志行。通常在那里它会说如果它找不到特定的文件或其他什么
  • 我也面临与 Jenkins 相同的问题。任何帮助都将不胜感激。
  • 检查你的 export 为我 unset CPATH 工作

标签: ios cocoapods xcodebuild xcode10 archiving


【解决方案1】:

出现此错误的相关情况是通过运行:

xcodebuild -scheme sharetec build

在我的情况下,我只需要像这样调整更多参数:

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

所以错误消失了。

【讨论】:

  • 我也不知道发生了什么,但这有效哈哈哈
  • 在我的例子中,-sdk iphoneos 应该包括在内。
【解决方案2】:

最终我想通了,它看起来真的不相关,但它是唯一为我解决了所描述问题的东西。

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

祝你好运!

【讨论】:

  • 我遇到了你描述的同样的问题。但是我的项目构建设置中没有递归路径。
  • 谢谢!是的,它现在运行良好。 Jenkins+fastlane CI 已经正常工作2年了。前几天,失败了!错误信息:“CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler”、“导入桥接头失败”、“/Objects-normal/arm64/your_project_name.swiftmodule”,但归档可以使用 fastlane 命令行或在没有詹金斯的 Xcode 中使用手册!所以,我猜jenkins和项目配置有一些冲突。
  • 去构建设置并删除似乎是一个Objective-C桥接头,或者至少其中一个。当 Github 推送时,通过将文件导入项目而陷入这种情况,因为推送中不包括该死的 xcproject 文件。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

    我遇到了同样的问题:

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

    我通过去掉 -archivePath 及其参数来解决它。

    【讨论】:

      【解决方案5】:

      我对此问题有一个可能的通用解决方案。就我而言,我遵循了所有可能的网站的所有建议,包括这个,但是直到我尝试在 Xcode 本身上存档项目(我通过 fastlane 存档,它的日志根本没有帮助我)才走运)。当我在 Xcode 中存档时,它实际上向我展示了问题出在哪里,并且我能够快速解决问题。所以,万一没有任何效果,如果您碰巧在 Xcode 之外存档,请尝试在 Xcode 本身中存档。

      【讨论】:

      • 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。
      猜你喜欢
      • 2016-12-19
      • 2020-10-06
      • 1970-01-01
      • 1970-01-01
      • 2019-03-01
      • 2011-07-20
      • 2017-09-30
      • 2019-02-24
      • 1970-01-01
      相关资源
      最近更新 更多