20

在 App Store Review Guidelines 中,它说非公开应用程序将被拒绝。这是什么意思?

privateAPIs和 Non public 和有什么不一样APIs

我正在使用API我的客户在我的应用程序中获取我的数据UIWebview,这属于非 publicAPI吗?

帮我。

4

4 回答 4

21

非公共 API 是指未记录并提供给程序员的 Apple API 方法。

Apple 不保证这部分 API 将在未来的升级中正常工作。他们可以自由地改变这部分。

他们禁止使用,这样您的应用程序就不会在 iOS 更新中中断,从而保护您的应用程序的未来用户/购买者!

网络服务是外部的,因此不属于非公开的。这部分你需要保证,不是苹果。

于 2012-12-25T10:04:05.557 回答
8

没有区别。它们都表示任何未记录的 iOS API。

外部 API 不算数,因为它们与 iOS 本身无关,因此只要您不在 Objective-C 代码中使用未记录的调用,您就很安全。

于 2012-12-25T10:01:17.797 回答
2

在 iOS 的发展过程中,Apple 通常从拥有一个私有 API 开始,直到它被完善和记录到足以让开发人员使用它。

iOS 上的方法和类比您拥有的标头或文档要多得多。例如,有一个类将 NSAttributedString 转换为 HTML,名为 NSHTMLWriter。这没有记录也没有公开,但由 UITextView 在内部使用。

私有 API 的其他示例包括直接访问蜂窝网络信息、低级硬件访问或与确切的电池负载百分比一样良性的内容(公共 API 仅返回 5% 的增量)

不公开 API 允许 Apple 进一步完善它,甚至可能更改名称,这会破坏依赖先前命名的软件。苹果可以做到这一点,因为他们控制着所有的系统软件。要更改已发布 API 中的某些内容,他们必须与弃用共舞。

App Store Review 团队有一个扫描器应用程序,它可以查看您提交的应用程序并标记对未记录的方法和类的所有调用。有一些方法可以规避那些使用混淆方法选择器的方法,但通常您希望与 Apple 相处融洽,因为如果您违反规则,他们不喜欢它。

有一些非常罕见的例子,其中私有 API 被追溯公开。即 iOS 5 中已经存在的一种方法,Apple 允许我们使用它,即使没有文档,只有技术说明。

总结:仅使用您在 Apple 官方文档中找到的类和方法。

PS:有一些方法可以通过官方渠道从 UIWebViews 获取数据。此处更详细的技术答案完全取决于您要做什么。

于 2012-12-25T10:07:36.823 回答
0

Objective C 允许以不同的方式使用内部(私有)方法。苹果要求的是不要使用他们的框架中的方法,这些方法不是设计用于“客户端”代码的。因此,当您访问私有方法时,属性并不好。

于 2012-12-25T10:06:34.583 回答