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

时间:2013-02-18 11:05:20

标签: ios xcode app-store xcode4.5 ipa

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

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

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

提前致谢!

7 个答案:

答案 0 :(得分:95)

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

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

答案 1 :(得分:52)

针对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

答案 2 :(得分:16)

您可以从XCArchive创建IPA。

  1. 右键点击 ProjectName [日期时间] .xcarchive
  2. 选择 显示包内容
  3. Step 1

    Step 2

    它由三件事组成:

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

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

    ℃。 产品:这包含项目的应用文件。

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

    2. 现在,将应用程序文件拖放到iTunes(MyApps标签)中。

    3. 选择您的项目。

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

    5. Step 4

      Step 5

答案 3 :(得分:11)

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

如果您的应用尺寸太大,您可以在构建设置中停用位代码,使其缩小50-70%。

答案 4 :(得分:10)

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

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

 skip Install  NO

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

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

enter image description here

答案 5 :(得分:10)

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 

提示:打开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.

注意:

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

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

答案 6 :(得分:8)

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

xcodebuild 
   -exportArchive -archivePath <path to archive> -exportPath <path to output> 
   -exportOptionsPlist <path to export options plist>

最小选项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>

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