前提条件
-
在有效期内的苹果开发者账号(类型为个人或者公司账号)。还有一种情况,就是你的Apple ID被添加到公司开发者账号团队里面,这样也是可以的,但是需要叫管理员给你开通相应的账号权限,如下截图:
这里可能有些同学会问,苹果开发者账号是什么?如何申请?那么可以看看我的上一篇文章:iOS苹果开发者账号(公司账号)申请流程详解 -
能正常编译打包的iOS工程项目(都不能正常编译谈何出包上架😝)
具体步骤
1.新测试设备不需要手动到开发者账号里面进行添加,连接设备运行Xcode会弹出提示,选择register device即可自动添加。
2.开发证书和发布证书到Xcode Account里面都可以生成和管理,不需要到开发者账号里面手动生成。
登录App Store Connect
什么是App Store Connect? 官网是这么说的:App Store Connect 是一套以网页为基础的工具,用于管理在 App Store 上销售的面向 iPhone、iPad、Mac、Apple Watch、Apple TV 和 iMessage 信息的 App。作为 Apple Developer Program 的会员,您将使用 App Store Connect 提交和管理 App,邀请用户使用 TestFlight 进行测试,添加税务和银行业务信息,以及访问销售报告等。
先使用Apple ID登录App Store Connect,登录成功如下截图:(登录的Apple ID是申请苹果开发者账号的Apple ID,或者已经加入到公司开发账号团队的Apple ID,否则是没法登录成功的)
新建需要发布的APP
进入App store Connect后,点击我的App,然后点击加号新建app, 最后填写新建app的相关信息。
需要填写的信息如下:
- 选好平台(我开发的是iOS应用,所以选择iOS平台)。
- 名称就是最终审核通过显示在app store上面的名称(创建后是可以修改的)。
- 语言根据app类型走,我选择的是简体中文。
- 套装ID就是应用的Bundle ID,直接下拉选择。(什么?没找到应用的Bundle ID?别搞笑了,没有Bundle ID,怎么开发运行测试呢?)
- SKU不知道有啥用,我用Bundle ID代替了。
- 用户访问权限意思就是在这个开发账号团队里面谁可以看到这个app。(有限代表只能自己看到或者指定的人员可以看到,完全代表所有人都可以看到)。
最后点击创建,创建成功后就会进入如下页面:
有些同学可能会创建失败,比如名称显示无法使用(其实就是被占用的意思)。那么会存在两种情况:
- 开发者账号里面已经存在这个名字的app。这种情况比较幸运,都是自己内部的app,改下就好了。
- 排除掉上面的情况,那就是真的被占用了。这意味着你只能换个名称,在准备上线的情况下出现这种情况,真的是非常糟糕。
除了名称,Bundle ID也会出现无法创建的情况,原因是类似的。所以为了避免这种情况,在app开发需求明确后,先到App Developer创建Bundle ID,然后到App Store Connect新建App,提前查看名称或者Bundle ID是否被占用。
完善新建app的信息
这是必须的,否则无法提交审核。必须要填写完善的信息有如下几大类:
- App信息
- 审核信息
- App预览和截屏:就是App Store里面app的预览图。
- 推广文本、描述:推广介绍app的信息。
- 关键词:好的关键词可提高app被搜索率。
- 技术支持网(URL):直接填公司官网,个人开发者的话就得自己创建个网页了。
- 版本和版权:版本-就是app此次的版本号,版权-公司就写公司的名称,个人就看自己喜好了。
- 登录信息和联系信息:这是苹果审核人员需要的,app如果需要登录使用就提供登录账号信息,不需要登录使用就不用管,联系信息是苹果审核人员审核app遇到问题了,联系谁进行解决。
- 备注:额外需要声明的信息,没有就不管。
- 版本发布: 审核通过后是手动发布还是自动发布。
- 基础信息
- 名称和副标题:名称是app在app store上面显示的名称,副标题是显示在名称下面的灰色字样。
- 内容版权、年龄分级和类别:很容易理解,如实填写选择就好了。
- 审核信息
- 价格与销售范围:如实填写选择就好。
- App隐私: 如下截图,隐私政策网址必填,然后点击开始按钮,选择说明app需要获取用户哪些信息和权限。
上传app包文件到app store后台。
上传方式有三种,具体请看官网说明。我是采用Xcode上传,这里简单讲下步骤:
-
构建打包ipa文件
-
打包成功后,选择具体包版本,点击Distribute App。
-
选择App Store Connect。(Ad Hoc选项代表出包给测试人员测试)
点击next,后面几个步骤都点击Next按钮,选项配置不用管都按默认的走。
-
最后点击
Upload
,就开始上传了,耐心等待。我大概6分钟就上传成功了(包文件如果大或者网速慢时间相对会比较长)。这是我上传成功的截图:
上传成功后,登录App Store Connect,进入app详情页面,点击顶部TestFlight
,在构建版本中就可以看到你刚上传的版本,状态一般会显示正在处理。
如果等了很久(10分钟左右吧)刷新页面还是没看到上传的构建版本,那么就是ipa包被拒绝了,这时候一般会收到拒绝原因的邮件。我就是这种情况😂(包含过时的UIWebView),邮件如下:
解决问题,重新上传就行了。 最终上传构建的app版本状态显示为准备提交
才能提交审核,状态从正在处理
变为准备提交
我等待了20分钟左右,这个时间是不固定的,看具体情况,类似那种几百兆的app,时间就会特别长。
选择APP版本,提交审核
登录App Store Connect,进入App详情页面,找到构建版本,然后选择一个最新提交的构建版本。
滑动页面到最顶部,点击存储,然后再点击右边的添加以供审核
,确认相关信息后,就提审成功了。
接下来就是等待审核,苹果审核时间大多集中在晚上凌晨或者第二天早上6-8点, 顺利的话一般2天左右就有审核结果。
等了2天,“不出意外”,我提交的审核被无情的拒绝了:
这种情况没办法,只能根据实际情况去进行修改,或者做出必要的解释说明。被拒绝多次也是很常见的,反正耐心的去解决苹果提出的问题,最终都会通过审核的。
至此,iOS app上架app store流程就结束了。