如何将.xcarchive转换为.ipa以供客户端使用Application Loader将应用程序提交到应用程序商店
我们已经用我们的客户端证书和分发configuration文件创build了.xcarchive文件代码签名,但我们需要将.ipa文件发送给我们的客户端,以便他们可以使用Application Loader将应用程序上传到App Store。
在Xcode 4.5中创build.ipa文件的唯一方法是单击Distribute – > Save for Enterprise或Ad-Hoc Deployment,其下面有一个描述“Sign and package application to distribution outside the iOS App Store”的说明。
如果我们以这种方式保存.ipa文件,是否会导致任何问题提交到应用程序商店? 或者有没有一个正确的方式将.xcarchive转换为.ipa?
提前致谢!
我也在我的一个项目中观察到同样的问题。
我通过改变target中的设置来解决它。 主要项目和依赖。
skip Install NO
在这个变化之后,转到Xcode-> Product-> Archive-> Save for Enterprise或Ad-Hoc Deployment
我们遵循相同的过程,并通过应用程序加载程序上传和苹果批准的应用程序。
- 使用Xcode创buildXarchieve文件,单击产品 – >归档
- 首先右键单击xarchive文件 – >在查找器中显示
- 再次右键单击xarchive文件 – >显示包内容
- 然后打开文件夹产品 – >应用程序,在这里你得到你的应用程序文件
-
现在,将这个拖放到iTunes商店的应用程序目录(查找iTunes商店右上angular的应用程序下拉菜单)。 这会自动将存档文件转换为ipa文件。 (在这里,你也可以这样做 – >在itunestore中的任何地方拖放.app文件,一旦处理完毕,从search框中search)。
-
然后再次右键点击它,并在查找器中显示,这将显示您的ipa文件。 现在你可以把这个给任何用户
更新Xcode 7和8
这是一个脚本来创build档案,并根据需要生成.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
您可以从XCArchive创build一个IPA。
- 右键单击ProjectName [Date Time] .xcarchive
- select显示包内容 。
它包括三件事情:
一个。 dSYMs :dSYM文件存储您的应用程序的debugging符号。
湾 Info.plist :包含ApplicationProperties,ArchiveVersion,CreationDate,Name,Scheme等详细信息的属性列表。
C。 产品 :这包含您的项目的应用程序文件。
-
select产品 – >应用程序 。 这包含应用程序文件。
-
现在,将应用程序文件拖放到iTunes(MyApps选项卡)。
-
select你的项目。
-
右键单击并select“在查找器中显示”。 这将find新创build的IPA文件。
如果你需要从命令行中获得这个信息,你可以在这里find所有的细节: 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>
当然,该方法将根据您使用的configuration文件types( app-store
用于configuration文件)进行更改。 运行xcodebuild --help
查看可用选项列表。
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查看XCodevalidation错误
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.
注意:
我做了所有这些,仍然收到有关丢失120×120图标的电子邮件。
忘了在Build Target> General选项卡中更新它们iOS7的新图标要求列表http://www.icenium.com/resources/forums/icenium-general-discussion/missing-recommended-icon-file