Xcode创建存档而不是IPA

时间:2012-01-05 08:19:25

标签: xcode cocoa-touch archive ipa

我正在尝试创建一个ipa文件(Product-> Archive-> Share),但Xcode只生成存档文件。

几天前它运作良好。我一直在工作ipa,但现在我无法生产ipa(当我点击存档中的共享时,我无法签署代码)。我在过去几天内将子项目添加到主项目中(CorePlot-CocoaTouch)。我不是百分之百肯定它可以联系。

6 个答案:

答案 0 :(得分:13)

如果您添加了静态库,则默认情况下会立即安装它们。这对于iPhone应用程序来说并不合适。转到项目文件并选择静态库的目标。在Build Settings下,转到Deployment部分,将Skip Install设置更改为YES。从Xcode 4开始,默认情况下它是NO,这将破坏您的IPA(因为您可以合法安装的唯一二进制文件是应用程序二进制文件本身)。

您可能需要从Basic视图切换到All视图才能看到此设置。

答案 1 :(得分:8)

由于对我有用的答案被隐藏在评论中,我想我会把它带到顶端。在我的例子中,将静态库的头文件更改为Project修复了问题。

要执行此操作,请选择您的库目标,然后转到Build Phases>复制标题并将标题文件从Public移动到Project。

答案 2 :(得分:2)

已经尝试过所有其他答案且没有运气的人请检查此复选框,希望它有所帮助(为我做了诀窍xcode 6.0.1)

enter image description here

答案 3 :(得分:0)

在XCode 5中,如果管理方案中有多个目标和错误的选中标记,则会发生同样的错误。然后Xcode将2个二进制文件放入1个通用存档中。这不会影响已签入的文件,例如Git的!

答案 4 :(得分:0)

其他答案都可能正确,但在我的情况下没有帮助。我花了好几个小时才终于重启了。然后我再次获得了一周前获得的应用程序存档。

答案 5 :(得分:0)

如果包含生成静态库的项目,请尝试选中“仅在安装时复制”选项。这阻止了Xcode在我的应用程序存档中包含静态库。我使用了Xcode 6.3.2。