41

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

4

6 回答 6

55

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

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

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

商店中有很多应用程序存在内存泄漏或其他性能问题。我知道我提交的应用程序版本存在细微泄漏(自修复以来)并且审核没有问题。因此,他们似乎没有进行任何类型的性能测试或分析。

内存泄漏导致审查问题的唯一地方是内存泄漏严重到应用程序在审查者测试时崩溃。如果您的申请在审核过程中的任何时候崩溃,它将被拒绝。

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

Apple 对版权非常谨慎,尤其是对他们自己的图像和艺术品而言,因此如果您不当使用受版权保护的材料,您可能会遇到麻烦。

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

于 2010-07-06T17:27:09.930 回答
4

尝试自己使用 otool -L 二进制文件,您可以立即看到是否使用了私有 API 框架...

于 2011-02-04T09:56:22.217 回答
2

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

您可能想尝试nm -u使用您的(模拟器)二进制文件。

于 2010-07-06T13:57:20.943 回答
1

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

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

于 2010-07-06T13:39:53.787 回答
1

他们无权访问您的资源;它不是您发送给他们的内容的一部分。他们测试您发送给他们的二进制文件是否存在泄漏等。我认为他们还会检查您的应用程序发送的数据,以确保它没有做任何非常糟糕的事情(发送密码等)。

于 2010-07-06T13:44:28.900 回答
0

他们只接收您的 ipa 二进制文件。他们可以在提取 ipa 时获取您的一些资源文件。他们可以找到您在 Web 服务或 url 请求中使用的所有 url。除此之外没有别的。

于 2015-10-15T11:19:51.393 回答