【发布时间】:2013-03-31 04:11:57
【问题描述】:
最近我收到了 Apple 的拒绝,因为我使用了私有 API。我不确切知道什么是私有 API 或未记录的方法。有人可以解释一下什么是未记录的方法和私有 API 吗?我真的很困惑……
跟进:
- 究竟什么是“官方文档”?我可以使用一些由第三方制作的框架和类,例如 Amazon 的吗?
【问题讨论】:
标签: ios appstore-approval iphone-privateapi
最近我收到了 Apple 的拒绝,因为我使用了私有 API。我不确切知道什么是私有 API 或未记录的方法。有人可以解释一下什么是未记录的方法和私有 API 吗?我真的很困惑……
跟进:
【问题讨论】:
标签: ios appstore-approval iphone-privateapi
有一组功能供 Apple 内部使用,但不向开发人员公开。
任何此类 API 的使用都将导致 Apple 拒绝该应用程序。
【讨论】:
私有 API 或未记录的方法是不属于官方文档的任何对象或方法。在 Objective C 和其他一些语言中,查找对象支持的方法(消息)列表以及框架下的对象相对容易。 (例如,只需进入调试器并查看视图层次结构。您可能会看到文档中不存在的几个视图对象。)有时您甚至会在 Web 上看到有关如何使用这些方法和对象的说明.
想到的一个例子是-UIWindow _autolayoutTrace,我在调试自动布局时一直使用它,但它没有记录在案,前导下划线暗示你不应该使用它。这对于调试来说很好,但是如果我发布了使用该方法的代码,它肯定会被拒绝。
但作为 App Store 审核流程的一部分,Apple 会专门扫描这些未记录的方法,并拒绝使用这些方法的应用。这是因为 Apple 可能会随时更改这些未记录的方法的工作方式。如果您的应用依赖于这些隐藏的类或方法之一,那么当 Apple 发布改变此行为的新版 SDK 时,您的应用可能会中断。
【讨论】: