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

1tu0hz3e  于 2022-12-30  发布在  Hive
关注(0)|答案(8)|浏览(615)

我们已经使用客户端的证书和分发配置文件创建了.xcarchive文件代码签名,但我们需要将.ipa文件发送给客户端,以便他们可以使用Application Loader将应用程序上传到App Store。
在Xcode 4.5中创建.ipa文件的唯一方法是点击分发-〉保存为企业或临时部署,下面有一个描述,说“签名和打包应用程序以在iOS应用商店之外分发”。
如果我们用这种方式保存.ipa文件,是否会导致提交到app store时出现问题?或者是否有合适的方法将.xcarchive转换为.ipa?

z4iuyo4d

z4iuyo4d1#

1.使用Xcode创建Xarchieve文件,点击产品-〉存档
1.第一次右键单击xarchive文件-〉在查找器中显示
1.再次右击xarchive文件-〉显示软件包内容
1.然后打开文件夹产品-〉应用程序,在这里你得到你的应用程序文件
1.现在,把这个拖放到itunes store的app目录(itunes store右上角的find apps下拉菜单),它会自动把存档文件转换成ipa文件(这里,你也可以这样做-〉把.app文件拖放到itunestore的任何地方,一旦它被处理,就从搜索框中搜索回来)。
1.然后再次右键点击它,-〉在查找器中显示,这将显示你的ipa文件。现在你可以把这个给任何用户

ve7v8dk2

ve7v8dk22#

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

q43xntqr3#

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

  • 如果您的应用太大,您可以在构建设置中禁用位代码,将其缩小50-70%。*
yruzcnhs

yruzcnhs4#

您可以从XCArive创建一个IPA。
1.右键单击***项目名称[日期时间].xcarchive***
1.选择**显示软件包内容

它包括三个方面:
a.日符号:dSYM文件存储应用的调试符号。
B.信息列表:包含应用程序属性、存档版本、创建日期、名称、方案等详细信息的属性列表。
c.产品:这包含项目的应用程序文件。
1.选择产品-〉应用。这包含应用文件。
1.现在,将应用程序文件拖放到iTunes中(“我的应用程序”选项卡)。
1.选择您的项目。
1.右击并选择“显示在查找器”。这将定位新创建的IPA文件。

rdrgkggo

rdrgkggo5#

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

xcodebuild 
   -exportArchive -archivePath <path to archive> -exportPath <path to output> 
   -exportOptionsPlist <path to export options 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查看可用选项列表。

0qx6xfy6

0qx6xfy66#

我在我的一个项目中也发现了同样的问题。
我通过更改目标中的设置解决了这个问题。对于主项目和依赖项。

skip Install  NO

进行此更改后,后藤Xcode-〉产品-〉存档-〉保存为企业或临时部署
我们遵循了相同的流程,并通过应用程序加载器上传和苹果批准的应用程序。

vvppvyoh

vvppvyoh7#

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

TIP: open Console.app to see XCode Validation errors

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图标的电子邮件。
忘记在构建目标〉常规选项卡中更新iOS7 http://www.icenium.com/resources/forums/icenium-general-discussion/missing-recommended-icon-file新图标要求列表

5cg8jx4n

5cg8jx4n8#

在Xcode 13及更高版本中

1.选择xCode上的归档文件,然后单击右上角的按钮“分发应用程序"。
1.在下一个屏幕中选择“App Store Connect”。
1.选择“导出"。
1.选择签名证书。
导出的文件夹将包含ipa文件。
您还可以使用Transporter应用程序将您的ipa文件上传到AppStoreConnect。

相关问题