【IT168 专稿】苹果应用商店已经成为许多开发者淘金的乐园,但是经常有开发者抱怨称,自己的应用被苹果毫无理由的拒绝收录到应用商店中。国外开发者Brian Strormont创办的公司已经创建了超过45个iPhone应用,这些应用的下载次数已经超过40万次,近日他探讨了一些如何避免被苹果“拒签”的建议,以下为原文内容:
截止到现在,我开发iPhone应用的时间已经超过6个月,在这段时间中,我成功的提交了45个以上iPhone应用,并被收录到苹果应用商店中。下面我将分享一下如何避免iPhone应用被拒绝的经验。
以前在不同的开发者论坛上曾被提到过好多次,苹果的审查过程往往让人很难理解和反复无常。但是,如果你够细心的话,你还是可以获得一些经验,来降低应用程序被拒绝的风险。
根据我个人的经验,以下一些问题是值得注意的:
1、用户界面指南
应用程序被拒绝的一个最常见原因是,违反了苹果的用户界面指南(Human Interface Guidelines,HIG)。作为一个iPhone开发者,你肯定需要阅读HIG并遵循该指南。仔细阅读并认真遵守HIG中提到的每一条规定。的确,许多已经被苹果收录的应用程序可能也违反了HIG,但是你不能由此表示“应用X也这样做了,而且也被收录了(为什么就拒绝我的应用)”。因为苹果不会认为这是一个合理的解释。
苹果有时候也对HIG中的某些规定熟视无睹(闪屏可能是其中最明显的一个),但是除非你想拿自己的生计做尝试,尽量不要违反HIG规定。
2、协调的图标
不管你相信与否,苹果现在要求512×512iTunes商店图标,以及在iPhone上显示的图标大小为57×57。作为一个拒绝的理由,苹果会宣称不协调的图标违反了HIG。不过HIG中没有任何规定要求这两个图标必须匹配,但是,这是苹果的商店,你只需要遵守它们武断的规则。因此,如果你不想自己的应用被延迟审批,请确信你的图标匹配。这些图标并不一定完全一样,但是两者之间必须有共性的东西。当然,只让它们采用类似风格的图片还是不够的。
3、模拟故障情景
苹果不喜欢任何假想iPhone或iPod Touch出现故障的任何应用。因此,如果你想自己的应用程序被苹果拒绝的话,一个很好的办法就是模拟一个破裂的显示屏。其它任何伪装iPhone故障的想法,你可能认为有人会觉得它很有趣,但它也可能是苹果拒绝你的原因。
4、按钮图片必须一致
如果你决定使用苹果提供的现有按钮图片之一,确信要在相同的功能中都使用它。尽管HIG声称,如果用户的应用程序提供了一个“拟真环境”,允许以一个非标准方式来使用一个标准按钮。但是,为了避免承担被拒绝的风险,用户最好创建自己的定制按钮。如果你使用了“功能按钮”图片,确保提供一个菜单作为选择执行方式。否则,苹果可能拒绝该应用。
5、对手机网络的带宽占用
如果你的应用程序通过手机网络下载数据,一定不要占用太多的带宽。那么如何才算太多?尽管没有一个准确的数字,但是苹果一个技术支持人员建议称,5分钟的数据量不要超过4.5M。你可以到iPhone设置中测试你的应用占用带宽的情况,选择 General->Usage菜单,清除统计信息,然后运行你的应用5分钟,再返回屏幕查看该统计数据。另外,为了保证数据的准确性,在测试的时候应该关闭电话上所有其它使用网络的行为,诸如电子邮件或MobileMe更新等。
6、弹出窗口探测网络
如果你的应用程序需要使用互联网,你必须检测何时网络不可用,并提供一个弹出窗口来通知用户。只通过一个不断旋转显示忙的图标和一条“尝试连接”的信息,是不够的。如果你不提供一个信息通知用户他们需要一个网络连接,苹果就会拒绝你的应用。
7、误报网络丢失
需要注意的一点是,保证你不会在网络探测过程中有误报问题。在苹果提供的“可达性(reachability)”功能中存在一个漏洞。如果你不自己进行一次网络连接,而只是进行一个可达性测试,总会得到一个同样的结果:网络不可用。如果苹果发现你的应用程序有这种误报行为,就会拒绝收录你的应用。
8、政治讽刺
无论是在你的应用中,还是在iTunes描述中,都不要拿政治人物开任何玩笑,不管他是过去还是现在的政要人物。否则苹果很可能会拒绝该应用。
9、确保你的应用程序描述精确
花些时间来校对你的应用程序描述。这些描述是审查者了解你的应用程序的唯一信息。确保描述中没有存在歧义的任何内容。如果其中存在误解一个功能的可能,你将面临审查者拒绝该应用的风险,因为他们认为该应用与描述并不一致。
10、保持“新功能”描述简洁
当用户提交一个更新时,苹果要求提供一个介绍更新内容的描述。与上一条说的类似,尽可能保持这段描述清晰、简明。不要过于复杂的描述修改的地方,否则就会带来让审查者产生误解的更大可能性。我曾经有一个应用程序被拒绝,原因是审查者误解了我所描述的应用程序改进之处。
11、操作系统兼容性
如果你表明自己的应用程序支持iPhone OS 2.0及更高版本,你最好确信自己真正测试过,它的确可以运行在2.0到目前最新版本之间的任何版本OS上。因为审查者肯定会进行这个测试。不同版本的OS之间,某些特定功能的表现略有不同。如果审查者发现应用程序不能正常运行在某个版本OS上,肯定会拒绝这个应用程序。但是,不要期待审查者会给你指出你的应用程序不支持哪个版本。在拒绝电子邮件中不会包含多少信息,这会导致你浪费时间来查找自己应用程序是否存在什么漏洞。因此,对于宣称支持的每一个OS版本,都要实际进行测试。
以上肯定不是保证你应用程序被苹果审查通过的所有要求。只是我个人在提交应用过程中总结的一些经验,也是我在开发新应用时需要牢记的一些事项。
如果你发现你的应用程序被拒绝了,我能给你的最好建议是:保持冷静。要知道还有数千开发者也有与你同样的遭遇。当然,你可能会感觉到不公平,事实上有时候也的确存在不公平之处。这可能是一件令人沮丧的事情,尤其是当你已经尽了最大努力来遵守苹果提出的每一条要求时,你可能会认为苹果错误的评价了你的应用。
但是我必须再次提到,这是苹果的商店。他们可以做自己想做的任何事情,而且并不一定要保持公平。如果你认为你的应用被错误的拒绝,你能做的最好的事情就是客气的表明你的观点,并以相关苹果文档规定作为你的论据。但是,不要期望苹果会对你的请求让步,很多情况下苹果甚至不会回应你的请求。苹果一般会在恢复邮件中非常简短的表明它的观点,有时甚至完全不回应开发者的请求。要想让你的应用被审查通过的最好选择是,根据苹果拒绝的理由进行改变,然后再次提交审查请求。而且,即使你赢得了争论的胜利,往往却会因此而影响了自己的开发工作效率。
如果你被拒绝,那么在开发下一个iPhone应用时要切记不再存在类似问题。