提交到Apple App Store

将我们的应用扔到apple脸上的时候终于来临了!在此之前,请一定务必要数一下 App Store Review Guideline — 如果不遵从这些条款的话,你的应用会被拒。
注意:如果没有制作好你自己的应用的话,不要尝试下面的步骤 — 你不能上传本书的任何范例
想要上传应用到App Store的话你需要创建一个App Store Listing,当然还有上传应用。

创建App Store Listing

我们先从创建App Store Listing开始。需要做的事情很多,但是都很简单。

  • 登录iTunes Connect
  • 去到My Apps
  • 选择左边的 + 图标然后选择New iOS App
  • 根据提示填写信息然后点击Create

App Store Listing

如果你是用XCode提交应用的话你可以使用XCode iOS Wildcard App ID,或者你可以选择在iOS认证课程中创建的Bundle ID。SKU不需要什么特别的事情,只是给你参考而已并且Bundle ID Suffix必须和你在config.xml文件中的id一致
现在应该可以看到这样一个仪表盘:
App Store Listing

  • 在iTunes Connect中打开你的新应用,应该可以看到这样的仪表盘:

App Store Listing

  • 填好本页的所以信息(包括不同尺寸设备的大量截屏)

注意:本页你应该可以看到一个Build部分。在上传好应用之后,会来到这个部分(下一部分会讲)然后选择你需要上传的构建版。

  • 点击Pricing标签页,填写如下信息:

App Store Listing

如果你想发布一个付费应用的话你需要接受一些额外的iTunes Connect条款。

上传应用

上传应用的途径不多,主要取决于你的应用格式和你使用的操作系统。想要发布iOS应用到应用商店的话你需要使用发布证书来给你的应用签名,再一次,实现这个的方法缺角与你使用的方法。
一旦上传应用后你就可以在iTunes Connect的Build部分看到他且可以附加到你的app store listing。

通过XCode提交应用

如果你有一台Mac的话你可以使用XCode来提交应用,这是一个很简单的途径。如果你没有Mac的话,而是通过PhoneGap Build生成了 .ipa 的话,那么你可以跳过使用Application Loader提交应用这一部分了。
继续之前需要在项目内运行:

  1. ionic build ios

转换 .xcodeproj 文件到 .xcarchive

如果你有一个.xcodeproj文件(运行build命令的时候会生成)的话,那么你需要首先从他生成一个.xcarhchive文件。按照以下步骤生成即可:

  • 双击 .xcodeproj 文件(位于 platforms/ios/snapaday.xcodeproj)就可以在XCode中打开他了
  • 去往 Product > Scheme > Edit Scheme确保结构设置为Release配置:

App Store Listing

  • 先确保在顶部有选中iOS Device或者Generic iOS Device,而不是模拟器:

App Store Listing

  • 选择 Product > Archive 上传一个 .xcarchive文件。

如果你上提交一个.xcarchive首先双击它在XCode中打开一下的屏幕(这个屏幕在你Archive你的应用的时候也会自动打开):

App Store Listing

首先你的选择你的存档然后点击Validate..按钮以确保所有设置正确。现在应该给你选择账户了:

App Store Listing

然后就可以看到你的应用显示出来了。点击Validate如果一切正常的话应该可以看到下面的提示:

App Store Listing

如果验证不成功,确保如下几点:

  • 在iTunes Connect中设置好了应用
  • 你完全遵照了iOS Certificates课程的指引
  • config.xml里面的id和iTunes Connect里的Bundle ID Suffix是一样的

一旦成功验证你的项目,点击Done然后选择Submit to App Store…或者Update to App Store…

App Store Listing

现在你要跑一遍相同的流程,除了这次你选择Submit。点击Submit之后应用将开始上传到iTunes Connect:

App Store Listing

使用Application Loader提交应用

如果你没有Mac的话,那么你提交应用的唯一做法是提交构建和签名好了的.ipa。记住,如果是提交到应用商店的话,.ipa文件需要用发行证书签名而不是开发证书。
如果你还没有一个已经签名的.ipa文件的话,那么请先阅读PhoneGap Build课程
你可以使用一个程序叫做Appication Loader提交.ipa到iTunes Connect,但不幸的是这个程序只有Mac版。理论上你在Windows上制作iOS应用只能上传上去,悲剧啊。
当然,还是可以想象其他的着,我个人喜欢这两个:

  • 找朋友借Mac。只需要5分钟,所以如果你知道哪个朋友有Mac的话,把.ipa拷到一个USB盘,去朋友的Mac上下载Application Loader然后上传你的应用。
  • Macincloud.com允许你远程登录一台Mac。这个服务是要钱的,你只有预付一些相当便宜的服务你就可以使用几分钟但是购买的有效期持续好多年(这就是我没有Mac之前干的)。

解决了访问Application Loader的问题之后,打开他,登录到你的iOS Developer 账户然后选择 Deliver Your App:
App Store Listing

  • 上传使用发布证书签名的 .ipa 文件然后点击Next

应用现状就上传到iTunes Connect了:
App Store Listing

提交审核

上传完成后,就需要到iTunes Connect中完成你的app store listing。回到iTunes你的应用中然后去到Build部分:
App Store Listing

这时候你会看到上面显示了一个 + 按钮。点击他,选择你刚才上传的构建版然后点击Done
App Store Listing

仔细检查列表里的东西,然后返回页面顶部,点击Save然后Submit for Review
App Store Listing

就可以提交应用到Apple了。现在,十指交叉耐心等待吧!Apple审核一般需要5-10天。虽然时间很长,但是你对他也是无能为力,除了耐心等待,别无他法。只要确保你严格遵循了Apple的规则和指引这样你的应用就不会被拒(否则的话你要进行修改重新提交并再次等待5-10天!)。