欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

应用被苹果拒之门外的 9 个意外原因

程序员文章站 2024-02-24 16:04:41
...
苹果应用商店的审核流程是为了确保生态体系的健康,将低质量和恶意的应用排除在外。总体而言,这种做法是行之有效的。可是有时候应用被拒的原因有些令人莫名其妙,以下是 Xamarin 的联合创始人及 CEO Nat Friedman 总结的 9 个拒绝理由。

应用被苹果拒之门外的 9 个意外原因


1.  “beta”是敏感词

Google 把发布模糊的“beta”服务变成行业惯例,但是苹果对此却要求严格。如果应用名字里面有“Beta”、“Preview”甚至“0.9 版”之类表明应用尚未准备就绪的词语,那应用就有可能被拒。

2.  加载时间过长

所有移动操作系统(iOS、Android 甚至 Windows)都对启动时间有要求。iOS 的最高启动时间是 15 秒,如果应用不达标,iOS 会把它干掉。

但是,哪怕应用在本地测试时启动时间符合要求,网络慢、硬件慢等不同的环境因素也可能导致应用在接受审核时启动过慢。因此不要仅仅依赖 iOS 模拟器,要在实际硬件中对应用进行测试,最好拿一些老一点的手机去试,这样才能确保所有用户的启动时间符合要求。

请记住,应用的启动时间是给用户留下印象的第一个机会。

3.  链接到外部支付方式

苹果要求所有的数字内容都要在内置的 iTunes 元以内销售机制中售卖。无论是一次性购买或者订购模式均如此。违反这一原则,应用必被毙掉无疑。Kindle 应用不允许用户购买新书的原因也是如此。

有一点值得注意,苹果甚至连应用中有到外部支付机制的网页链接也不行。比较出名的例子是 Dropbox—因为其基于 web 的登录屏幕含有购买额外空间的连接而被拒。而且受影响的不仅仅是 Dropbox 应用,甚至使用 Dropbox SDK 的也遭了殃。

因此,一定要确保应用的所有购买都是通过 iTunes 账号进行的。不过,非数字服务或商品属于例外,比方说通过应用订房就可以。

4.  不要提支持其他平台

如果你的应用也支持 Windows 或 Android,在你自己的网站上面说,不要在应用或应用商店上提,如果上面出现竞争对手的名字,苹果会很生气。

5.  本地化问题

应用的用户是全球性的。如果应用没有针对多种语言进行本地化,那会显得比较业余。利用 NSNumberFormatter 或 Invariant Culture 之类的扩展以及模拟器来测试不同地方的用户体验,从而确保日期等数据符合用户所在地区。

比方说曾经有欧洲的应用因为不能处理负值的经纬度而被拒。

6.  存储与文件系统的不当使用

iOS 5.1 发布不久,苹果曾经拒绝了某个应用的更新,因为开发者将 2MB 的数据库加压到文件系统中,违背了 iCloud 只备份用户生成内容的原则。

任何可再生或可从远程服务器重新下载的数据都不应该备份。非用户数据最好找个缓存的地方,或者标记为“不备份”属性。

7.  因为用户拒绝授权而崩溃

在 iOS 6 中,只有用户许可后用户才能访问地址簿、图库、方位、日历、蓝牙、Twitter 及 Facebook 的账号。如果用户选择禁止应用访问这些服务,那么应用的功能就有可能运行不正确。而功能运行不正确会引起苹果自动拒绝应用通过。开发者应该测试用户“允许”和“不允许”使用各种数据的情况,包括用户一开始允许后面有改为不允许的情况,确保应用在各种情况下都能运转正常。

8.  图标、按钮使用不当

许多 iOS 应用被拒往往不是因为性能或功能问题,而是因为 UI 方面的小毛病。需熟知《苹果人机界面指南》,可利用标准的 UIButtonBarSystemItem 来要确保内置图标和按钮外观风格统一。

比方说,不要把“排版”图标用到非内容创作的应用上。苹果工程师希望应用的行为是可预测的,因此对这方面加以限制也是可以理解的。

9.  误用商标和标志

不要在应用或产品图片中使用商标或苹果图标、标志。甚至画有 iPhone 的图标也不能用。应用的关键字含有商标的应用也曾被拒过。

不过被拒了也别慌,改正问题重新提交就是了。在紧急情况下,苹果还有加急的审核流程,可适用于关键 bug 修补或者安全问题。不过这一流程也不要滥用,否则你的应用从此会被苹果拒之门外。

未雨绸缪总好过亡羊补牢。请仔细研究提交指南,把精力投入到开发高品质的应用上。用户会感激你的。

Via venturebeat.com