iOS APP上架各种被拒"悲剧"2017-

作者: smile丽语 | 来源:发表于2017-02-06 15:30 被阅读5472次

    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被苹果拒绝的原因,待收集补充。

    相关文章

      网友评论

      • 021ea3676437:关于4.3重复app,怎么弄?
        1c49e595d40c:有解决的办法吗?
      • 水手_e162:lz,90174按照你的方法做了一遍,还是返给我 90174恩,还有什么其他的方法解决嘛
      • 47e2b53b72da:如果我的app是需要登录的,但是只支持本地登录,供公司内部员工使用,而苹果在审核时是无法登录的,这样会被拒吗?
        47e2b53b72da:@smile丽语 其实要搭一个硬件环境,app里面所有功能才能使用,是要每个功能都要弄一个对应的视频吗?
        smile丽语:直接打测试包在公司里用不上线吧,或者上传你的登录可运行视频链接给苹果,看那边反馈
      • 鱼来鱼往0709:您好,请问你上架时隐藏支付宝和微信支付,会不会因为代码没删被查出来呢?
        鱼来鱼往0709:@smile丽语 我们想做的是一个类似于直播刷礼物的那种,也需要虚拟货币,不知道要怎么绕开额。。
        smile丽语:@敲代码的鱼 只要是实质性的商品,不是虚拟货币,就不用隐藏支付啊
        smile丽语:@敲代码的鱼 目前并没有
      • 0be21b54fd9c:元数据错误的第二点。关于截图的,怎么解决啊?楼主
        smile丽语:@鹿菏与鹿 休假归来:smile: ,用项目使用截图啊,能展现项目内容的!
      • 码农冰冰:非常棒赞一个
        smile丽语:@码农冰冰 谢谢:smile:
      • duJing:好
        duJing:@smile丽语 :smile:
        smile丽语:@duJing 谢谢支持:smile:

      本文标题:iOS APP上架各种被拒"悲剧"2017-

      本文链接:https://www.haomeiwen.com/subject/fqxuittx.html