Here are possible reasons (unofficial, from here):
Vibration. It is not permitted to use continuous vibration in your apps - short bursts as warnings is all that is allowed. Don’t bother trying to set up a timer to keep the vibration going, it will cause your app to be rejected.
Linking to private frameworks. This is obvious, but somehow in playing around with stuff we had linked to the MoviePlayer.framework. That’s a no-no, and cost us about ten days while we unlinked that framework, recompiled, and then resubmitted.
Improper handling of editing in tableview cells. Also obvious, but be aware that if you enable table cell editing, you’ll have to manually specify which cells should respond to editing controls and which should not. We had some random prefs cells in one of our early apps that were able to be swiped to bring up a ‘delete’ badge. Of course it didn’t do anything, but Apple justly considered this poor design and rejected our app.
Icons. Make sure the 57 pixel icon is identical to the 512 pixel version. Also, use a different icon if you are creating ‘lite’ and ‘pro’ versions of your app (i.e., free and paid). Using the same icon for both sends your app straight to … you guessed it … the bin.
Copying existing functionality. This one is much more subtle and insidious, and has probably affected the great percentage of developers. In addition to the widely publicized Podcaster debacle, reports from user comments indicate that Apple is casting a wide net when looking for duplicated functionality. Mini web browsers, or apps that essentially show web pages, seem particularly vulnerable, even if they add new and/or useful functionality. Stay away from email clients as well.
Using appropriate keyboard type. If your app asks for a phone number or other numeral-only input and you present a keyboard that also includes the possibility of entering standard alpha-numeric input … yep. (Thanks Jeremy1026)
Version numbers. If your app is currently at version 0.99 or below, you’d better consider giving it a promotion as Apple seems to prefer 1.0 and above. One of ours was recently rejected for being .016, with a message suggesting that our version number wasn’t even numeric. When we resubmitted the same app from scratch as version 1.0, it went through.
And a tip: Apple has a Mac app called Application Loader that you could install. Once you install it, it analyzes your app's zip file. It verifies all the certificates, icons, and other things are correct before submitting to Apple. Using the Application Loader minimizes your chances of app rejection.
As others have noted, Apple also seem to have a bunch of other conditions that they don't publicise. Note that rejection notices are now covered by the NDA.
Apple 描述了拒绝的原因“当用户从应用商店购买应用程序并在手机中下载时,您不得限制用户同意协议”,而是在 iTunes 中下载应用程序之前显示您的协议。
My paid version of app was rejected by appstore.
After Purchasing and downloading app first screen was "User Agreement" and when user taps on " I agree" only then he is able to continue using app.
Apple described the reason of rejection "when user purchased app from appstore and download in phone then you must not restrict user to Agree with Agreement" instead display your agreement before downloading app in iTunes.
他们拒绝了该应用程序,给出的理由是:尽管用户付费下载应用程序,但除非他未登录游戏中心,否则将无法获得您应用程序的服务。 您不能限制用户每次在应用程序启动之前都通过 Game Center 登录。
I submitted a paid app to app store but get rejected and i learned another possibility of app rejection
My app was Game Center enabled. When app starts first screen was login screen that prompt user to login through GameCenter to continue.
They rejected the app giving reason- As user will not be able to get services of your app unless he is not logged in with Game Center although he paid you to download app. You cannot restrict user to login through Game Center each time before app starts.
发布评论
评论(12)
以下是可能的原因(非官方,来自此处):
<强>振动。 不允许在您的应用程序中使用连续振动 - 只允许短暂的振动,因为警告是允许的。 不要费心尝试设置计时器来保持振动,这会导致您的应用被拒绝。
链接到私有框架。 这是显而易见的,但不知怎的,在玩弄我们链接到 MoviePlayer.framework 的东西时。 这是一个禁忌,我们花了大约十天的时间取消该框架的链接,重新编译,然后重新提交。
表格视图单元格中的编辑处理不当。 同样显而易见,但请注意,如果启用表格单元格编辑,则必须手动指定哪些单元格应该响应编辑控件,哪些不应该响应。 我们的早期应用程序中有一些随机首选项单元格,可以通过滑动这些单元格来调出“删除”徽章。 当然它没有做任何事情,但苹果公司只是考虑了这种糟糕的设计并拒绝了我们的应用程序。
图标。 确保 57 像素图标与 512 像素版本相同。 另外,如果您要创建应用程序的“精简版”和“专业版”(即免费版和付费版),请使用不同的图标。 两者使用相同的图标会将您的应用程序直接发送到……您猜对了……垃圾箱。
复制现有功能。 这一行为更加微妙和阴险,并且可能影响了很大一部分开发人员。 除了广为人知的 Podcaster 失败之外,用户评论的报告表明,苹果在寻找重复功能时正在广泛撒网。 迷你网络浏览器或本质上显示网页的应用程序似乎特别容易受到攻击,即使它们添加了新的和/或有用的功能。 也远离电子邮件客户端。
使用适当的键盘类型。 如果您的应用程序要求输入电话号码或其他仅数字输入,并且您提供的键盘还可以输入标准字母数字输入……是的。 (感谢 Jeremy1026)
版本号。 如果您的应用当前版本为0.99 或更低版本,您最好考虑对其进行升级,因为 Apple 似乎更喜欢 1.0 及更高版本。 我们的一个版本最近因 .016 版本被拒绝,并有一条消息表明我们的版本号甚至不是数字。 当我们从头开始重新提交同一个应用程序作为 1.0 版时,它通过了。
网络可达性。 如果您的应用程序需要任何类型的网络访问,您需要确保它在该访问不可用时正常工作。 如果不符合,就会被拒绝。 Apple 提供了示例代码来测试此功能,在大多数情况下您可以按原样使用: https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html
最后但并非最不重要的一点:
编辑:
这是最近一篇关于十个 iPhone 应用程序的文章的链接不要打造苹果的应用商店。
提示:Apple 有一个名为“Application Loader”的 Mac 应用程序,您可以安装它。 安装后,它会分析您应用程序的 zip 文件。 在提交给 Apple 之前,它会验证所有证书、图标和其他内容是否正确。 使用应用程序加载器可以最大限度地减少应用程序被拒绝的机会。
另一个有趣的资源:App Store 圆桌会议:透明度和审批系统 (appleblog.com)
另一项编辑:
2010 年 2 月的新规则:“不得穿泳衣、裸露肌肤、不得含沙射影”(来源:TechCrunch 文章,Wobble 作者的博客)
顺便说一句:在 iPhone 3.0 预览活动期间(2009 年 3 月)苹果发言人表示,所有提交的申请中有 96% 获得批准。
Here are possible reasons (unofficial, from here):
Vibration. It is not permitted to use continuous vibration in your apps - short bursts as warnings is all that is allowed. Don’t bother trying to set up a timer to keep the vibration going, it will cause your app to be rejected.
Linking to private frameworks. This is obvious, but somehow in playing around with stuff we had linked to the MoviePlayer.framework. That’s a no-no, and cost us about ten days while we unlinked that framework, recompiled, and then resubmitted.
Improper handling of editing in tableview cells. Also obvious, but be aware that if you enable table cell editing, you’ll have to manually specify which cells should respond to editing controls and which should not. We had some random prefs cells in one of our early apps that were able to be swiped to bring up a ‘delete’ badge. Of course it didn’t do anything, but Apple justly considered this poor design and rejected our app.
Icons. Make sure the 57 pixel icon is identical to the 512 pixel version. Also, use a different icon if you are creating ‘lite’ and ‘pro’ versions of your app (i.e., free and paid). Using the same icon for both sends your app straight to … you guessed it … the bin.
Copying existing functionality. This one is much more subtle and insidious, and has probably affected the great percentage of developers. In addition to the widely publicized Podcaster debacle, reports from user comments indicate that Apple is casting a wide net when looking for duplicated functionality. Mini web browsers, or apps that essentially show web pages, seem particularly vulnerable, even if they add new and/or useful functionality. Stay away from email clients as well.
Using appropriate keyboard type. If your app asks for a phone number or other numeral-only input and you present a keyboard that also includes the possibility of entering standard alpha-numeric input … yep. (Thanks Jeremy1026)
Version numbers. If your app is currently at version 0.99 or below, you’d better consider giving it a promotion as Apple seems to prefer 1.0 and above. One of ours was recently rejected for being .016, with a message suggesting that our version number wasn’t even numeric. When we resubmitted the same app from scratch as version 1.0, it went through.
Network Reachability. If your app requires any type of network access you need to make sure it works when that access isn't available. If it doesn't it will be rejected. Apple provides sample code to test this which you can use as-is in most cases: https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html
And last, but not least:
Edit:
Here is a link to a recent article about ten iPhone Apps That Didn't Make Apple's App Store.
And a tip: Apple has a Mac app called Application Loader that you could install. Once you install it, it analyzes your app's zip file. It verifies all the certificates, icons, and other things are correct before submitting to Apple. Using the Application Loader minimizes your chances of app rejection.
Another interesting resource: App Store Roundtable: Transparency and the Approval System (appleblog.com)
Yet another edit:
New rules by February 2010: "No Swimsuits, No Skin, And No Innuendo" (source: TechCrunch article, Wobble author's blog)
By the way: during the iPhone 3.0 preview event (march 2009), an Apple spokesman told that 96% of all submitted application were approved.
Apple 现已(截至 2010 年 9 月 9 日)发布了应用程序商店审核指南的官方列表:
应用商店批准指南
(需要苹果开发者登录)
或此处的镜像:
应用商店指南
Apple have now (as of 9th September 2010) published their official list of app store review guidelines:
appstore approval guidelines
(apple developer login required)
or a mirror here:
app store guidelines
苹果将来会想要创建这样的应用程序吗?
如果(是)拒绝
。您是否有一个非常棒的想法,苹果可能希望在未来使用
if(yes)reject
Will apple want to create an app like that in the future?
If (yes) reject
.Do you have a really awesome idea that apple may want to use in the future
if(yes) reject
以下是 SDK 公告的视频,其中描述了 Apple 发布的拒绝标准列表:
SDK 公告
正如其他人指出的那样,苹果似乎还有许多其他未公开的条件。 请注意,拒绝通知现已包含在保密协议中 。
Here's the video of the SDK announcement that describes Apple published list of rejection criteria:
SDK Announcement
As others have noted, Apple also seem to have a bunch of other conditions that they don't publicise. Note that rejection notices are now covered by the NDA.
我无法证实这一点,但这是有道理的,但人们报告说他们的应用程序因太简单或太琐碎而被拒绝。
I can't confirm this but it makes sense, but people are reporting their apps being rejected for being too simple or too trivial.
刚刚因处理网络中断问题而受到反弹。 如果您连接到网络,请准备好处理可能出现的任何错误情况。
Just got a bounce for handling network outages badly. If you connect to the network, be prepared to handle any error conditions that may come up.
我的付费版本的应用程序被应用商店拒绝了。
购买并下载应用程序后,第一个屏幕是“用户协议”,当用户点击“我同意”时,他才能继续使用应用程序。
Apple 描述了拒绝的原因“当用户从应用商店购买应用程序并在手机中下载时,您不得限制用户同意协议”,而是在 iTunes 中下载应用程序之前显示您的协议。
My paid version of app was rejected by appstore.
After Purchasing and downloading app first screen was "User Agreement" and when user taps on " I agree" only then he is able to continue using app.
Apple described the reason of rejection "when user purchased app from appstore and download in phone then you must not restrict user to Agree with Agreement" instead display your agreement before downloading app in iTunes.
令人惊讶的是,应用程序可能会因为试图保持其界面与 Apple 自己的界面一致而被拒绝应用。 (即使用捏缩放/展开手势)
Amazingly, apps can get rejected for trying to keep their interface consistent with Apple's own apps. (ie, using pinch zoom/expand gestures)
我知道有一个网站可以帮助您利用 iPhone 产生出色的广告创意。 看这个网站:
http://itunes.apple.com/app/adpack/id359562015?mt= 8
There is a site I know which can help you generate great advertising ideas with iPhone. see this site:
http://itunes.apple.com/app/adpack/id359562015?mt=8
我向应用程序商店提交了一个付费应用程序,但遭到拒绝,我了解到应用程序拒绝的另一种可能性
我的应用程序启用了游戏中心。 当应用程序启动时,第一个屏幕是登录屏幕,提示用户通过 GameCenter 登录才能继续。
他们拒绝了该应用程序,给出的理由是:尽管用户付费下载应用程序,但除非他未登录游戏中心,否则将无法获得您应用程序的服务。 您不能限制用户每次在应用程序启动之前都通过 Game Center 登录。
I submitted a paid app to app store but get rejected and i learned another possibility of app rejection
My app was Game Center enabled. When app starts first screen was login screen that prompt user to login through GameCenter to continue.
They rejected the app giving reason- As user will not be able to get services of your app unless he is not logged in with Game Center although he paid you to download app. You cannot restrict user to login through Game Center each time before app starts.
从2013年5月1日起,如果我们不支持iPhone 5,您的应用程序将被拒绝。所以iPhone 5支持是必须的。
From 1st May,2013 onwards if we don't support iPhone 5, your app will be rejected.So iPhone 5 support is must.