利用 uni-app 开发的 iOS app 发布到 App Store 全流程
1.0.3 20200927
更新官方对应用审核流程的状态。
注:最新审核后续将同步社区另一篇记录 AppStore 审核被拒原因记录及解决措施
1.0.2 20200925
新增首次驳回拒绝邮件解决措施。
1.0.1 20200922
首次提交关于 App Store 上架步骤流程:兼容检查 -> 账号申请 -> 证书申请 -> 发布准备 -> App Store 上架 -> 审核后续提交审核 iOS 审核团队联系方式;
本笔记用于记录了本人利用 HBuilderX 开发项目到打包 iOS app 包后,上架 App Store 商店全过程步骤,希望对有需要的小伙伴给予些许帮助。
先后顺序因人而已,我这里主要是按照以下步骤:
兼容检查 -> 账号申请 -> 证书申请 -> 发布准备 -> App Store 上架 -> 审核后续:
1、兼容检查:
布局屏幕宽度适配(css 样式:如字体大小、间距等)
如:
插件兼容(如我个人应用涉及的 word 等文档预览、腾讯云验证码适配处理和人脸识别验证兼容等)
官方 API 差异检查(如 Native.js for iOS 的一些 API)
好用的平台自动化测试工具,如IPA guard 测试服务
2、账号申请:
关于账号类型:
因政策原因,公司没有以前容易申请,申请时间预计一周时间;(本人申请的是「个人账号」花了大概两天吧)
公司和企业的账号申请需要邓白氏码,如果邓白氏码未申请,请先申请邓白氏码,这个过程需要一到两个星期。
注册申请
开启双重认证,需在一台 IOS 手机/iPad 操作
在 App Store下载Apple Developer APP 进行注册开发者账号
去 Apple Developer 应用填写申请资料
绑定支付宝或者微信支付苹果年费(¥688 元/年)
3、证书申请:
3.1 iOS 证书(.p12)和描述文件(.mobileprovision)申请
详细步骤:
生成证书请求文件
申请开发(Development)证书和描述文件
申请发布(Production)证书和描述文件
申请步骤详见 iOS证书和描述文件申请
发布 (Production)证书用于正式发布环境下使用,用于提交到 Appstore 审核发布。发布证书打包的 ipa,不可以直接安装到手机上.
依据上述步骤最终会在本机得到以下文件:
其中红线部分为打包需要的文件,其它均为申请途中产生的辅助文件。
3.2 关于 IOS 的证书
iOS 开发证书:iOS 开发证书是用于测试 APP,在开发过程中安装到苹果手机真机测试 APP 的运行情况。
iOS 发布证书:当 APP 开发测试好后上线就需要用到 iOS 发布证书,用 iOS 发布证书打包的 ipa 才能上传到 App Store 审核。
iOS 推送证书:iOS 推送证书是用于推送通知的,平时我们在手机的系统栏下拉看到的那些消息就是推送通知,如果要做这个功能就需要配置推送证书。
iOS 企业证书:可以免上架 App Store 无设备数量限制安装到手机使用。
4、发布准备
上架前的准备工作
苹果应用审核采用人工审核和自动审核相结合的方式。大体分为三部分,预审、机审和人工审核。
4.1 熟悉上架流程
目前应用提审的整个流程大体分为五个阶段:Prepare For Upload(准备上传)、Waiting For Review(等待审核)、 In Review(审核)、Pending Developer Release(等待开发者发布)、Ready For Sale(准备销售)。
APP 上传后,会进入到 Wait for Review 状态,而后进入到 In Review 状态,In Review 一般 2 天左右就会审核通过或者是被打回。
.ipa 包上传后首先进入的是预审,会被扫描 API 等,预审通过后会在 iTC 里出现,然后才可以提交至 Waiting;
在 Waiting For Review(等待审核)阶段一般是机审,机审主要是对代码进行机器审核,排查 APP 是否重复应用,“2.1 苹果狗年大礼包”事件就更多地依赖机器自动审核,减少人工成本;
通过后会进入 In Review(审核)阶段,即人工审核阶段,这个阶段主要看的是 App 的元数据,例如 APP 封面、功能、体验等等,注重用户体验。
4.2 阅读最新的应用审核标准 - 《App Store 审核指南》
被驳回是很正常的事情,但前提我们必须了解该审核规范内容,遵守相关要求,按规则调整问题。
图片来源:App Store 拒绝情况说明.
2020-09-212020-09-212020-09-222020-09-222020-09-232020-09-232020-09-242020-09-242020-09-252020-09-252020-09-262020-09-262020-09-272020-09-272020-09-28 应用程式审查确保:确保各注意事项内容安全:隐私、数据安全等性能:应用完整性、硬件兼容性要求业务:清晰业务模式、明确订阅商业规则模式等设计:良好的页面交互设计、精致设计和符合相关编程指南法律:应用程序必须在您可以使用它们的任何位置都符合所有法律要求及时跟进和解决错误日志报告 AppStore 提交之前规则提交之后
4.3 熟知常见驳回的问题:
崩溃和错误(这个留给 iOS 审核团队来发现就过份了哈 )
链接断开:应用中的所有链接(包括提用描述提供的隐私链接)都必须正常加载
占位符内容:如非正式功能图片和文字等
申请许可:引用了敏感用户数据 API,详见
屏幕截图不正确(详见 - 尺寸要求规范)
创建 IOS 模拟器
在 HBuilderX 里,点击顶部菜单栏 运行 - 运行手机或模拟器 - iOS 模拟器
6. 信息不完整:需提供演示帐户用户名和密码等 7. 不合格的用户界面:应用需保持精致和用户友好的界面,符合 iOS UI Design (行业标准规范 很赞同!🤔)
5、App Store 上架
5.1 应用商店创建 App
5.2 填写 APP 各项审核信息
版本信息
综合信息
...
若「编辑年龄分级」为 4+岁,根据苹果的最新规范不能使用 IDFA
5.3 IOS 打包(生成.ipa 文件)
到这一步,默认已经成功得到了 iOS 证书(.p12)和描述文件(.mobileprovision)文件,否则请先完成 步骤 3、!
以 HBuilderX 工具为例,打开待发布的项目 - 发行 - 原生 App 云打包
打包成功后会在控制台输出得到下载链接:
通过 Transporter App 上传 App 的二进制文件(上述打包生成链接的.ipa 文件)
5.4 上传.ipa 包至 App Store Connect 中
利用第三方 IPA 上传工具:appuploder工具
上传构建版本,可以查看交付进度(包括警告、错误和交付日志)以及交付历史
5.5 使用 TestFlight 测试 Beta 版 App
在用于测试的 iOS 设备上安装 TestFlight;
在 App Store Connect 中的 TestFight 构建 beta 版本:
在内部群组 - 新建测试员:
点击邀请后,该成员邮箱将会收到一个兑换码:
随后就可以在 TestFlight 里打开该构建版本
关于 TestFlight:
5.6 提交审核!
审核有时很快一两天,或要几天时间,需及时查看看邮件。
如果变成可供销售,那么恭喜你已成功在 App Store 里上架!
6、审核后续
被驳回拒绝也是意料之中的事情,提交审核后的第二天(早上 6 点多)便收到了 App Store Review 的邮件。
6.0 我的被拒经历 🤨
第一封邮件:2020 年 9 月 25 日 06:48
翻译:意思是这次评论时间会很长,等评论完成之后,会通知我们。
分析:查阅相关资料,该邮件内容可理解为是对开发者账号的一种审查策略。邮件的标题为:Other - Other, 据说是一种全新的拒绝理由!🤔🤔
广大网友的猜测:
苹果审核机制变了;
苹果要审查你的账号了;
苹果最近太忙了,知道要延迟审核,先给你的拒绝放在那,等轮到你了再说。
考虑到最近的特殊大环境,有可能是 ZF 原因。
解决措施:
🎉 1. 等着!邮件已经说明了只需要等待对方答复。
🎉 2. 如果着急的话,就按照提示选择 Contact Us,提交申诉。即 点击邮件的 " Apple Developer Contact Us" --> App 审核 --> 选择 "App 审核状态" / "App 被拒澄清" 均可。(此时苹果应会自动回复了一封邮件,大概一到两天内才会给予正式答复邮件)
我的回复内容:
大概就是说 我收到了被拒邮件,并表示非常乐意配合整改,期待正式回信。
总之态度很诚恳,愿意积极配合。🌝🌝
总体大致流程:
收到 Other-Other 被拒 ——> 根据邮件提示询问审核状态 ——> 约 2 天收到官方回复(提及会将你的请求转达给内部其他团队)——> 再过 2 天收到完成账号调查邮件+in review 邮件 ——> 可能收到关于需调整的问题,再次被拒 ——> 修改代码重新提交 ——> in review、通过审核!🎉🎉🎉
评论