阅读更多

2顶
0踩

移动开发

转载新闻 iOS应用审核的通关秘籍

2011-12-01 16:44 by 资深编辑 luiang1018 评论(13) 有4793人浏览
磨刀不误砍柴工。作为手机应用开发者,你需要向应用商店提交应用审核,迅速通过审核可以让你抢占先机。对苹果iOS应用开发者来说尤其如此。苹果应用商店的审核近乎吹毛求疵,下面这些清单可以让你知道苹果会在哪些地方找茬。


首先,你的应用程序:

  • 不能导致手机故障(比如崩溃或屏幕问题)
  • 长时间/过度使用之后反应仍然很快
  • 应用内的所有价格信息中不能用固定值代替可变变量
  • 不要使用任何SDK里面的私人API
  • 不要使用任何SDK文档里面没有列出的功能
  • 不要提及用户设备上不存在的硬件功能
  • 如果需要网络连接,在没有网络的情况下要告知用户
  • 不要(过度)模仿任何本地应用程序
  • 不要(过度)山寨某个本地应用的功能
  • 运行若干次之后不要过期或停止工作
  • 不要使用任何未经批准的硬件配件
  • 不要包含种族主义内容、过长的暴力图片、性和裸体相关的图片
  • 不要“无意中”发生这样的事情:不受限制的网页浏览、显式歌词、未经过滤的图书
  • 不要恶搞知名的公众人物,不管是死是活
  • 不要包含能够执行下载文件的脚本解释器、插件或其它运行时(runtime)
  • 不要使用连续震动
  • 在每个输入区域使用相关的键盘(比如在输入手机号的地方要调出数字键盘)
  • 在表格视图下,如果选中多行会调出另一个视图的话,那么应该取消选中当前视图中的行
  • 仅在连接WiFi的情况下才能播放视频或下载其它大型文件
  • 如需发送私人数据到服务器,需要告知用户,并提供取消选项
  • 不要偷偷使用摄像头或话筒
  • 使用GPS功能是为了给用户带来切实的好处,而不是仅仅是广告或跟踪
  • 绝不要崩溃
遵守苹果的用户界面指南(Human Interface Guidelines),一定要好好看,以下是一些常见的错误:

  • 应用看上去设计精美、品质上乘
  • 本地按钮图标与其本地动作保持一致
  • 活动指示图标不能转个没完没了
  • 触碰之后可以激活按钮
  • 屏幕布局可以处理好高度加倍的状态栏(比如通话期间)
  • 停止应用时应保存状态,下次启动时可以恢复
  • 如果支持横屏模式,横屏设计也要很美
针对iPad:

  • 你的应用应该从各个方向都能使用,如果仅支持横屏和竖屏,那么上下两个方向都要支持
  • 弹出窗口里面不应该包含其它弹出窗口,也就是选择弹出窗口里面的东西不会激活另一个弹出窗口
  • 一次不能弹出两个及以上窗口
提交应用程序文件时的细节:

  • 程序文件名字和iTunes应用商店里面显示的名字要一致,或者是缩写
  • iTunes中的描述要准确描述应用的功能,说到做到
  • iTunes描述不包括价格信息
  • iTunes描述中不能包括Android、黑莓等苹果竞争对手的名字
  • iTunes描述不能提及尚未发布的iOS版本
  • iTunes关键词要和应用功能相匹配
  • iTunes关键词不能包含其他应用的名称
  • 如果你的应用售价超过100美元或者应用内购买金额超过100美元,那么应该标记为17+
  • 应用截屏不能包含错误状态,包括iAd的错误
  • 应用分类与其功能相符
  • 应用中的彩蛋无伤大雅,需要在演示账户中透露
  • 提供各种尺寸的图标:57,72 (iPad),114,512
  • 不同尺寸的图标都包含同样的内容
  • 版本号大于等于1.0
  • info.plist文件中所需要的设备功能和应用的实际需求相符
  • 应用使用情况和操作系统版本兼容性相符
  • NSZombieEnabled设为NO
  • 如使用推送通知,需要在entitlements.plist中添加用于“aps-environment”授权信息
  • 若使用推送通知,你的应用ID必须已经激活推送通知功能
  • 在更新iTunes的“新功能”介绍时,内容要和应用实际变化相符
  • 更新应用时,要做到名副其实,并且更新能够被用户发现
  • 更新后的应用版本号要大于上个版本
杂项:

  • 应用要有足够大的市场,比如不能只供小部分人私下里使用
  • 应用里不能存在已经作废的和未来版本发布有关的按钮和功能
  • 简化(Lite)版应用必须能用;也就是说也要做到名副其实
  • 简化(Lite)版应用不能有时间限制
  • 简化(Lite)版应用不得显示完整版应用的价格
  • 作为应用的一部分,应用加载的网页必须是线上的,并且可用
  • 任何相关的email地址都必须存在并且可用
  • 所有应用升级和其他交易都必须通过苹果应用商店完成
  • 应用不能是一个简单的浏览器窗口中的的网站
  • 应用必须满足任何相关的管制规定,比如涉及医疗的应用
  • 若使用加密,必须已经通过BIS注册,并能提供文档
  • 如果你的应用需要登录,需要提供测试账户
  • 如果应用使用MapKit,不得隐藏或掩饰Google Logo
  • 如果使用摄像头,不得关闭快门声音
版权、商标、所有权

  • 能证明你拥有或有权使用应用中的所有代码
  • 能证明你拥有或有权使用应用中的所有作品
  • 能证明你有权使用应用中的所有品牌名、公众人物名和其他商标材料
  • 比如图片和图标不能有偏光效果的边界
  • 比如图片和图标不能包含iPhone和其他苹果产品
  • 你能证明拥有或有权使用应用中的所有视频、音乐和歌词。
Via  testpad

  • 大小: 203.5 KB
来自: 36氪
2
0
评论 共 13 条 请登录后发表评论
13 楼 tyonly 2011-12-06 15:25
很细致啊,这个态度好
12 楼 xin911 2011-12-05 10:38
elgs 写道
That's why they have high quality.

That's why they always have high quality.
11 楼 yawei 2011-12-02 23:19
skydream 写道
细细的看了一下,绝大部分都是非常合理并且有必要的。

苹果做事还是很认真,很注重细节,很为用户考虑的。

但是不允许第三方API绝对不合理。 苹果的开发队伍绝对没强大到覆盖所有需求的程度。

10 楼 dieslrae 2011-12-02 14:41
happysoul 写道
对于新浪微博这类的还好说,小的社区也可以应用。
但是真要对于企业类软件,比如某天朝食人族领导要看公司的报表,而且非要pad上面看
那这类软件岂不是只能在未审核队列中永远无法安装?
亦或者必须要越狱安装

所以只能买来等U盘
9 楼 happysoul 2011-12-02 13:29
对于新浪微博这类的还好说,小的社区也可以应用。
但是真要对于企业类软件,比如某天朝食人族领导要看公司的报表,而且非要pad上面看
那这类软件岂不是只能在未审核队列中永远无法安装?
亦或者必须要越狱安装
8 楼 skydream 2011-12-02 12:02
细细的看了一下,绝大部分都是非常合理并且有必要的。

苹果做事还是很认真,很注重细节,很为用户考虑的。
7 楼 qqaniu 2011-12-02 10:55
darkise 写道
扫了一下,基本上就是一句话:只能作苹果允许作的!

基本上是对用户友好,善意,符合人性的
6 楼 jy00105276 2011-12-02 10:44
geminiyellow 写道
SDK里面的私人API是怎么一回事?没做过ios开发。


明明sdk里有的api,但是就是不让你用,只能apple自己用。

比如sdk里有方法强行设置手机的方向,不依靠重力感应。但是他不让你用了,你用了就不能过app store
5 楼 gaodong1984 2011-12-02 09:14
不错,不错
4 楼 joeyhacker 2011-12-02 08:10
darkise 写道
扫了一下,基本上就是一句话:只能作苹果允许作的!

这也是app store 成功的关键, 不然垃圾、病毒满天飞了
3 楼 geminiyellow 2011-12-02 07:37
SDK里面的私人API是怎么一回事?没做过ios开发。
2 楼 elgs 2011-12-02 01:49
That's why they have high quality.
1 楼 darkise 2011-12-01 16:52
扫了一下,基本上就是一句话:只能作苹果允许作的!

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • iOS应用AppStore审核注意事项

    详细描述iOS应用AppStore审核注意事项,包括:基本要点、界面标准、iPad相关、提交细节、相关杂项、版权相关等,iOS应用AppStore审核通关必备!

  • iOS应用审核的通关秘籍【转】

    iOS应用审核的通关秘籍 磨刀不误砍柴工。作为手机应用开发者,你需要向应用商店提交应用审核,迅速通过审核可以让你抢占先机。对苹果iOS应用开发者来说尤其如此。苹果应用商店的审核近乎吹毛求疵,下面这些清单可以...

  • iOS 应用审核的通关秘籍

    作为手机应用开发者,你需要向应用商店提交应用审核,迅速通过审核可以让你抢占先机。对苹果iOS应用开发者来说尤其如此。苹果应用商店的审核近乎吹毛求疵,下面这些清单可以让你知道苹果会在哪些地方找茬。 首先,...

  • 开发者必看:iOS应用审核的通关秘籍

    作为手机应用开发者,你需要向应用商店提交应用审核,迅速通过审核可以让你抢占先机。对苹果iOS应用开发者来说尤其如此。苹果应用商店的审核近乎吹毛求疵,下面这些清单可以让你知道苹果会在哪些地方找茬。 基本...

  • Synchronized使用心得

    用synchronized关键字修饰方法后,程序将根据调用此方法的对象的锁来判断是否能调用此方法。   对一个类的instance method,则当此方法被一个线程调用时,其他线程不能再通过同一个对象调用此方法(可以通过这个类的另一个对象来调用这个方法)。   对一个类的static method,则当一个线程通过类对象调用此方法时,其他线程不能再通过类对象调用此方法。由于类对象在类加载时由虚拟

  • Servlet访问路径

    http://company/shopping/loginServlet 通常用这样的路径来访问webroot/company/shopping /WEB-INF/classes目录下的一个servlet   http://company/shopping/servlet/ login 默认情况下servlet的URL都被设置在一个servlet下 invoker /servlet/*   h

  • 检测用户浏览器的Cookie设置

    这是一个检测用户浏览器的Cookie设置是否打开的一个小技巧。 技巧很简单,当servlet接收到一个请求时,先不处理这个请求,而是发送一个响应,在响应中包含一个cookie并且要求浏览器在接到这个响应后立即再重发上一个请求,并在请求中添加这个cookie,然后在servlet中检测浏览器第二次发的请求中是否有这个cookie,如果没有就说明这个浏览器不支持cookie,有就对这个请求进行应作的处

  • 在Java中处理日志记录

    在JDK1.4中提供了一个日志记录包:java.util.logging,它可以对程序中的日志记录进行相当复杂的控制。例如:通过它可以指定日志的级别和日志的位置(控制台、文件、套接字、内存缓冲区),也可以创建子记录器,通过它可以用程序控制的方式来指定想记录的内容,也可以使用配置文件来指定,而不需要去改动程序。和Log4j相比,它更简单更轻量级,在对日志输出的要求不是很复杂时,它无疑是更好的选择。

  • enoeht的Java源码系列(6)--调试信息与日志文件

    在程序中我们常常用System.out.println来输出调试信息,方便且简单,但是往往是因为它太简单、太方便了,以致于让我们需要用一个更强大更灵活的方法来替代它,这篇文章的目的就是提供了一个这样的方法。   在我的开发过程中,我会对输出的调试信息有这样的期望:在开发的时候,输出大量的细节信息让我能很方便的调试,而到了发布的时候,不用改任何代码,就能让程序只去显示客户会感兴趣的信息;同样不需要改

  • 处理没有被捕获的异常

        在我们的程序中并不是所有的异常都被捕获,有些是因为我们不想捕获,因为我们认为那些异常没必要捕获 而有些是我们无法捕获的,因为我们不能确定它们会在什么地方出现,例如像NullPointerException,ClassCastException,IndexOutOfBoundsException这些RuntimeException。我们也许可以在所有它们有可能发生的地方去捕获它们,但这确实

  • enoeht的Java源码系列(5)--字符串加解密

    这一篇的内容是一个简单的对字符串加解密的类: Then call its encrypt or decrypt method with an authenticator byte array (the parameter Auth which is a 16 octet byte array) and the data which is wanted to be encoded or decode

  • enoeht的Java源码系列(1)--TCP服务器

    这是一个TCP服务器端的实现代码,监听客户端的请求,在子线程中处理各个客户端发来的数据包,再将处理后的结果送回客户端。这里提供的代码很完整,包括一个mainclass,一个监听class和它的interface,一个包处理class,一个发送class,基本上可以直接使用。其中用到的一些工具类,例如Debug、GenProfile、Terminator等,它们代码也会出现在随后的系列文章中。  

  • Java多语言编码问题解析(1)

    1、Java编译器在对源文件编译前,会先把源文件转换为unicode编码,因为这个原因,我们在编译时一定要把源文件用的是什么编码方式正确无误的”告诉”编译器。 例如:我们的源文件是以UTF-8的方式保存的,而在编译时编译器却把它当作是用GBK方式保存的,这样编译器就会按照GBK->Unicode的编码转换方法对源文件进行转换,然后再编译,这样当然会出错,实际上编译器应当按照UTF-8->Unico

  • enoeht的Java源码系列(2)--综合工厂

    package org.kyle.net.svr.sample;   public class IntegrationFactory {     public IntegrationFactory()     {     }       public static IListener createListener(GenProfile genCfg)     {       IListener i

  • enoeht的Java源码系列(3)--处理配置文件

    我们常常会在程序中用到这样的配置文件: Listener = org.kyle.net.svr.sample.SampleListenerImpl ServerAddress = 127.0.0.1 ListeningPort = 80 ListenerTimeout = 120 StatelessService = true LogLevel = ALL LogPath = server.log

  • enoeht的Java源码系列(4)--继续处理配置文件

    我们还常常会在程序中用到这样的配置文件: [section] key = value 下面是一个这种配置文件中的实例 [Server]     Address=192.168.1.151     Port=8000     Version=1     Info=1 [User]     Name=Kyle     Pwd=1234 [ID]     111;222;333 [END]   在这里提

  • 工业接线检测系统中的视觉匹配技术与图像处理算法设计及其应用场景

    内容概要:本文档介绍了基于视觉匹配的工业装配智能识别系统的具体设计方案,旨在实现自动化、高精度接线检测。文中详细描述了系统的硬件构成、关键技术和处理流程,强调了从图像平滑到OCR文字提取等多个步骤的具体实施方式及其重要性,并阐述了系统对于提高工业生产质量评估效率的作用。此外,文档还探讨了所使用各类图像处理与深度学习方法的有效性和实际应用潜力,提供了较为完整的系统可行性分析。 适用人群:涉及图像处理技术研究的科研人员、从事工业自动化生产的管理人员和技术工作者。 使用场景及目标:适用于需要高精度识别接线正确性的各种工业生产线。其主要目标是在保证高效的同时尽可能减少人工介入,以确保检测的一致性和精确度,从而降低生产成本并提高产品合格率。 其他说明:系统涵盖了多项前沿科技,如机器视觉领域的图像平滑技术、边缘检测算法、图像匹配算法以及AI驱动的文字识别技术(OCR)。这些共同构成了完整的接线状态分析链路,可用于实时监控生产环节中接线情况。

Global site tag (gtag.js) - Google Analytics