2010-07-06 139 views
32

苹果如何批准应用程序?是否查看了实际的源代码?苹果是否在批准应用程序时查看实际的源代码?

+7

有关审批程序的更多信息:http://images.pcworld.com//news/graphics/165880-appstorecomic_original.jpg – iwasrobbed 2010-07-06 14:20:51

+1

这很有趣,:D但无益。所以我应该放弃我的想法,并制作一个手电筒,在发射时崩溃? :P – jarryd 2010-07-06 17:09:01

回答

44

虽然我们没有人可以访问内部审查流程(似乎不断变化),但根据人们收到的回复可以说有几件事可以说。

首先,Apple无法访问您的源代码,因此他们不会检查它。您提交二进制文件作为应用程序包的一部分,以及其他应用程序资源。

但是,它们确实会扫描您的应用程序的二进制文件中是否存在某些指示使用私有API的符号。许多应用程序在iPhone OS更新后开始崩溃,因为它们使用了这些私有API,因此Apple一直在对此进行打击。

商店里有很多应用程序存在内存泄漏或其他性能问题。我知道我已经提交了我的应用程序版本,这些版本有微妙的泄漏(从固定版本开始),并且在审查时没有问题。因此,他们似乎没有进行任何类型的性能测试或性能分析。

内存泄漏导致执行审查问题的唯一原因是内存泄漏变得非常糟糕,以至于当审阅者正在测试它时应用程序崩溃。如果您的应用程序在审核过程中的任何时候崩溃,它将被拒绝。

除此之外,他们有一个用户界面元素的清单,他们检查正确使用(在表视图行上没有持久选择等)。如果您的应用程序在使用这些标准UI元素时明显偏离Human Interface Guidelines,则可能会被拒绝。

苹果对版权非常小心,特别是对于他们自己的图像和艺术品,所以如果您不正确地使用版权材料,可能会遇到麻烦。

通过使应用程序稳定并遵循平台指南,您将面临的大多数拒绝原因都是可预防的,但有些则不是。某些类别的应用程序由于其预期用途而被拒绝,并且商店允许的应用程序类别也会定期更改。这可能会增加与App Store打交道时的挫折感和不确定性,但绝大多数应用程序类型永远不会遇到问题(从当前可用的应用程序的多样性中可以看出)。

+0

很好答案。谢谢 – jarryd 2010-07-06 17:50:40

+0

这是错误的。 Apple可以访问您的源代码:当您提交应用程序时,API的使用情况会在您的机器上由Apple的开发人员工具进行分析,并在提交应用程序之前发送给Apple。 – MacMark 2012-01-22 15:41:00

+3

@MacMark - 不,他们没有,那不会发生。你在你的机器上建立一个二进制文件,并发送他们二进制文件。从Objective-C编译的二进制文件可以为它们调用的方法保留符号,因此可以转储和扫描这些二进制文件。另外,苹果公司可能会在他们自己的专门构建的框架中运行你的二进制文件,并且看看这个二进制文件何时向它不应该发出的东西发出响应。鉴于发生与苹果私人产品匹配的方法的人误报的情况,符号扫描方法最有可能。 – 2012-01-22 17:30:42

1

不,他们只能访问您发送的二进制代码。

他们可以通过探查器来检查内存泄漏等。

1

他们无法访问您的源代码;这不是你发给他们的一部分。他们测试你发送给他们的泄漏等二进制文件。我认为他们还会检查你的应用程序发送了什么数据,以确保它没有做任何异常糟糕的事情(发送密码或类似内容)。

2

Apple不关心应用程序的泄漏和分析信息。操作系统能够杀死你的应用程序,如果它失控。他们实际上做的是手动运行你的应用程序,并检查它是否遵循一些苹果指南。在自动化过程中,他们从二进制文件中提取符号,选择器和字符串,并检查这些是否使用私有API。

您可能想要在(模拟器)二进制文件上尝试nm -u

4

尝试otool -L二进制自己使用,你可以立即看到,如果习惯了私人API框架...

0

他们只仅接收IPA你binray文件。他们可以在提取ipa时获取一些资源文件。他们能够找到您在网络服务或网址请求中使用的所有网址。除此之外没有别的。

相关问题