如何在Xcode 4上进行发行/发行?


Answers:


65

简短的答案是:

  1. 从菜单栏的运行按钮附近的下拉菜单中选择iOS方案
  2. 在弹出的窗口中选择产品>存档
  3. 点击“验证”
  4. 成功验证后,点击“提交”

3
同样,相同的工作流程适用于构建Mac应用程序。将它们存档后,您可以从Finder中的存档包中获取二进制文件(在管理器中的存档上单击鼠标右键,然后选择“在Finder中显示”)
DaGaMs 2011年

+1用于提供其他解决方案。我添加了另一个答案,其中包含有关使用Application Loader而不是存档和分发的方法分发应用程序的方法的更多详细信息。
whyoz 2012年

您可以在模拟器上以发布模式运行吗?
bobobobo 2012年

36

您可以使用命令行工具来构建发行版本。在您的项目文件夹旁边,即

$ ls
...
Foo.xcodeproj
...

键入以下构建命令:

$ xcodebuild -configuration Release

将命令工具cd放到包含.xcodeproj文件的文件夹中,然后运行命令
Jon

王少川很好的回答。它就像魅力。我想在此添加一点。如果要制作ios项目的发行版,请执行以下步骤。它有效
Amit Thakur

25

“播放”按钮专门用于构建和运行(或测试或配置文件等)。存档操作旨在用于发行并生成适合提交到应用商店的存档。如果要跳过该步骤,可以选择“产品”>“构建为”>“存档”以强制发布版本,而无需实际存档。要查找生成的产品,请在项目导航器中展开“产品”组,右键单击该产品,然后选择在Finder中显示。

也就是说,您可以单击并按住播放按钮以查看其他构建操作(包括“构建”和“存档”)的菜单。


是否有一种无需存档即可生成.ipa的简便方法?
devios1 2013年



3

要将构建配置设置为Debug或Release,请从“产品”菜单中选择“编辑方案”。

然后,您会看到一个明确的选择。

《 Apple Transition Guide》在Xcode屏幕的左上方提到了一个按钮,但是我在Xcode 4.3中看不到它。


3

我有一个大型应用程序,在使用XCode 4中找到的存档方法上传到AppStore时遇到问题。无论我是尝试验证还是分发,活动指示器都持续旋转了数小时,因此我创建了Apple支持票。在此过程中,我发现您可以右键单击XCode的Project Navigator中Products文件夹中的.app,然后将其压缩以使用Application Loader 2.5.1提交。(又名旧方法)。这种方式(目前)只能访问Debug-iphoneos文件夹,一旦Apple做出响应,这就是他们所说的:

我很高兴听到Application Loader为您提供了可行的解决方法。在内部讨论这种情况时,我们不确定提交Debug构建是否会带来太多问题(只要它是使用App Store分发配置文件签名的,就像您提到的那样)。该应用程序可能会变慢,因为它仍会运行,但会打开调试开关并关闭调试配置的优化功能。App Review最终将确定是否可以,因为我不确定他们是否会检查。如果愿意,您可以尝试直接与App Review联系以确认这一点。但是,由于App Loader正在为您工作,因此我建议您使用您的Release配置重新构建该应用程序,然后重新提交以安全运行。要在Xcode 4.x中找到您的Release版本,请右键单击组织器中“存档”选项卡上的“应用程序存档”,然后选择“在Finder中显示”。然后,在Finder中按住Control键单击.xcarchive文件,然后选择“显示软件包内容”。发行版的.app文件应位于/ Products / Applications文件夹中。

对于对归档方法有问题的开发人员来说,这是非常有用的信息,而我的应用程序现在可以成功上传,而无需担心它无法尽其所能。


2

该部分现在位于Schemes下。如果您编辑方案,您会看到可以为每个方案设置debug / release / adhoc / distribution构建配置。


1
我在xcode 4.3上运行的是iOS5的最新版本。.您能指导我构建发行版本吗?。我的客户希望在提交给苹果之前检查app(OTA)
Harin 2011年

1

产品->存档,稍后,按分发按钮并选中选项“导出为应用程序”或所需选项

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.