在App Store审查指南中,它说非公共应用程序将被拒绝。什么意思?
私有APIs
和非公共APIs
之间的区别是什么
我正在使用我的客户端的API
获取我的应用程序中UIWebview
的数据,这是否属于非公共API
?
帮帮我。
发布于 2012-12-25 18:04:06
非公共API指的是未记录并提供给程序员的Apple API方法。
Apple不保证API的这一部分在未来的升级中会起作用。他们可以自由地更改这一部分。
他们禁止使用,这样你的应用程序就不会中断iOS更新,从而保护你的应用程序的未来用户/购买者!
webservice是外部的,因此不属于非公共类。这部分你需要保证,而不是苹果。
发布于 2012-12-25 18:01:18
这是没有区别的。它们都指的是任何没有文档记录的iOS应用程序接口。
外部API不算数,因为它们与iOS本身无关,所以只要不在Objective-C代码中使用未记录的调用,就是安全的。
发布于 2012-12-25 18:07:37
在iOS的发展过程中,苹果通常从拥有一个私有的应用程序接口开始,直到它得到完善并有足够的文档允许开发人员使用它。
iOS上的方法和类比您的头或文档中包含的多得多。例如,有一个名为NSHTMLWriter的类可以将NSAttributedString转换为HTML语言。这没有文档记录,也没有公开,但由UITextView在内部使用。
私有API的其他示例包括直接访问蜂窝网络信息、低级硬件访问,或者像确切的电池负载百分比一样良性的东西(公共API只返回5%的增量)
不公开API允许苹果进一步完善它,甚至可能更改名称,这将破坏软件对以前命名的依赖。苹果可以做到这一点,因为他们控制着所有的系统软件。要更改已发布的API中的某些内容,他们必须使用弃用来跳这段舞。
App Store审查团队有一个扫描器应用程序,可以查看您提交的应用程序,并标记对未记录的方法和类的所有调用。有一些方法可以用模糊方法选择器来规避这些,但通常你想和苹果玩得很好,因为如果你违反了规则,他们就不会喜欢你。
有一些非常非常罕见的例子,其中私有API是追溯公开的。也就是说,iOS 5中已经存在一种方法,苹果允许我们使用该方法,尽管没有相关文档,只有技术说明。
总结:仅使用在Apple官方文档中记录的类和方法。
PS:有一些方法可以通过官方渠道从UIWebViews获取数据。这里更详细的技术答案完全取决于您正在尝试做什么。
https://stackoverflow.com/questions/14029597
复制相似问题