Xcode 4:创建IPA文件而不是.xcarchive


182

在Xcode 3.2.5中,我使用“构建和存档”来创建IPA文件。在Xcode 4中,您可以使用“产品->存档”将应用程序存档为.xcarchive捆绑包。

如何使用Xcode 4创建.ipa文件?




3
每当我建立一个新的即席版本时,我的Google搜索就会把我引到这里。在过去的几个月中,我已经多次看到此页面。好问题,好解决方案
康尼比


这里是一个Xcode的插件出口IPA github.com/rajeshbeats/Xcode-Plugin-Export-IPA
拉吉

Answers:


391

创建IPA的方法与创建.xcarchive相同:产品->存档。存档操作完成后,转到管理器,选择存档,选择共享,然后在“选择共享的内容和选项:”窗格中,将“内容”设置为“ iOS App Store软件包(.ipa),将身份标识为iPhone分发(应该与您的专案/应用商店的供应配置文件相匹配)。

可能会禁用“ iOS App Store软件包(.ipa)”选项。当您的构建产生多个目标(例如,一个应用程序一个库)时,就会发生这种情况。它们全都位于build products文件夹中,Xcode对于如何将它们打包到.ipa文件中感到天真的困惑,因此它只是禁用了该选项。

解决此问题的方法如下:对每个目标(应用程序目标除外)进行构建设置,然后将“跳过安装”标志设置为“是”。然后再次执行产品->存档探戈,然后转到管理器选择新的存档。现在,单击“共享”按钮时,应启用.ipa选项。

我希望这有帮助。


2
这解决了我的问题,谢谢!在我的情况的问题实际上是一个儿童项目(ProtocolBuffers对我来说),它有这样的需要跳过安装到设置几个目标。
JosephH 2011年

在出现“产品”->“存档”选项之前,您可能需要“产品”->“清理并打开/关闭工作区”。
Mark Chackerian 2011年

我有多个目标的问题。将共享库设置为“跳过安装”为“是”,将应用程序设置为“跳过安装”为“不”。在Xcode 3.2(仅4.1)中,这对我来说不是问题。
logancautrell 2011年

44
现在,“共享”为“分发...”,然后选择“为临时部署的企业保存”
Rembrandt Q. Einstein

“跳过安装”还不够-我在Xcode 4.5中遇到了这个错误,并且自从我添加了带有捆绑软件的库以来,它就拒绝正确分发。
亚当

44

仅将“跳过安装”设置为“是”对我不起作用。希望这会对某人有所帮助。

我依赖于我的项目目标:Coreplot-CocoaTouch。然后转到Coreplot-CocoaTouch Targets。在其目标中打开了构建阶段。然后打开复制标题。在那里,我在Public中有一些标头,在Private中有一些标头,在Project中有一些标头。将它们全部移到Project。

当然,在Coreplot-CocoaTouch Target的构建设置中检查了“部署选项”中的“跳过安装”设置为“是”。

这次,Archive制作了一个可以签名并产生.ipa的档案。


1
将标头移到Project之后,与上述步骤完美配合。谢谢
iOSAppDev 2012年

像清风一样!任何将OAuth的github.com/sprhawk/ytoolkit.git放入其项目中的人都将需要此。谢谢。
vmanjz 2012年

2
为什么哦,为什么Xcode仍然充满如此严重的错误?比此评论晚18个月,错误仍然存​​在!谢谢您的帮助。
本·克莱顿

您不知道我现在有多爱您...至少我的一个问题已解决!谢谢!
Dmytro

15

对于Xcode 4.6(和Xcode 5)档案

  • 在管理器中,右键单击一个档案,然后选择“在Finder中显示”
  • 在Finder中,右键单击一个存档,然后选择“显示包内容”
  • 打开文件夹产品>应用程序
  • 那里的应用程序
  • 将应用程序拖到iTunes Apps文件夹中

    在此处输入图片说明

  • 右键单击iTunes Apps中的应用程序,选择在Finder中显示

  • .ipa那里!

这就是我的xcode 4.6.3真正需要的,以上对我来说都是无稽之谈,只有这一工作。太好了!
2013年

请注意,会创建一个ipa,但可能无法正确安装,它在同步后会在电话上显示图标,但会说安装在下面并且永远不会结束。无论如何,到目前为止,我的经验是Xcode 5.1.1。
colin lamarre 2014年

4

在组织者中,您可以单击共享并另存为iOS App Store软件包(.ipa)。您可能还必须从“产品”菜单中选择“存档”才能在管理器中生成存档。最后,我认为您必须具有正确签名的存档版本才能执行此操作。


3
很容易弄清楚如何从项目中创建存档。问题是,在共享选项“包装”时显示为灰色。您可能是正确的,那就是存档必须正确签名才能启用该选项。我使用密钥来分发Ad-Hoc,也为分发Ad-Hoc指定了权利。您能否分享如何创建IPA文件?
克拉斯尼克2011年

4

我使用旧版本的route-me库时遇到了同样的问题。我“跳过”了所有库以及库(proj4)内部的库,但是仍然遇到相同的问题。事实证明,即使跳过了库,route-me和proj4仍在安装公共头文件,这以相同的方式将其弄乱了!因此,我只是进入route-me和proj4目标的“ Build Phases”选项卡,打开“ Copy Headers”,打开“ Public”,然后将这些标题从“ Public”拖到“ Project”中。现在它们没有安装在$(BUILD)/ usr / local / include中,并且我能够从存档中创建一个ipa文件!

我希望苹果用XCode来解决这个可怕的可用性问题。它绝对不能指示出什么问题,只是行不通。我讨厌暗淡的控件,这些控件不会告诉您任何有关为什么它们变暗的信息。禁用的控件可以弹出一条消息,告诉您为什么沮丧地单击它们时为什么禁用它们,而不是忽略单击?


是的 所有标为public的头文件都可以解决此问题。将它们设置为项目可以解决问题!
JakubKnejzlik'5

3

假设您已成功完成“产品”>“存档”,然后从Organizer(Shift Apple 2)中单击“存档”。

选择您的存档。选择共享。在“选择要共享的内容和选项:”窗格中,将“内容”设置为“ iOS App Store软件包(.ipa),将身份标识为iPhone分发。

单击下一步,输入应用程序名称,然后单击保存。

带有屏幕截图的完整血腥细节在这里: Xcode4UserGuide


2

尝试过所有其他答案但没有任何运气的人,请选中此复选框,希望对您有所帮助(对我来说,这是xcode 6.0.1的窍门)

在此处输入图片说明


0

我遇到了同样的问题。。。不得不从头开始重新创建项目。

注意:我的项目是在XCode 3.1中创建的,并且链接到作为子项目构建的静态库(到公共目标)。当我在XCode 4中重新创建XCode项目时,我更改了它以构建源。

现在,执行“产品/归档/共享...”可在“应用程序”(现已变灰)和“归档”(导出.xcarchive)的正上方获得“ iOS App Store软件包(.ipa)”选项。


0

同样的问题。我解决了将每个外部项目的“跳过安装”标志设置为YES的问题,而使主项目的其他目标保持不变。

我还必须转到“编辑方案…”,选择“归档”面板,并为我的临时目的设置正确的构建设置。

然后,一个简单的产品->存档->共享就完成了预期的工作。


0

您将需要构建和存档您的项目。您可能需要检查项目和可执行文件中具有哪些代码签名设置。

使用管理器选择存档版本,然后可以共享项目的该版本。您将需要再次选择正确的代码签名。它将允许您将.ipa文件保存在所需的位置。

将.ipa文件拖放到iTunes中,然后与您的iPhone同步。


0

如果它是一个游戏(也可能是应用程序),并且您有一些静态库(例如cocos2d或其他第三方库)……那么您只需选择* ONLY THE *静态库(NOT APP)并在其构建设置下选择部署,将“跳过安装”标志设置为YES并将其存档......!


0

我也抛出了同样的问题。上面的答案都不对我有用,但是我最终自己找到了解决方案。未创建ipa文件,因为在“目标”->“构建阶段”->“带有资源的复制捆绑包”中存在库文件(libXXX.a)

希望它可以帮助某人:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.