究竟什么是私有API,为什么Apple会拒绝使用iOS应用程序?

时间:2013-07-10 20:25:49

标签: iphone ios api frameworks private

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

如果您使用私有API,Apple将拒绝您的应用...

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

  2. “非私人”API是否仅由Apple提供和验证的API?

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

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

  5. 如果这是真的,那么每当程序员制作自己的自定义类和方法时,他是否只是为了特定目的而在技术上设计迷你框架?那么这不意味着他正在使用自己的私有API吗?

  6. 在我的课程/方法中使用别人的课程/方法之间的区别甚至是什么,他们怎么能分辨出差异,为什么会出现这个问题呢?

  7. 我对此的理解听起来很荒谬,并且不相信我理解“私有API”是正确的。我确实读到它是为了防止API中的任何更改可能导致您的应用程序功能失常。这是否意味着API在运行时链接(与编译时相反),并且可以在您不知情的情况下自动更新? (看,我原本认为API /框架在你编译的时候都是一成不变的,也许这就是我错的地方)

    有人可以帮帮我吗?我对这个政策感到很困惑。谢谢!

1 个答案:

答案 0 :(得分:42)

  

Q值。 “私有API”和“非私有API”之间的主要区别是什么?

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

Q值。 “非私有”API仅是Apple提供和验证的API吗?

  • 私有和公共API均由Apple“提供”,但仅提供公共API供您使用。
  • 私有API仅供Apple使用
  

Q值。 API不仅仅是一种与Framework交互的方式,而Framework只是一组人们可以用于琐碎目的的封装类/头文件吗?

  

Q值。 这是否意味着我不能在我的应用程序中重复使用任何人的代码(Apple除外)?

  • 没有
  

Q值。 如果这是真的,那么每当程序员制作自己的自定义类和方法时,他是否只是为了他的特定目的而在技术上设计迷你框架?那么这不意味着他正在使用自己的私有API吗?

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

Q值。 使用别人的类/方法和我的类/方法之间的区别甚至是什么,他们怎么能分辨出差异,为什么会出现这个问题呢?

  • 通常不会

您需要了解的是,在引用私有API时,您应该只考虑Apple提供的私有API 来自第三方的其他API是不同的(只要第三方代码不使用Apple私有API,Apple就不会关心。)