如何将.xcarchive转换为.ipa,以便客户端使用Application Loader将应用程序提交到应用商店

aob*_*obs 49 xcode app-store ios ipa xcode4.5

我们使用客户端的证书和分发配置文件创建了.xcarchive文件代码签名,但是我们需要将.ipa文件发送到我们的客户端,以便他们可以使用Application Loader将应用程序上传到App Store.

在Xcode 4.5中创建.ipa文件的唯一方法是单击Distribute - > Save for Enterprise或Ad-Hoc Deployment,其下面有一个描述"在iOS App Store外部签名和打包应用程序".

如果我们以这种方式保存.ipa文件,是否会导致向应用商店提交任何问题?或者是否有将.xcarchive转换为.ipa的正确方法?

提前致谢!

Meh*_*kar 97

  1. 使用Xcode创建Xarchieve文件,单击product-> archive
  2. 首先右键单击xarchive文件 - >在finder中显示
  3. 再次右键单击xarchive文件 - >显示包内容
  4. 然后打开文件夹产品 - >应用程序,在这里获取您的应用程序文件
  5. 现在,将这个拖放到itunes商店的应用程序目录(在iTunes商店右上角找到应用程序下拉菜单).这将自动将存档文件转换为ipa文件.(在这里,你也可以这样做 - >在itunestore中的任何地方拖放.app文件,一旦处理完毕,从搜索框中搜索回来).

  6. 然后再次右键单击它 - >在Finder中显示,这将显示您的ipa文件.现在您可以将此一个提供给任何用户

  • 为什么它不容易?Apple似乎很高兴让开发人员受苦! (7认同)
  • 在OS X Mavericks下使用iTunes 11.4,这个解决方案对我来说似乎不起作用.工作是什么工作将应用程序文件(上面的步骤#4)拖到位于左上方的iTunes的"Library"部分(其中列出了"Music","Movies","TV Shows"等).从那里,它创建了`.ipa`文件,因为它是我用这种方式添加到iTunes的第一个应用程序,还在我的iTunes资料库下创建了一个`Apps`部分.从那里,您可以右键单击该应用程序并选择"在Finder中显示"以直接导航到该应用程序. (6认同)
  • 在你的评论和工作正常之后,我已经在今天尝试了itunes 11.4和mavericks (2认同)
  • @md-rubel,是的,就像在新的 mac os 系统中一样,苹果删除了 itunes。现在您必须执行以下步骤: 转到“窗口”->“管理器”->“存档” 在这里,选择您的存档并单击右侧的“分发应用程序”按钮 然后选择“导出”选项,而不是上传,然后继续选择默认选项最终你会生成 ipa 文件。 (2认同)

Jas*_*ore 53

针对Xcode 7和8进行了更新

这是一个脚本,用于创建存档并根据需要生成.ipa - tweak:

PROJECT=xxx
ARCHIVE_PATH=/tmp/${PROJECT}.xcarchive
EXPORT_PATH=/tmp/${PROJECT} # DIRECTORY
mkdir -p $ARCHIVE_PATH
xcodebuild -project ./${PROJECT}.xcodeproj -scheme ${SCHEME} archive -archivePath $ARCHIVE_PATH -verbose

PLIST='{"compileBitcode":false,"method":"enterprise"}' # edit as needed

EXPORT_PLIST=/tmp/${PROJECT}.plist
echo $PLIST | plutil -convert xml1 -o $EXPORT_PLIST -

xcodebuild -exportArchive -archivePath $ARCHIVE_PATH -exportPath $EXPORT_PATH -exportOptionsPlist $EXPORT_PLIST
Run Code Online (Sandbox Code Playgroud)

  • 只是一个提示,您还可以通过附加`-exportProvisioningProfile"{PROVISION_PROFILE_NAME}"来指定配置文件. (5认同)
  • `xcodebuild:错误:无效选项'-exportFormat' (2认同)

Jay*_*bey 16

您可以从XCArchive创建IPA.

  1. 右键单击ProjectName [Date Time] .xcarchive
  2. 选择显示包内容.

步骤1

第2步

它由三件事组成:

一个.dSYMs:dSYM文件存储应用程序的调试符号.

Info.plist:属性列表,包含ApplicationProperties,ArchiveVersion,CreationDate,Name,Scheme等详细信息.

C.产品:包含项目的App文件.

  1. 选择产品 - >应用程序.这包含应用程序文件.

  2. 现在,将app文件拖放到iTunes(MyApps Tab)中.

  3. 选择您的项目.

  4. 右键单击并选择"在Finder中显示".这将找到新创建的IPA文件.

第4步

第5步


Vah*_*iri 15

第一个产品>存档然后右键单击生成的xcodearchive文件,然后选择Show package content并转到该Products -> Applications文件夹.创建一个名为的新文件夹,Payload然后将该.app文件拖到该文件夹中.压缩Payload文件夹并将其重命名为您想要的任何内容并将扩展名更改为.ipa.

如果您的应用程序大小过大,您可以在构建设置中禁用位代码,使其缩小50-70%.


lub*_*lis 13

在 Xcode 13 及更高版本中

  1. 选择 xCode 上的存档并单击右上角按钮“ Distribute app ”。

  2. 在下一个屏幕中选择“ App Store Connect ”。

  3. 选择“导出”。

  4. 选择签名证书。

导出的文件夹将包含ipa文件。

您还可以使用Transporter应用程序将您的 ipa 文件上传到 AppStoreConnect。


bri*_*ear 11

XCode > Project > Archive
XCode > Organizer > Distribute > Enterprise/add Hoc > Save As
Saves as YOURAPP.ipa.
Make sure Save for Enterprise Deploy remains UNCHECKED.
Download latest Application Loader.
tap 'Deliver Your App'
make sure new version in itunes connect in WAITING FOR UPLOAD state
Click on Activity... button 
Run Code Online (Sandbox Code Playgroud)

提示:打开Console.app以查看XCode验证错误

Click on ALL MESSAGE on list of logs on right.
Then in search enter 'XCode' or 'Application Loader' 
to monitor any errors with your upload.
Run Code Online (Sandbox Code Playgroud)

注意:

我做了所有这些,仍然收到有关丢失120x120图标的电子邮件.

忘记在Build Target> General选项卡中更新它们iOS7的新图标要求列表 http://www.icenium.com/resources/forums/icenium-general-discussion/missing-recommended-icon-file

  • 这应该是可以接受的答案,因为没有人想玩弄 iTunes,更不用说从某些版本开始它只是没有在界面中显示应用程序选项卡... + 这更多的是开发人员的态度。 (2认同)

Gur*_*uru 10

我也在我的一个项目中发现了同样的问题.

我通过更改目标中的设置来解决它.对于主项目和依赖.

 skip Install  NO
Run Code Online (Sandbox Code Playgroud)

完成此更改后,转到Xcode-> Product-> Archive-> Save for Enterprise或Ad-Hoc Deployment

我们遵循相同的流程并通过Application Loader上传,Apple批准了该应用.

在此输入图像描述


Oha*_*der 10

如果您需要从命令行获取此信息,可以在此处找到所有详细信息:http://encyclopediaofdaniel.com/blog/xcarchive-to-ipa.简而言之:

xcodebuild 
   -exportArchive -archivePath <path to archive> -exportPath <path to output> 
   -exportOptionsPlist <path to export options plist>
Run Code Online (Sandbox Code Playgroud)

最小选项plist的位置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>method</key>
    <string>app-store</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

当然,该方法将根据您使用的配置文件类型(app-store用于分发配置文件)进行更改.运行xcodebuild --help以查看可用选项列表.