在Xcode 4.5中创建.ipa文件的唯一方法是单击Distribute->保存企业版或Ad-Hoc部署,其下面有一个描述,表示“签名并打包应用程序以在iOS App Store之外进行分发”。
如果我们以这种方式保存.ipa文件,是否会导致提交到应用商店时出现问题?或者有没有正确的方法将.xcarchive转换为.ipa文件?
现在,将它拖放到iTunes Store的应用目录中(在iTunes Store右上角找到应用程序下拉菜单)。这将自动将Archive文件转换为IPA文件。(在这里,你也可以这样做->将.App文件拖放到iTunes Store的任意位置,一旦处理完成,从搜索框中搜索回来)。
然后再次右键单击它并- >在Finder中显示,这将显示你的IPA文件。 现在你可以把它交给任何用户了。
已更新至Xcode 7和8
以下是一个用于创建存档并生成.ipa文件的脚本-根据需要进行微调:
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
-exportProvisioningProfile "{PROVISION_PROFILE_NAME}"
来指定配置文件。 - Daniel GalaskoexportOptionsPlist
。 - Ohad Schneiderxcodebuild: error: invalid option '-exportFormat'
- David Seek首先,进入“产品 > 存档”选项卡,然后右键点击生成的 xcodearchive
文件并选择 显示包内容
,进入 Products -> Applications
文件夹。创建一个名为 Payload
的新文件夹,并将 .app
文件拖放到该文件夹中。压缩 Payload
文件夹并将其重命名为任何您想要的名称,并将扩展名更改为 .ipa
。
如果您的应用程序大小过大,可以在构建设置中禁用位代码以使其变小50-70%。
它由三个部分组成:
a. dSYMs :dSYM文件存储您的应用程序的调试符号。
b. Info.plist :属性列表包含ApplicationProperties、ArchiveVersion、CreationDate、Name、Scheme等详细信息。
c. Products :这包含您的项目的应用程序文件。
选择Products->Applications。 这包含应用程序文件。
现在,将应用程序文件拖放到iTunes(MyApps选项卡)中。
选择您的项目。
右键单击并选择“在Finder中显示”。 这将定位新创建的IPA文件。
如果你需要从命令行获取这个东西,你可以在这里找到所有的细节: 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
以查看可用选项列表。
xcodebuild --help
将显示您可以使用的有效 plist 值。 - Ohad Schneider在 xCode 中选择存档并点击右上角的按钮“Distribute app”。
在下一个屏幕中选择“App Store Connect”。
选择“Export”。
选择签名证书。
导出的文件夹将包含ipa文件。
你也可以使用 Transporter 应用程序将您的ipa文件上传到AppStoreConnect。
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 图标的电子邮件。
忘记在“构建目标 > 通用”选项卡中更新它们,以下是 iOS7 的新图标要求列表: http://www.icenium.com/resources/forums/icenium-general-discussion/missing-recommended-icon-file
我在我的一个项目中也遇到了同样的问题。
我通过更改目标设置解决了这个问题。对于主项目和依赖项都做了更改。
skip Install NO
更改后,转到Xcode->产品->存档->保存用于企业或Ad-Hoc部署
我们按照相同的过程,并通过应用程序加载器上传,苹果批准了该应用程序。
.ipa
文件,并且由于这是我通过这种方式添加到 iTunes 的第一个应用程序,还会在我的 iTunes 库中创建一个“应用”部分。从那里,您可以右键单击该应用程序,然后选择“在 Finder 中显示”,以直接导航到它。 - Evan R