为什么Apple不能使私有API无法访问?

时间:2010-04-19 00:56:12

标签: iphone ipod-touch iphone-privateapi

如果Apple不希望开发人员在iPhone SDK中使用私有API,为什么他们不会使用与C#的“内部”关键字相当的Objective-C来标记类和/或方法?如果API分布在多个二进制文件中,Apple可以将它们重构为专用的私有API二进制文件,以使它们更容易。

2 个答案:

答案 0 :(得分:5)

Objective-C没有C#的“内部”或Java的“最终”关键字的等价物。我认为这与语言的动态性有关,无论如何,任何这样的功能都很容易解决。

关于iPhone SDK,所有库都需要静态编译到应用程序中,不允许动态链接。因此,即使可能,将功能设置为“内部”也不会对可见性产生任何影响。

答案 1 :(得分:0)

简短回答,他们没有将它们标记为私人,因为他们根本没有描述它们。

您不应发送的消息不会出现在SDK中相应的.h文件中。

私人API通常由人们使用类似转储等工具在二进制框架中找到,而不是通过读取头文件。