什么是私人API,为什么苹果拒绝iOS应用程序?

我已经阅读了几篇关于这方面的文章,我只是想看看我是否正确理解这一点:

如果您使用私有API,苹果将拒绝您的应用程序…

  1. “私有API”和“非私有API”之间的主要区别是什么?

  2. “非私有”API是否仅由苹果提供和validation的API?

  3. 是不是一个API只是一个与框架交互的方式,一个框架只是一个封装的类/标题,人们可以用于琐碎的目的?

  4. 这不是说我不能在我的应用程序中重复使用任何人的代码(Apple除外)?

  5. 如果这是真的,每当程序员自己定制类和方法时,是不是在技术上为他的具体目的而devise一个迷你框架呢? 那么这是不是意味着他正在使用他自己的私人API?

  6. 甚至在我的类/方法中使用别人的类/方法,他们甚至可以说出不同,为什么这会成为一个问题呢?

我对此的理解听起来很荒谬,不相信我理解什么是“私人API”是正确的。 我确实读过这是为了防止API的任何变化,可能导致您的应用程序function失常。 这是否意味着API在运行时间被链接(而不是编译时间),并且可以自动更新而不知道或者什么? (请参阅我原本以为API /框架在编译的时候就被设置为石头,也许这就是我错误的地方)

有人可以帮我吗? 我对这个政策非常困惑。 谢谢!

:“私人API”和“非私人API”之间的主要区别是什么?

  • 私人是一个没有公开的定义(没有多less)

问: “非私人”API是否仅提供由Apple提供和validation的API?

  • 私人和公共API都由苹果“提供”,但只有公共API提供给您使用。
  • 私有API仅供Apple使用

:API不仅仅是一种与框架进行交互的方式,框架只是一组封装的类/头文件,人们可以将其用于简单的目的?

问: 这是不是意味着我不能在我的应用程序中重用任何人的代码(Apple除外)?

  • 没有

问: 如果这是真的,那么程序员自己定制类和方法时,是不是在技术上为他的特定目的devise一个迷你框架? 那么这是不是意味着他正在使用他自己的私人API?

  • 否(框架与应用程序不同)

问: 在我的类/方法旁边使用别人的类/方法,甚至可以区别使用别人的类/方法,他们甚至可以说出区别,为什么这会成为一个问题?

  • 通常不会

您需要得到的一点是,当提到私有API时,您应该只考虑私有的Apple提供的API。
来自第三方的其他API是不同的(只要该第三方代码不使用Apple私有API,Apple也不在意)。