存档在Xcode 4.5 - 没有错误,但建立取消

问题描述:

我一直在构建iOS应用程序超过2年,从未遇到过这个问题。我正试图归档一个应用程序的beta版本。构建成功,但在过程的最后,Xcode报告“存档已取消”。存档在Xcode 4.5 - 没有错误,但建立取消

enter image description here

构建日志显示没有任何形式的警告或错误。

enter image description here

有时候,保洁/ build文件夹/擦得出的数据,我可以成功存档,但似乎没有模式给它。有没有人遇到过这个问题?在这种情况下,我甚至没有什么可以继续发送错误消息。

+1

从未见过或听说过它。您正在通过清理项目等来做正确的事情。尝试重新安装xcode,可能会出现xcode问题。我知道这样做很痛苦,但它可能会一劳永逸地解决问题。但这是最后的手段。 –

+0

你有没有得到这个工作?我有完全相同的问题。你的项目使用椰子树吗?我想知道这是否是我的问题。有没有其他的线索知道什么是错的:( – ConfusedNoob

+0

我确实想过重新安装Xcode,想想我必须尝试一下,我使用CocoaPods,但过去曾在多个项目中使用过CocoaPods,绝对没有问题 –

你有一个自定义的运行脚本,用agvtool颠覆版本?我发现这导致了这种确切的行为。几乎100%的归档失败,以及常见的构建失败。删除这个问题解决了我的问题。

+2

哇,就是这样,我正在使用AVGTool自定义运行脚本来碰撞我的build#真棒catch!杀手是在日志中没有任何反馈告诉你什么取消了构建,谢谢你的回答! –

+0

aaaaahhhhhhhhhhh这个人花了我几个小时的时间,在自动化构建和ipa包以及所有花哨的东西之后,avgtool在杀死脚本。THX !!! –

第一:ConfusedNoob的答案+1,因为那是问题(这导致我进行了大量的实验,最后是这个解决方案)。如果我的答案帮助你,也+1,因为他的提示很大!

(另请参阅我的其他答案,下面,绕过agvtool干脆。我最终入驻的使用,在我所有的项目。)

我一直在用它搞乱了一下,唯一我发现可靠地解决这个问题的方法是在适当的方案中使用agvtool作为前置操作,而不是作为构建阶段的运行脚本。

  • CMD-SHIFT-逗号编辑方案(的XCode 6.x中)
  • 捻开,你想这两者方案上。我做了RunArchive,但我可能只是真的需要它在档案。
  • 选择“+”图标和“新建脚本动作”
  • 添加您的agvtool脚本。如果你关心,我的是:

    cd ${PROJECT_DIR} ; xcrun agvtool next-version -all 
    

注:预动作不自然的${PROJECT_DIR}运行,所以你必须cd。)

关闭&保存,这就是它。

问题是,agvtool会修改项目文件(不必要的,因为我们关心的所有构建号都在其他地方),修改项目文件会导致构建取消。

+1这个问题也是 - cripes,这是一个艰难的!

+0

“cd $ {PROJECT_DIR}”很好! – Luke

+2

我不介意,但是如果作为“存档”方案中的预操作脚本添加,它似乎被当前版本“存档”,然后在Xcode 7中递增(与后处理相同的结果)。 –

+1

另外我注意到我有t o将它作为Post-action来执行,以在执行测试时防止取消警告,并且必须选择'提供来自'的构建设置和我的框架。 – Gujamin

另一种技术是完全跳过agvtool。只需将此运行时脚本添加到构建阶段的末尾(在复制束资源之后)。)

  • 选择项目

Select your project

  • 选择建造阶段和+

Select build phases and +

  • 添加新Run Script阶段

Add new run-script phase

  • 输入脚本

Enter the script

的脚本,方便复制/粘贴:

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE") 
buildNumber=$(($buildNumber + 1)) 
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE" 

确保您的脚本运行后您的构建

的副本束相对于我的carthage update构建阶段是造成问题。

同时检查是否有任何其他构建阶段的脚本修改文件或代码。