iOS APP上架各种被拒"悲剧"2018-08-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.
17.应用程序不符合使用苹果商标和版权的指南 5. 2.5 Legal: Intellectual Property - Apple Products
18.大致被拒原因

十八. 大致被拒原因

1.1.6 内容虚假,错误,不当内容,内容包含诱导用户的内容
2.3.1 app包含隐藏功能
2.5.4 app包含隐藏功能
3.2.2 商业模式不符合,业务模式不可接受
4.1 侵权
4.2 app太简单/功能和苹果的相冲突
4.3 app在appstore上已经有了
5.2.1 app或者app中的某个功能,公司不具有这个资质

十七. 应用程序不符合使用苹果商标和版权的指南

5.2.5 Legal: Intellectual Property - Apple Products

您不得在或与网站、产品、包装、手册、促销/广告材料有关的情况下使用Apple徽标或其他Apple所有的图形符号、徽标或图标,或用于任何其他目的,但根据Apple的明确书面商标许可(如转售协议)除外。

解决方案:
logo等相关内容不得采用iPhone——苹果商标,图像或相似的应用程序图标

十六.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是铁定是新版本的

十五. 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再重新装描述文件应该就能解决了.

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

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

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

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

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

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

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

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

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

十一. 关于ipv6问题

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

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

十. 关于对js交互问题

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

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

九. 技术支持地址

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

八. 浏览网页

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

七.启动页报错

iOS APP上架各种被拒
启动页图出错

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


iOS APP上架各种被拒

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

六. 正确选择评级

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

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

iOS APP上架各种被拒
合理勾选评级

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

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

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

四. 更新版本

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

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

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

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

二. 程序有重大bug

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

一. 元数据错误

  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 内容.

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

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