为什么在尝试安装Ad-Hoc构建时,"无法将其添加到您的iTunes库,因为它不是有效的应用程序"错误?

Dan*_*eny 9 iphone xcode ios xcode4

我最近将Mac升级为Lion,还升级了Xcode 4.

在Build Settings中,我将"Release"的"Code Signing"设置为"iPhone Distribution",它与我们的Ad-Hoc配置文件(我们过去在Snow Leopard/Xcode 3上使用过)匹配.

我删除了旧的Entitlements文件(因为它显然不再被Xcode 4使用).

在Scheme部分中,我将Archive设置为使用Release版本.

我正在使用产品>存档进行构建.

我通过进入管理器并单击"共享"来保存文件,然后确保选择了相同的Ad-Hoc配置.

我将生成的IPA文件发送给我的老板,他以前安装过这个应用程序.当他尝试安装它时,他收到消息"[appname]无法添加到您的itunes库,因为它不是一个有效的应用程序".

我一直在尝试我能想到的各种设置组合,但我们无法让它发挥作用.我只能在谷歌发现这个错误两次 - 一次是来自越狱手机的人,一次是发表在一篇文章的评论中,有人有同样的问题,但是没有回复.

任何帮助将非常感激.

编辑:同样的事情发生尝试将IPA拖动到创建它的Mac上的iTunes!:(

编辑2:刚刚采取了另一个(几乎完全相同)的项目并尝试了一个没有"现代化"项目的构建,或选择了Xcode中的任何新选项(图标,启动图像,方向等),这个构建工作.我将使用这个用原始应用程序完成的每一项工作,每一步都要进行测试.希望应该能够隔离哪个步骤打破了已编译的应用程序!

(也发布到Apple Dev论坛)

Dan*_*eny 19

我相信我已经跟踪了这个...它似乎是间歇性的发生,所以花了一些时间(我重现它,回滚变化,确认它有效,然后重新应用变化,为它然后再次工作!).

但是,经过多次清理/重启等后,我认为它与目标设置中的"Build"版本有关(现在有两个版本字段,"Version"和"Build").似乎如果"Build"为空,则会发生此错误.

不幸的是,更改此值似乎无法正确重建,因此有时如果您更改它,然后存档,您仍然可以获得之前的值.在Archiving之前手动清理似乎可以解决这个问题.

该值将作为CFBundleVersion写入plist文件.