App Store 上线的那些事儿

App Store 上线的那些事儿_第1张图片
Paste_Image.png

心怀理想,奋力拼搏,最终开创出一款前无古人后无来者的App,正打算一展宏图之时,突然杀出一个App审核,多少英雄折戟于此。最终无力无奈者也不在少数。

本文就是极客学院 App 上线的一把辛酸经验总结,下面就让我们细细“品味”吧!

第一话、上线这事你任性不得

App 十个常见的被拒理由

理由一

程序内有检测更新
检测更新这个本来是标配功能,但是在 3 月开始以来的审核中要求不能加入。你们看到的很多支持检测更新是之前的版本,现在上架的新产品严格控制这条,当然啦,现在更新版本有一部分漏网之鱼。

理由二

和苹果应用系统接近的图标
我们的标志和他们的像被打回了,改了很多版本,颜色和图形各种都改过,另外 App 推荐也不能用,安卓图标、html5 图标等或者字眼都不能用,解决办法是和服务器端配合进行屏蔽。

理由三

使用 QQ 登录会进入引导下载 QQ 界面
应用用到了 QQ 第三方登录,如果用户没有安装 QQ 的话,使用 QQ 登录会进入引导下载 QQ 页面,结果被苹果退回审核。

理由四

广告原因导致被拒绝
如果我们的应用调用了 IDFA 的相关东西,就算没有广告展现,苹果发现你调用了,也会说你们有广告。特别值得注意的是友盟为了逃避苹果的审核,在后台默认做了一个淘宝的全屏广告,不过在 3 月之前都可以过审,但3月份之后,苹果也要拒绝,因为很多产品和淘宝的广告不符合,比如咱们极客学院,弹出一个淘宝广告,苹果肯定会拒绝我们。
解决办法:
采用友盟的无 IDFA 的 SDK,不过无 IDFA 的 SDK 对统计会有误差。极客 ipad 端暂时再用。
自己做个 bnner 广告,审核过了后后台修改参数,隐藏。极客 iphone 端要用到。

理由五

出现第三方操作系统的名字或者图标
极客学院是线上最大的 IT 教育平台,不可避免的要和很多第三方系统和各种语言接触,所以我们的程序也是不可避免的会出现很多种语言的图标,苹果一定会拒绝我们。
解决办法:
与后台配合审核中的时候要屏蔽所有与苹果无关的第三方系统语言,等审核过后在打开屏蔽。

理由六

注册登录,性别和头像非必填
“没有帮注册用户默认性别和头像(不支持跳过)“,这个问题不知道你们遇到过没,我才遇到的,略坑。和苹果交流了很多次,最后屈服了。注册的时候现在多数 App 是必须用户完成头像、性别信息的。60%都不可以跳过,但是我们这次审核的时候,不行了。苹果要求性别和头像都可以非必填,大家最近上架的要注意这条,当然审核员尺度不一样,很难说。

理由七

界面太丑,宣传太过,跟风明显会被拒
界面太丑的情况也有被拒绝过,产品没新意也是被拒的一个原因。再说个大家记得不?当年那个 bird 不是很火么,然后大批类似商家,苹果都拒绝了。我还要说一点,大家注意!不文明用户和图像,也被拒。

理由八

支付、文案等问题导致被拒绝
但凡是涉及到会员机制的必须要用苹果的应用内购买,否则一律会被拒绝,没有可商量的余地。

理由九

涉及到版权的图标一律不能用
对于内容型 App,苹果会对内容的版权进行审核。

理由十

有未说明或隐藏特性或有悖描述的应用会被拒
如果你的应用描述与应用的实际用途不符,那么你将会被拒。这个标准其实完全由审核人决定。

上线要注意的九个方面

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

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

第二,加载时间过长

所有的移动操作系统(iOS, Android 甚至 Windows),都对应用的最大加载时间又限制。 对 iOS 来说, 大约是 15 秒,如果你的应用在 15 秒内未能启动, 操作系统就会杀进程。
即便你的应用在这段时间内启动了,网络连接速度,硬件等环境的不同,也可能导致你的应用在审核期间加载时间过长。因此,不要仅仅依赖于 iOS 的模拟器,一定要在真实网络和真实硬件环境下进行测试,而且最好保留一些旧版的手机以确保所有用户都能体验到相对较快的加载速度。

第三,链接到第三方支付系统

苹果要求所有的数字内容都要在通过 iTunes 内置的应用内购买来完成。包括一次性购买或者注册付费等方式。 如果你的应用提供其他的购买方式,你的应用肯定会被下架。这也就是为什么 Kindle 的应用不让用户直接从应用购买新书的原因。    甚至对应用通过网页提供第三方支付链接也不行。Dropbox 的应用被苹果拒绝就是一个例子。 Dropbox 的应用在登录界面提供了一个购买更多存储空间的链接而未能通过苹果的审核。这不仅仅对 Dropbox 的 App 有影响, 甚至对所有采用 Dropbox API 的应用都有影响。    因此,一定要好好检查一下你的应用开发流程,确保所有的数字内容的购买都是通过用户的 iTunes 账户完成的。 注意,苹果只对数字内容才做出此限制,这也就是为什么一些旅游应用能够通过 App 预订酒店和机票的原因。

第四,不要提对其他平台的支持

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

第五,本地化的一些问题

你的 App 用户可能来自世界各地,即便你不提供多语言版本,在应用内购买的时候把日元符号写成欧元也表明你是一个不成熟的开发者。
因此,要利用类似 asNSNumberFormatter 或 Invariant Culture 这样的组件以及模拟器来测试在不同地区下的用户体验,确保如日期之类的格式符合用户本地的格式要求。
我们曾经见过一个欧洲的应用开发商的应用,因为没有正确处理负的经纬度而被苹果 AppStore 拒绝(注:苹果总部的经度是 -122.03)。 因此,一定要好好检查你的应用在地图上任何经纬度都能跑。特别要注意经过本初子午线的正负经度变化以及经过赤道正负纬度变化。

第六,对存储和文件系统的不正确使用

在 iOS5.1 推出后, 苹果曾经下架了一款应用的升级因为开发者把一个 2MB 大小的数据库从应用备份到了文件系统,违反了 iCloud 关于只备份用户产生内容的规定。
对任何静态的或者应用自带的或者很容易从远程服务器下载的所谓“可再生的数据”都不需要备份。 对于非用户数据, 可以选择缓存位置或者选择“不需要备份”属性。

第七,在用户拒绝权限请求时崩溃

在 iOS6,用户对试图访问地址本,照片集,地理位置,日历,提醒,蓝牙,Twitter 和 Facebook 账户的应用, 必须提升权限申请。如果用户拒绝应用的权限申请,苹果要求 App 依然能够继续工作。
这一点在审核时会自动测试,如果不能正常工作,则会被自动拒绝。因此,一定要仔细测试应用使用数据时的所有的“允许”“拒绝”组合, 同时也包括用户开始允许权限后来又拒绝的情况。

第八,对图标和按钮的不正确使用

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

比如说,除了创建新内容, 你不能用苹果的“Compose”
如何快速通过苹果 AppStore 审核 还不会被下架? 移动应用 移动 APP 应用商店 APP 图标代表任何其他的用途。苹果的工程师希望 App 的行为尽量可预测。 因此对内置图标和按钮的使用方面格外严格。

第九,商标和 Logo 的错误使用

在你的应用的图像上,不要使用他人的商标或者苹果图标。也不要使用带有 iPhone 图样的图标。我们见过在关键字中含有商标被拒绝的例子。
另一方面,你的应用还需要在内置地图中明确属性信息(比如 Google 地图或者诺基亚的地图)等, 否则也会被拒绝。
当然, 如果你的应用被拒绝了或者下架了,也不要着急,找出问题来再次提交就是了。此外,苹果还提供一种紧急审核的机制,用来进行重要 Bug 或者安全问题的修复。不过,开发者如果过度使用紧急审核机制,可能会在今后被禁止使用。
当然最好还是争取一次就通过审核。所以,最根本的当然是,开发者仔细阅读苹果的《提交指南》并且提供高质量的应用。
最后,我们再补充一条:注意规避“黄色”图片。

六步自检,保证上线

1、上线之前查看最新的审核标准,自查,和咱们的程序对比,排除一切隐患。

2、通过各种渠道了解最近被拒绝的原因。

3、被拒之后要继续申诉,试图告送苹果你没有问题(假装也要这样),因为苹果会除了这个原因给你在查出其它原因,这样会给我们节省很多时间,少走弯路。

4、审核过程中要严格监督内容,尤其是中心化的产品,我们还是屏蔽状态去审核,容不得出一点错误。

5、审核在半夜进行,最好对内容和服务器状态进行好的监督、管理。因为服务器出现问题被拒绝了时有发生。

6、在以后的发版过程中,iOS 小组会协同产品、后台、推广等多方面人员进行沟通协调,整个发版过程公开化、透明化、统一化。

第二话、App 审核标准

条款和条件

为 App Store 开发程序,开发者必须遵守 Program License Agreement (PLA)、人机交互指南(HIG)以及开发者和苹果签订的任何其他协议和合同。以下规则和例证旨在帮助开发者的程序能获得 App Store 的认可,而不是修改或删除任何其他协议中的条款。

功能

崩溃的程序将会被拒绝。

存在错误的程序将会被拒绝。

跟开发者宣传不符的程序将会被拒绝。

无应用文档或隐藏功能与描述不符的程序将会被拒绝。

使用非公开API的程序将会被拒绝。

在指定容器范围外读写数据的程序将会被拒绝。

以任何方式或形式下载代码的程序将会被拒绝。

安装或运行其他可执行代码的程序将会被拒绝。

Demo 版、trial 版和 test 版的程序将会被拒绝。 Beta 版应用程序可通过 TestFlight 提交,并且必须遵守相关指南。(此前并未允许 Beta 版通过 TestFlight 提交)

iPhone 程序必须不经修改就能以 iPhone 分辨率和 2 倍 iPhone 3GS 的分辨率在 iPad 上运行。

与 App Store 已有程序重复的应用可能会被拒绝,特别是数量很多的情况下,比如手电筒应用和爱经应用。

没有显著用途、不独特的应用程序或者与网站简单捆绑的应用有可能被拒;不提供任何持久娱乐价值的程序可能会被拒绝。

内容主要是营销材料或广告的程序将会被拒绝。

包含欺骗或虚假功能,却有没有标明的应用程序将会被拒绝。

大于 100MB 无法通过蜂窝网络下载的应用(App Store 会自动禁止)。

多任务程序使用后台服务仅限于几种目的:VoIP、音频播放、地理位置、完成任务以及本地提醒等。

应用程序只允许使用 iOS WebKit 框架和 WebKit Javascript 浏览 web 内容。

鼓励酗酒或使用违禁药物,或引诱青少年饮酒或吸烟的程序将会被拒绝。

提供错误的系统诊断或不精确的设备数据的应用将会被拒绝。

向 App Store 上传大量相似版本程序的开发者将会从 iOS 开发者计划中除名。

简单一首歌曲或者一部影片应用要提交到 iTunes store,书籍类应用应该提交到 iBookstore。

随意根据环境(如定位或者运营商)限制用户使用的应用会被拒。

应用必须遵守 iOS 数据储存指导方针(iOS Data Storage Guidelines ),否则应用将被拒。

存放在 Newsstand 的应用必须遵守开发者项目许可协议(Program License Agreement)的表 1、表 2 以及表 3,否则应用将会被拒。

类似 App store,或者基于购买或者促销的目的而展示其他应用的应用将会被拒绝
(限制更加严格,此前经过特殊审核批准(比如健康管理、航空以及其他无障碍需求等),或者为特殊群体用户提供具有重大意义的附加值的应用是可以通过的)

只有当 app 是出于特殊审核需要(比如健康管理、航空以及无障碍需求等)或为特殊群体用户提供具有重大意义的附加值时,才可以展示和推荐自身以外的其他应用程序,否则应用程序将会被拒绝。

元数据(名称、描述、评级、排名等)

近来厂商踩雷屡见不鲜,此部分请详细阅读

应用或者元数据中提到其他任何移动平台将会被拒。

带有占位符文本的程序将会被拒绝

应用程序的名称、描述、截图或者预览与应用的内容和功能不相关将会被拒绝。
(此前仅对描述有所限制 )

为了不混淆用户,iTunes Connect 中的应用名称应该和展示在设备上的应用名称一致。

不同尺寸的 app icon 要一致,否则会造成混淆。

图标、截图以及预览不符合4+年龄评级的程序将会被拒绝。
(增加了对预览的限制)

目录与类型不适合于程序内容的程序将会被拒绝。

开发者有责任为其程序指定适合的评级。不相称的评级可能会由苹果公司修改。

开发者有责任为其程序指定恰当的关键字。不恰当的关键词可能会被苹果公司修改/删除。

试图通过伪造评论或者付费评论的方式在 AppStore 中操纵或者其欺骗用户评论(或者采用其他不正当方式)以提升排名的开发者将会被苹果从 iOS 开发者计划中除名。

在安装或打开应用之前,推荐用户重启 iOS 设备的应用将会被拒。

提交审核的应用程序应包含能正常运行的URL,比如支持服务 URL 和隐私政策 URL。

应用程序的截图、预览或者营销文本没有清晰地指出附加内容或项目需要额外单独购买(比如使用 IAP)将会被拒绝。

App 预览仅能使用从应用程序捕获的视频屏幕、旁白、文本以及 design overlays,否则应用程序将会被拒绝。

添加 App 预览的应用程序,未经许可展示真人个人信息将会被拒绝。

App 预览仅能使用在所有选定地区内经过授权许可、用于此目的的音乐。

App 预览包含未经授权的通过app播放的内容(比如 iTunes playlist 和 YouTube 流媒体)的应用将会被拒绝。

位置

在收集、传输或使用位置数据之前未通知并获得用户同意的程序将会被拒绝。

将基于位置的 API 用于车辆、飞机或其他设备的自动控制或自主控制的应用程序将会被拒绝。

使用基于位置的 API 用于应急服务的应用程序将会被拒绝。
(此处进行了描述修改,未着重指出调度和车队管理)

当与提供的功能或服务密切相关,或者为支持经过授权的广告时,应用程序才可以使用位置数据。

推送通知

不使用苹果推送通知 (APN)应用接口提供推送通知的程序将会被拒绝。

未从苹果获得 Push Application ID 便擅自使用 APN 服务的程序将会被拒绝。

在首次推送消息或者要求运行推送通知之前未获得用户许可的应用将会被拒绝。

使用推送通知发送敏感个人信息或机密信息的程序将会被拒绝。

使用推送通知发送非请求消息,或用于钓鱼或群发垃圾信息用途的程序将会被拒绝。

应用程序不可使用推送通知发送广告、促销或任何类型的直销信息。

应用程序不能向使用推送通知服务的用户收取费用。

使用推送通知会过多利用 APN 服务的网络流量或带宽或给设备带来过度负担的程序将会被拒绝。

如果应用程序传送病毒、文件、计算机代码或程序,并且对 APN 服务的正常运行造成损害或中断,那么该程序将会被拒绝。

游戏中心

向终端用户或任意第三方显示玩家ID的程序将会被拒绝。

将玩家ID用于任何未经游戏中心条款批准用途的程序将会被拒绝。

试图进行反向搜索、跟踪、关联、挖掘、获得或利用玩家ID、别名或通过游戏中心获得其他信息的开发者将会iOS开发者计划除名。

游戏中心信息(例如排行榜分数),只能用于游戏中心批准的应用程序中。

利用游戏中心服务发送非请求信息,或用于钓鱼或群发垃圾邮件的程序将会被拒绝。

过多使用游戏中心网络流量或带宽的应用程序将会被拒绝。

如果程序能够传送病毒、文件、计算机代码或程序,并且对游戏中心服务的正常运行造成损害或中断,该程序将会被拒绝。

广告

人工刷广告浏览量或者广告点击率的应用程序将会被拒绝。

包含空 iAd 广告的应用程序将会被拒绝。

主要设计目的在于显示广告的应用程序将会被拒绝。

商标与商品外观

应用程序必须遵守”Guidelines for Using Apple Trademarks and Copyrights”和”Apple Trademark List”中说明的所有条款与条件。

任何误导和暗示苹果公司是该应用程序来源或提供商,或者苹果公司以任何形式表示认可其质量或功能的应用程序将会被拒绝。

与目前已有苹果产品或者广告主题外观相似或混淆的应用程序将会被拒绝。

在应用程序名称中将苹果产品名拼错的应用程序(例如,GPS for Iphone,iTunz)将会被拒绝。

应用程序不得使用受保护的第三方材料(比如商标、版权以及专利),不能违反第三方使用条款。必须提供使用这些材料的授权许可。

若无明确授权许可,从第三方来源处(比如 YouTube、SoundCloud 以及 Vimeo 等)下载音乐或者视频内容的应用程序将会被拒绝。

更多标准请移步:http://wiki.jikexueyuan.com/project/app-store-refused/new-four.html

说明:本文内容为网络资源整合,部分内容为极客学院原创。

你可能感兴趣的:(App Store 上线的那些事儿)