专栏首页用户7247913的专栏最新IOSAPP下架原因汇总,找到源头
原创

最新IOSAPP下架原因汇总,找到源头

对于移动应用开发者来说, 最令人沮丧的可能莫过于辛辛苦苦开发的应用, 没能通过苹果AppStore的审核,或者在应用更新时遭遇下架。苹果的AppStore的审核流程和标准, 一向不透明, 而且申诉起来也非常的麻烦。给大家总结了App被苹果AppStore下架的各大原因。

1. 中国大陆禁用 CallKit

  5 月中,部分开发者收到苹果 App 审核中心的邮件,被告知因工信部规定,在中国大陆地区上架的 App 不可以使用 Callkit,使用该功能的的产品将会不被过审,或下架。

2. 需适配 iOS 11 与刘海屏

  苹果于 5 月通知开发者,任何提交到 App Store 的所有 iOS 应用必须使用 iOS SDK 构建,并且必须支持 iPhone X 的超级 Retina 屏。此规定将于 7 月生效,不改的话,你懂的…

3. 热更新代码成下架隐患(JSPatch、Weex 和 React Native)

  17 年 3 月,众多开发者收到苹果邮件,内容为对含有热更新的 App 进行警告,要求移除相关代码。原因是一些黑客可能利用热更新修改 App,给用户带来安全隐患。

4. GDPR 后数据安全成重点

  WWDC18 后,苹果审核指南更新,结合欧盟颁布的 GDPR 条款,对数据安全、数据收集与存储、数据使用与共享 3 个方面进行补充。

5. 数字加密货币(区块链)

  苹果对数字加密货币的监管也在 WWDC18 后有所体现,如 App 不得挖掘加密货币;为首次发币、密码货币期货交易等提供便利的 App,必须来自经批准的金融机构,并遵守当地法律。

6. 刷榜

  出现在不正当竞争当中,竞争对手帮着App刷榜掌握证据之后向苹果举报,很容易导致App被下架。

7. 条款违规

  App中的内容违反苹果App Store条款,应用的功能涉及侵犯他人的隐私滥用隐私权限或者存在与宗教、法律相悖的内容,这些App被查出会被苹果第一时间下架。

  360产品曾经被苹果下架就有人爆料说是因为360违反了在没有事先征求用户许可的情况下为某些特定的功能,擅自收集用户电话号码等数据的行为。

8. 与iOS自带功能冲突

  App的有些功能可能由于种种原因在审核时没有看出,但后来暴露出与苹果规定不符,在功能上与iOS自带应用产生竞争,那么苹果就会将你视为竞争对手,后面App的命运也就可想而知。在去年6月的时候,曾经有一款名为Display Recorder的录屏应用通过苹果审核上架,而这是一款与iOS自带截图功能冲突的录屏应用,在不久之后这款应用随即就被苹果下架。

9. 描述与实际不符

  如果App的截图、功能、说明与实际有很大出入,挂羊头卖狗肉之流显然也是不被苹果允许的。

10. 有Bug或者崩溃

  如果App存在明显的Bug或者经常崩溃而被用户大量投诉,这类App也是很容易就被下架的。在App的调试阶段一定要严格把关,同时适配上也不要理论上可行,一定要亲自在各系统版本中进行测试,确保描述中包括的所有版本下都能良好运行。

  在2011年的时候,Google Voice上线了一个新版本1.3.0.1771,但是不少用户投诉说遇到了程序崩溃等问题,因为Google Voice的这个Bug至少影响到了一部分用户,该版本的Google Voice随之被下架重新调整。

11. 山寨、侵权

  如果App被投诉有明显的山寨模仿痕迹,或者在其它方面涉及侵犯他人合法权益,苹果在调查取证之后也会将相应的App作下架处理。在2012年11月份的时候,115网盘就被多家市场下架,主要原因是商标侵权。因115商标并非由115网盘开发商广东五科技有限公司所有,在收到115注册商标权利人发出的删除115侵权软件公函后,苹果将115应用从App Store中下架。

12. 采用“Beta”或者其他可能让苹果认为你的应用还未开发完成的名称

  由于Google的很多产品采用“Beta”来发布, IT业内也有一种把最终产品命名加上“Beta”的潮流。 而苹果对此非常严格。任何带有类似字眼的产品会被认为尚未完成。 我们就见到过不少如“Beta版”,“预览版”或者“Version 0.9”的产品没能通过AppStore审核

13. 加载时间过长

  所有的移动操作系统(iOS, Android甚至Windows),都对应用的最大加载时间又限制。 对iOS来说, 大约是15秒,如果你的应用在15秒内未能启动, 操作系统就会杀进程。

  即便你的应用在这段时间内启动了,网络连接速度, 硬件等环境的不同, 也可能导致你的应用在审核期间加载时间过长。 因此, 不要仅仅依赖于iOS的模拟器,一定要在真实网络和真实硬件环境下进行测试, 而且最好保留一些旧版的手机以确保所有用户都能体验到相对较快的加载速度。

14.  链接到第三方支付系统

  苹果要求所有的数字内容都要在通过iTunes内置的应用内购买来完成。 包括一次性购买或者注册付费等方式。 如果你的应用提供其他的购买方式, 你的应用肯定会被下架。这也就是为什么Kindle的应用不让用户直接从应用购买新书的原因。

  甚至对应用通过网页提供第三方支付链接也不行。 Dropbox的应用被苹果拒绝就是一个例子。 Dropbox的应用在登录界面提供了一个购买更多存储空间的链接而未能通过苹果的审核。这不仅仅对Dropbox的App有影响, 甚至对所有采用Dropbox API的应用都有影响。

  因此,一定要好好检查一下你的应用开发流程, 确保所有的数字内容的购买都是通过用户的iTunes账户完成的。 注意, 苹果只对数字内容才做出此限制,这也就是为什么一些旅游应用能够通过App预订酒店和机票的原因。

15. 不要提对其他平台的支持

  不光是苹果。没有那个市场愿意你提到竞争对手名字的。 因此, 如果你的应用已经在Android上或者Windows上跑了, 在你自己的网站上说吧, 不要在App的描述里提。

16. 本地化的一些问题

  你的App用户可能来自世界各地, 即便你不提供多语言版本, 在应用内购买的时候把日元符号写成欧元也表明你是一个不成熟的开发者。

  因此,要利用类似 asNSNumberFormatter或Invariant Culture这样的组件以及模拟器来测试在不同地区下的用户体验, 确保如日期之类的格式符合用户本地的格式要求。

  我们曾经见过一个欧洲的应用开发商的应用,因为没有正确处理负的经纬度而被苹果AppStore拒绝(注:苹果总部的经度是 -122.03)。 因此, 一定要好好检查你的应用在地图上任何经纬度都能跑。 特别要注意经过本初子午线的正负经度变化以及经过赤道正负纬度变化。

17. 对存储和文件系统的不正确使用

  在iOS5.1推出后, 苹果曾经下架了一款应用的升级因为开发者把一个2MB大小的数据库从应用备份到了文件系统,违反了iCloud关于只备份用户产生内容的规定。

  对任何静态的或者应用自带的或者很容易从远程服务器下载的所谓“可再生的数据”都不需要备份。 对于非用户数据, 可以选择缓存位置或者选择“不需要备份”属性。

18. 在用户拒绝权限请求时崩溃

  在iOS6, 用户对试图访问地址本, 照片集, 地理位置, 日历, 提醒, 蓝牙, Twitter和Facebook账户的应用, 必须提升权限申请。 如果用户拒绝应用的权限申请, 苹果要求App依然能够继续工作。

  这一点在审核时会自动测试,如果不能正常工作, 则会被自动拒绝。 因此, 一定要仔细测试应用使用数据时的所有的“允许”“拒绝”组合, 同时也包括用户开始允许权限后来又拒绝的情况。

19. 对图标和按钮的不正确使用

  很多iOS App被拒绝不是因为性能或者功能的原因, 仅仅就是因为一些小的UI方面的问题。开发者要确保应用在采用内置的苹果的图标和按钮时在外观和功能上一致性。 可以采用UIButtonBarSystemItem来进行测试。另外, 要熟悉苹果的“人机交互指南”

  比如说,除了创建新内容, 你不能用苹果的“Compose” 图标代表任何其他的用途。苹果的工程师希望App的行为尽量可预测。 因此对内置图标和按钮的使用方面格外严格。

20. 商标和Logo的错误使用

  在你的应用的图像上,不要使用他人的商标或者苹果图标。 也不要使用带有iPhone图样的图标。 我们见过在关键字中含有商标被拒绝的例子。

  另一方面,你的应用还需要在内置地图中明确属性信息(比如Google地图或者诺基亚的地图)等, 否则也会被拒绝。

  当然, 如果你的应用被拒绝了或者下架了, 也不要着急, 找出问题来再次提交就是了。 此外, 苹果还提供一种紧急审核的机制, 用来进行重要Bug或者安全问题的修复。 不过, 开发者如果过度使用紧急审核机制, 可能会在今后被禁止使用。

当然最好还是争取一次就通过审核。 所以,最根本的当然是, 开发者仔细阅读苹果的《提交指南》并且提供高质量的应用。有问题可以随时找我解决VX18064099649

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • IOS上架2.3.1问题已解决,反正我成功了

    We discovered that your app contains obfuscated code, selector mangling, or feat...

    所谓富贵
  • 谷歌发布史上最详细的大脑扫描3D图像

    谷歌及其合作伙伴今天发布了有史以来规模最大、最详细的大脑扫描集。该项目涵盖了果蝇大脑的近三分之一,并包括了具有2000万个突触和超过25000个神经元的详细映射...

    AiTechYun
  • 简单梳理跨数据中心数据库

    有2年没有摸数据库了,重新学习下。数据库是IT系统的基石,小到一个个人站点,大到类似Google,阿里,腾讯这种大公司,里面都运行着各种各样的数据库,成千上万的...

    大数据和云计算技术
  • Java8-自定义收集器的实现及源码代码调用分析

     Java8带给Java的最大特点就是函数式编程,其中一个重要的更新就是对于流的支持,这使得开发者可以使用一行代码就能完成从一个数据结构转化为另一个数据结构,编...

    Fisherman渔夫
  • 迁移性好、多用途,港中文提出特征分离的无监督人类三维姿态表征

    本文将介绍一种基于特征分离的通用人类姿态特征的学习算法 Unsupervised Human 3D Pose Representation with Viewp...

    CV君
  • 移动端上拉加载和下拉刷新的vue插件

    npm install --save mescroll.js //不要使用cnpm安装

    一墨编程学习
  • puppeteer实现百度贴吧自动签到

    薛定喵君
  • jquery easyui datagrid mvc server端分页排序筛选的实现

    1自定义一个ModelBinder public class filterRule { public string field { g...

    阿新
  • 军用雷达帮助小型无人机获得视觉功能

    无人机一般是没有视觉的——即使携带摄像头的无人机也需要依靠人类来发现障碍、保持安全飞行。但在一项研究中,一架八旋翼无人机使用了全新的紧凑型军用雷达系统样机,实现...

    人工智能快报
  • Nginx区分PC或手机访问不同网站

    近几年来,随着手机和pad的普及,越来越多的用户选择使用移动客户端访问网站,而为了获取更好的用户体验,就需要针对不同的设备显示出最合适的匹配,...

    小小科

扫码关注云+社区

领取腾讯云代金券