苹果商店发布流程 -- 发布 App Store 遇到的坑

忙忙碌碌一个多月的项目开发终于接近上线,为了早日面世,我们准备发布应用。接下来我会基于已经拥有开发者账号的基础上,把我上线的整个流程以及遇到的坑讲述一遍。

创建应用

给我们发布使用的账号是公司账号下的一个子账号,一开始我只知道一个账号密码,发布流程一概不知。所以接下来的两天就是淌坑。

我本能意识的进了developer.apple.com,苹果开发者网站,登陆了账号。发现里面啥都没有,只是一个引导页面,两个引导,一个让你下载Xcode,另外一个是Quike Start,所以我就问了一下同事是怎么发布,我同事告诉我在itunesconnect.apple.com创建App,我就去创建了App。

然后点击左上角的+号,新建App

输入应用名称、语言……

当让我输入套装 ID的时候,我在想套装 ID是什么鬼,我就去查了一下,说套装ID要和 Xcode 里面的 Bundle Identifier,我打开一看里面有这个账号其他的应用的Bundle Identifier,我就选择了第一个 Xcode: Wildcard AppID - * 然后出现了一个输入框,我输入了我的项目的Bundle Identifier

第一个坑出现在这里: 我只要已设置 Xcode 里面的Bundle Identifier,只要提交,就告诉我这个套装ID被占用,请换一个尝试,因为之前我也意识到,多个账号不能使用同一个Bundle Identifier,我明明都是用一个账号创建的,为什么不行,反正不管了,我先输入了一个以前没有用过的Bundle Identifier。成功。

SKU 是唯一标示,听说只要别和应用商店的其他App一样就行了,我也就输入了产品的名字,网上有人建议和套装 ID后面的产品标示(就是套装ID最后一个点后面的内容)保持一致,当然这里也没有做强求。

后面限制用户访问权限,我没有选择。直接点击了提交。

编辑信息

创建完应用以后开始编辑应用信息,这里操作就比较一目了然了。

名称这个地方,不能和其他应用重名。

价格与销售范围,可以选择各个国家以及出售金额,这个可以随意设置。

这里不多说了,这里都不是坑。

坑来了

如果是个人开发者,应该不会遇到这个坑,也就是我前面提到的Bundle Identifier套装ID无法设置成一样的。我各种求医问药,都没有解决。最后我找了一个公司其他部门的朋友,问了一下他,他告诉我要在developer.apple.com里创建应用,blabla…我想说,我Developer里面什么都没有。

这时候周五已经过了,已经是凌晨了,我突然意识到这是不是权限问题,这种感觉在我的心里愈演愈烈,最后我决定,认为他是权限问题。

第二天起的挺早的,问了一下提供账号的负责人,果然是权限问题,加了权限以后,果然在Developer平台出现了各种选项。

从来没发布过iOS应用的我对这些选项一脸懵逼,我就慢慢摸索。

怎么摸索的我也忘记了,继续说接下来的流程吧。

所以我就知道了,要给我本地添加一个钥匙串,用来开发应用。

我就添加了一个Certificate,在Identifiers里面App IDs里已经存在了我前一天在新建App写的套装ID,所以也不需要新建一个套装ID了。

当我装上证书以后,突然发现我的Xcode里面多了一个账户,就是公司的账户,这个账户可以设置Bundle Identifier套装 ID相同。

然后我就高高兴兴去发布应用啊。

坑又来了

发布其实我也不会,但是周五同事给我演示了一遍。

这个操作需要在Xcode里面。

点击这里创建一个Archive。

经过漫长的等待,你就创建了一个版本,

弹出的这个窗口里面记录了你这个应用曾经编译的版本。

如果你把这个窗口关了,可以通过 window > Organizer 打开。

右侧有Upload to App Store... 按钮,可以通过这里直接发布,也可以点击Export导出ipa包然后使用 Application Loader 发布。

这是 Application Loader 的打开方式。

有一个地方是可以选择Bitcode模式,如果使用它的话会有一些其他的坑,具体我还不知道,反正用了它以后就特别慢。

以上只是铺垫,下面才是接着坑的地方。

这个过程是漫长的,也是多次踩坑找到的。

总之波折之后,他提示我发布成功了,我高兴的要去提交审核,发现无法提交审核,后台没有构建版本:

然后我重复提交告诉我已经提交过这个版本。

我就各种找原因,直到周一到公司,我升级了一下Xcode里的build号,提交了一版,又告诉我提交成功,但还是找不到,我就左思右想,他说审核通过会发邮件,会不会有邮件呢,我就看了一下邮件,果然,有审核不通过的原因…根据这几个原因我看了一下,一个是用到摄像机的API,但是plist文件里面没有这是这个的相关权限,我添加上了。另外一个是Missing Push Notification Entitlemen,我搜了一下,发现是因为我的证书有问题,貌似还是证书的问题?后来我发现,我只添加了开发者证书,没有配置发布的证书,也就是Developer后台的Provisioning Profiles设置。

所以证书方面的整个流程我都是一脸懵逼。

改完这两个问题,又升级了一次Build号,编译发布,经过漫长的等待,发布成功了。到后台一看竟然有了…

编辑 App Store 版本信息

各种信息编辑了一遍,选择了手动发布此版本,也就是审核通过不直接发布,手动发布。我们是想趟过审核这个门槛,然后后续再发新更快,然后直接上线新版。

另外,iPhone要求上传5.5寸宣传图,iPad是12.9寸。

尺寸可以是这样的:

5.5寸:2208*1242px

12.9寸:2732*2048px

总结

所以入门总是要淌很多坑,附带证书相关操作的经验:iOS开发:创建真机调试证书

虽然版本,有点老,但是基本一样,可以从第五步开始看。