以下是可能的原因(非官方的,from here):
- Vibration.这是不允许在您的应用程序中使用连续振动-短脉冲作为警告是唯一允许的。不要试图设置一个定时器来保持振动,这会导致你的应用程序被rejected.
- Linking到私有框架。这是显而易见的,但不知何故,在玩弄我们链接到MoviePlayer.framework的东西时。这是一个禁忌,我们花了大约十天的时间解除该框架的链接,重新编译,然后在tableview cells中使用resubmitted.
- Improper处理编辑。这也很明显,但请注意,如果您启用了表格单元格编辑,则必须手动指定哪些单元格应该响应编辑控件,哪些不应该。在我们早期的一个应用程序中,我们有一些随机的首选项单元格,可以通过滑动这些单元格来调出一个“删除”标记。当然,它什么也没做,但苹果考虑到了这个糟糕的设计,拒绝了我们的app.
- Icons.确保57像素的图标与512像素的版本相同。此外,如果您正在创建应用程序的“lite”和“pro”版本(即,免费和付费),请使用不同的图标。使用相同的图标可将您的应用程序直接发送到…你猜对了,…bin.
- Copying现有功能。这一点更加微妙和阴险,可能已经影响了很大一部分开发人员。除了广为人知的播客崩溃,来自用户评论的报告表明,苹果在寻找重复功能时撒了一张大网。迷你web浏览器,或基本上显示网页的应用程序,似乎特别容易受到攻击,即使它们添加了新的和/或有用的功能。远离电子邮件客户端,因为键盘键入是well.
- Using合适的。如果您的应用程序要求输入电话号码或其他纯数字输入,而您提供的键盘也可以输入标准字母数字输入,则…是啊。(感谢Jeremy1026)
- Version numbers。如果你的应用程序当前是版本0.99或更低的,你最好考虑给它一个促销,因为苹果似乎更喜欢1.0或更高版本。我们的一个最近因为是.016而被拒绝,有一条消息表明我们的版本号甚至不是数字。当我们从头开始重新提交与1.0版本相同的应用程序时,它进入了through.
- Network Reachability。如果您的应用程序需要任何类型的网络访问,您需要确保它在该访问不可用时工作。如果不是,它将被拒绝。苹果提供了示例代码来测试这一点,您可以按原样使用这些代码:https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html
最后,但并非最不重要的是:
编辑:
这里有一个链接指向最近一篇关于ten iPhone Apps That Didn't Make Apple's App Store的文章。
小贴士:苹果有一款名为Application Loader的Mac应用程序,你可以安装它。一旦你安装了它,它就会分析你的应用程序的zip文件。在提交给Apple之前,它会验证所有证书、图标和其他内容是否正确。使用应用程序加载器可以最大限度地减少应用程序被拒绝的机会。
另一个有趣的资源:App Store Roundtable: Transparency and the Approval System (appleblog.com)
又一次编辑:
2010年2月的新规则:“不穿泳衣,不穿皮肤,不含影射”(来源:TechCrunch article,Wobble author's blog)
顺便说一句:在2009年3月的iPhone 3.0预览版发布会上,苹果公司的一位发言人表示,所有提交的应用程序中有96%获得了批准。