首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么是非公共API?

什么是非公共API?
EN

Stack Overflow用户
提问于 2012-12-25 17:58:41
回答 4查看 11K关注 0票数 20

在App Store审查指南中,它说非公共应用程序将被拒绝。什么意思?

私有APIs和非公共APIs之间的区别是什么

我正在使用我的客户端的API获取我的应用程序中UIWebview的数据,这是否属于非公共API

帮帮我。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-25 18:04:06

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

Apple不保证API的这一部分在未来的升级中会起作用。他们可以自由地更改这一部分。

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

webservice是外部的,因此不属于非公共类。这部分你需要保证,而不是苹果。

票数 21
EN

Stack Overflow用户

发布于 2012-12-25 18:01:18

这是没有区别的。它们都指的是任何没有文档记录的iOS应用程序接口。

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

票数 8
EN

Stack Overflow用户

发布于 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获取数据。这里更详细的技术答案完全取决于您正在尝试做什么。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14029597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档