我正在尝试使用 shell 脚本和来自 Xcode 的命令行工具自动提交到 iTunesConnect 的过程。到目前为止,我已经成功地实现了流程栏中的每一步:存档。
脚本中的代码:
echo "Attempting to build target: ${TARGET_PRODUCT}"
cd $ENGINE_PATH
# Clean
/usr/bin/xcodebuild clean -project projName.xcodeproj -target "${TARGET_PRODUCT}" -configuration Release
# Build and Archive
/usr/bin/xcodebuild archive -project projName.xcodeproj -scheme "${TARGET_PRODUCT}" -configuration Release -archivePath "${TARGET_PRODUCT}".xcarchive
到目前为止,archive 命令一直无法成功创建存档。此命令的唯一输出是:
** ARCHIVE FAILED **
.如果我只是尝试构建而不是归档,我会得到:
** BUILD SUCCEEDED **
存档确实在预期位置生成了一个文件,并且“显示包内容”展开以显示与 Xcode 中生成的存档相同的目录结构,但有一个异常(exception),在 Xcode 中创建的存档包括一个名为
SCMBlueprint
的附加文件夹。 .我在其他论坛帖子中看到,归档问题通常是由于代码签名或配置文件问题造成的。但是,我不相信在这种情况下这是一个问题,因为在构建和存档过程中,使用的代码签名标识和配置文件会在控制台中输出。我失败的归档使用与成功构建使用的相同的代码签名标识和配置文件。此外,我使用 Xcode 生成了一个存档,并在该存档中查找了
embedded.mobileprovision
文件。我将此与 xcodebuild
生成的失败存档进行了比较。并且可以看到它们是相同的。我已经在网上其他地方寻找有关导致存档的任何建议
xcodebuild
失败,但到目前为止,我很难过!任何帮助深表感谢!
最佳答案
请检查您在存档过程中是否有任何错误。另外请比较Xcode和命令行输出的日志,它可以帮助您了解哪个步骤编译失败。
我遇到过同样的问题。存档在没有任何特定原因的情况下失败,而 .xcarchive 已生成。我查看了来自 xcode 的构建日志,注意到它以 Build finished with errors
结束。信息。尽管这个错误组织者显示了存档,我还是能够从中导出 IPA。
当我查看它时,我发现存在由损坏的 PNG 文件导致的存档错误,该文件在存档过程中无法压缩。错误不是致命的,因此无论如何都会生成存档。当我修复 PNG 文件时,一切都开始顺利编译,没有任何问题。
关于ios - xcodebuild 存档失败,xcode 存档成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38920641/