什么是非公开API?
在App Store评论指南中,它表示非公开的应用程序将被拒绝。 这是什么意思?
私有APIs
和非公开APIs
什么区别?
我正在使用我的客户端的API
来获取我的应用程序中的UIWebview
的数据,这是非公开API
的?
帮我。
非公开API是指没有logging并提供给程序员的Apple API方法。
苹果公司并不保证这部分的API将在未来的升级工作。 他们可以自由地改变这个部分。
他们禁止使用,以便您的应用程序不会在iOS更新中破坏,从而保护您未来的应用程序用户/购买者!
web服务是外部的,因此不属于非公开的。 这部分你需要保证,而不是苹果。
没有区别。 它们都是指没有logging的任何iOS API。
外部的API不算数,因为它们与iOS本身无关,所以只要你不在Objective-C代码中使用未公开的调用,就是安全的。
在iOS的发展过程中,苹果公司通常首先要有一个私有的API,直到它被抛光和logging到足以让开发者使用它为止。
在iOS上有更多的方法和类比你有标题或文件。 例如有一个类将NSAttributedString转换为HTML,名为NSHTMLWriter。 这是没有logging和不公开,但由UITextView内部使用。
私有API的其他示例包括直接访问诸如蜂窝networking信息,低级硬件访问或像确切的电池负载百分比那样良好的东西(公共API仅返回5%递增)
不使API不公开允许苹果进一步抛光它,甚至可能更改名称,这将打破软件依靠以前的命名。 苹果公司可以做到这一点,因为他们控制所有的系统软件。 要改变已发布的API中的某些内容,他们必须这样做,弃用。
App Store Review小组有一个扫描器应用程序,它可以查看您提交的应用程序,并将所有调用标记为未logging的方法和类。 有些方法可以通过混淆方法select器来绕过这些方法,但是通常情况下,您想与苹果公司打好关系,因为如果违反了规则,他们就不喜欢它。
有一些非常罕见的例子,其中私有API被追溯公开。 即苹果允许我们使用的iOS 5中已经存在的方法,即使没有文档,也只有技术说明。
总结:只能使用您在Apple官方文档中find的类和方法。
PS:有方法通过官方渠道从UIWebViews获取数据。 更详细的技术答案完全取决于你想要做什么。
Objective C允许以不同的方式使用内部(私有)方法。 苹果所要求的是不使用框架中不被devise用于“客户”代码的方法。 所以当你访问私有方法时,属性不好。