【发布时间】:2016-12-19 15:01:17
【问题描述】:
我正在尝试使用 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 FAILED **。
如果我只是尝试构建而不是存档,我会得到:** BUILD SUCCEEDED **
存档确实会在预期位置生成一个文件,并且“显示包内容”会展开以显示与 Xcode 中生成的存档相同的目录结构,但有一个例外,在 Xcode 中创建的存档包含一个名为 SCMBlueprint 的附加文件夹。
我在其他论坛帖子中看到归档问题通常是由代码签名或配置文件问题引起的。但是,我不相信在这种情况下这是一个问题,因为在构建和归档过程中,使用的代码签名身份和配置文件会在控制台中输出。我失败的归档使用的是成功构建使用的相同代码签名身份和配置文件。此外,我使用 Xcode 生成了一个存档,并在该存档中查找了 embedded.mobileprovision 文件。我将此与xcodebuild 生成的失败存档进行了比较,可以看出它们是相同的。
我已经在网上其他地方寻找有关导致xcodebuild 归档失败的任何建议,但到目前为止,我很难过!非常感谢任何帮助!
【问题讨论】:
-
那里一定有额外的错误信息。没有它们,您就没有找到原因的希望。
-
在处理命令时有通常的输出,例如编译源、链接、生成 targetName.app.dSYM、接触 targetName.app、签署 targetName.app 然后只是 ** ARCHIVE FAILED **。失败消息之前的最后一步是 -validate-for-store。虽然其中没有进一步的迹象表明导致存档失败的原因。
-
你找到解决方案了吗?我的项目开始用 Xcode 8 做这个
标签: ios xcode shell archive xcodebuild