iOS APP上架各种被拒(悲剧)2017-11-21更新

iOS app提交给Apple审核,总是会遇到很多审核不通过的忧伤情况,今天上班第一天来不是很忙,就专门收集了网上大家提交APP至app store被拒的原因.

首先我们要认真阅读官方的APP Store审核指南 App Store审核指南 https://developer.apple.com/app-store/review/guidelines/

主要错误

  1. 元数据错误
  2. 程序有重大bug
  3. 审核状态中属于正式环境,不要有测试数据
  4. 更新版本
  5. VIP会员 绕过苹果的付费渠道
  6. 正确选择评级
  7. 启动页报错
  8. 浏览网页
  9. 技术支持地址
  10. 关于对js交互问题
  11. 关于ipv6问题
  12. 项目无iPad 适配问题(2.4性能:硬件兼容性)
  13. 项目无注册问题(2.1性能:应用程序完整性)
  14. 项目原本没问题但是苹果拒了,可以添加视频操作网址
  15. 90174问题, 缺配置文件或者设置问题.
  16. u选项必须具有非空值。 The u option must have a non-empty value.

一. 元数据错误

  1. 测试账号压根登录不上去,这就坑啥了! so, 提前和 server 同事说好,不要删除测试账号 或者 上线审核过程中务必不要正式数据库崩溃!
  2. 当截图仅仅是启动页或者引导页(欢迎页)截图时,苹果会认为 APP 截图展现没有充分反映您的应用程序使用。 请修改您的截图,以确保他们准确地反映在使用的应用程序。
  3. 2.3.3错误提示, 采用屏幕预览或者截图时, iPhone X (5.8寸)的一定要与5.5寸的相同一致的,否则就会提示您为 iPhone 5.8提交的截屏没有准确反映该设备上运行的应用程序. (目前 iPhone X 的可选填是否上传截图).

注意: 因为你的iTunes Connect状态是元数据的拒绝,不需要一个新的二进制。只需要重新100%的 command + S去模拟器截图 APP 内容.

二. 程序有重大bug

程序不能启动,或者中途退出。程序若有crash被拒.修改bug后重新上线即可.千万避免这种情况,上架前都要测试 OK.

三. 审核状态中属于正式环境,不要有测试数据

注意: 任何数据同样不要有“试用”,“演示”,“试用”,或“测试”版本 字眼,一定要跟服务器同事说好,上线时候正式库的数据、测试字眼英语单词哪怕拼音最好也不要出现,会被拒的。

##四. 更新版本 更新这是敏感字眼,苹果审核可谓见光必杀,那我们的产品大大必须要求和安卓一致需要这些功能.

解决方案: 我的逻辑是,线上打开,审核期间去屏蔽相对应线上版本的. 需要后台给我一个字段,审核的时候是0,上线后是1.

五. VIP 会员 绕过苹果的付费渠道

绕过苹果的付费渠道,我们目前项目里的有个vip功能涉嫌应用内收费, 但仅仅是微信支付和支付宝支付, 并未使用苹果支付,直接被拒,返回邮件就是会员界面截图.

解决方案: 和更新版本思路一样:线上打开,审核期间去屏蔽相对应线上版本的. 需要后台给我一个字段,审核的时候是0,上线后是1.

六. 正确选择评级

一个朋友之前做过一个app是婚恋类型的 更适合成人观众。年龄设置太低,说是有成人内容,被拒.修改内容后上线.

上架失败,邮件回复:您选择的评级,4 +,与您的应用程序的内容不一致。由于你的应用程序主要是一个约会应用程序,它更适合成人观众。因此,你必须选择一个“刺激”设置为“成熟/暗示性主题”在iTunes Connect。

七.启动页报错

这个时候需要先检查图片尺寸是否正确,接着清空 Launch Screen File ,上面 Launch Image Sourc里 不再选择Brand Assets.

注意: 当未设置default页,启动画面为黑屏,也有一定概率被拒绝。

八. 浏览网页

浏览网页,必须使用iOS WebKit框架和WebKit JavaScript

九. 技术支持地址

  1. 不要写微博这种地址 原因是:不能将需要登陆才能访问的网址作为技术支持地址。
  2. 技术支持网址打不开 原因:苹果打不开,邮件Service Unavailable. HTTP Error 503. The service is unavailable.

十. 关于对js交互问题

现在对js交互审核比较严,虽然没有明确提出,但是遇到就给你发开发者协议2.5.2和3.3.2

建议: 尽量不要有 h5交互, JavaScriptCore.framework这个库尽量删掉

十一. 关于ipv6问题

目前协议上并未强制要求使用 ipv6, https如果目前暂未使用, 就需要把一些第三方的使用全部更新到能支持 ipv6的版本. 一般像有友盟和第三方解析图片的框架SDWebImage这块使用的话一定要更新到支持ipv6的版本.

建议: 还是尽快使用 ipv6,毕竟后面还是躲不过的, 需要后台配置证书了.

十二. 项目无iPad 适配问题(2.4性能:硬件兼容性)

一般我们 APP 仅仅支持 iPhone, 并未适配 iPad, 这个时候被拒,即使我们发邮件告知并不支持 iPad 也没用, 听我苹果还是会回复邮件: 对于2.4.1问题,请注意,即使你的应用程序是专门为iPhone用户仍然可以使用您的应用程序在iPad上.

建议: 针对苹果截图发来的界面 适配即可.

十三. 项目无注册问题(2.1性能:应用程序完整性)

苹果那边会发来邮件通知, 根据2.1性能:应用程序完整性, 提出产品缺陷不完整问题. 此外,请提供下列问题的资料,供我们继续进行审查: -谁是你的应用程序的目标受众? -这个应用程序只针对一家公司的内部员工吗?如果是的话,公司的名称是什么? -用户如何接收用户名/密码?

建议:回复邮件, 也其实可以在上传审核时就在备注里添加: 1.谁是你的应用程序的目标受众? ————(回答你们的目标受众) 2.这个应用程序只针对一家公司的内部员工吗?如果是的话,公司的名称是什么? ————不是 3.用户如何接收用户名/密码? ————通过邮件方式 4.该APP无外链,采数据

十四. 项目原本没问题但是苹果拒了,可以添加视频操作网址

其实我们引导页没有明确的点击进入按钮, 但是我们又全屏的手势点击进入 APP, 但是苹果审核并不值得,很奇葩的拒了! 邮件上说:2.1性能:应用程序完整性, 我们发现你的应用程序的一个或多个错误,当回顾在 iPhone运行 iOS 10.3.3WiFi连接到IPV6网络上. 具体来说, 你的应用程序在最初的屏幕启动后没有采取任何行动,我们无法继续,无法继续.

建议:添加视频操作网址链接

回复邮件: 告知这个 APP 是在引导页后直接全屏点击 手势点击进入 APP 的. 是可以屏幕任意地方点击进入的. 并且让后台上传视频操作, 然后邮件添加网址链接即可.

十五. App90174问题, 缺配置文件或者设置问题.

ERROR ITMS-90174: "Missing Provisioning Profile - Apps must contain a provisioning profile in a file named embedded.mobileprovision."

解决方案:

  1. 查看证书是否过期, 在keychains里选择login,然后点选Certificates,在这个界面,选择工具栏的View -> Show Expired Certificates,删除过期的“WWDR Certificate”(Apple Worldwide Developer Relations Certification Authority); 在System的那一栏也要删除过期的“WWDR Certificate”。不出意外你的证书那里从 “This certificate has an invalid issuer”(此证书的签发者无效)变成了 “This certificate is valid”了.
  2. 新建发布证书ios_distribution.cer和描述文件Distribution.mobileprovision,准备好这两个文件后就到Xcode选取设置.
  3. 如果还是不行的话, 就去这个路径下把所有描述文件全删了 ~/Library/MobileDevice/Provisioning Profiles, 然后重启xcode再重新装描述文件应该就能解决了.

十六.u选项必须具有非空值。 The u option must have a non-empty value.

今天更新迭代上传APP时用application loader上传到AppStore上去,打包之后上传的时候报错,用的是Xcode9.0,如下:

1.the u option must have a non-empty value
2.the password must have a non-empty value
复制代码

解决方案:

1.去iTunes connect更新application loader的dmg 2.更新Xcode9.0升级到9.1的版本,9.1附带的application loader是铁定是新版本的

更多APP被苹果拒绝的原因,待收集补充。

你可能感兴趣的:(iOS APP上架各种被拒(悲剧)2017-11-21更新)