2016-08-12 60 views
0

我正在尝试使用shell脚本和Xcode中的命令行工具自动将提交过程提交给iTunesConnect。到目前为止,我已经设法实现了流程栏的每一步:归档。xcodebuild存档失败,xcode存档成功

从脚本代码:

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的额外文件夹。

我在其他论坛帖子上看到归档问题通常是由于代码签名或配置文件问题。但是,我不认为这是一个问题,因为在构建和归档过程中,所使用的代码标识身份和供应配置文件将在控制台中输出。我的失败归档使用的是与成功构建版本相同的Code Sign Identity和Provisioning Profile。另外,我使用Xcode制作了一个档案,并查看了embedded.mobileprovision文件的档案。我将它与xcodebuild生成的失败归档进行了比较,可以看到它们是相同的。

我在网上寻找其他地方的任何建议,导致xcodebuild归档失败,但到目前为止,我很难过!任何帮助深表感谢!

+0

那里必须有额外的错误信息。没有他们,你无法找到原因。 – Droppy

+0

处理命令时有通常的输出,例如,编译源文件,链接,生成targetName.app.dSYM,触摸targetName.app,签署targetName.app,然后只是** ARCHIVE FAILED **。失败消息之前的最后一步是-validate-for-store。尽管如此,没有进一步说明导致存档失败的原因。 – charlessunshine

+0

在这里有完全相同的问题:( – sachadso

回答

3

请检查您是否在归档过程中没有任何错误。还请比较Xcode和命令行输出之间的日志,它可以帮助您了解哪些步骤编译失败。

我有同样的问题。存档失败没有任何特定的原因,而.xcarchive出品。我看着xcode的构建日志注意到它完成了Build finished with errors消息。尽管这个错误组织者显示存档,我能够从中导出IPA。

当我回顾了这一点,我发现有一个归档错误是由压缩的PNG文件引起的,在归档过程中无法压缩。错误是非致命的,因此无论如何正在生成存档。当我修复PNG文件时,一切都开始顺利编译,没有任何问题。

+0

这是一个了不起的发现,我一直忽略非致命的PNG暗恋错误。模糊的命令行存档解决方案,IMO的苹果公司确实错过了他们的工具质量,希望他们很快就能找到更好的开发人员。 – jcpennypincher