What is the Private API and why does Apple reject the iOS application if it is used?

I read several articles about this and I just want to understand if I understand it correctly:

Apple will reject your application if you use a private API ...

  • What is the main difference between a "Private API" and a "non-private API?"

  • Are “non-private” APIs only APIs provided and verified by Apple?

  • Isn't the API just a way to interact with the Framework, but is the Framework just a collection of encapsulated classes / headers that people can use for trivial purposes?

  • Does this mean that I cannot reuse any code (except Apple) in general in my application?

  • If this is true, whenever a programmer makes his own classes and methods, doesn't he technically develop a mini-Framework just for his specific purpose? So does this mean that he uses his own private API?

  • What is the difference between using other classes and methods next to my classes / methods, how can they even tell the difference and why would this be a problem?

My understanding of this sounds absurd and I don't believe that I understand what a "private API" is. I read that it should protect against any changes in the API that could make your application dysfunctional. Does this mean that the APIs are linked at runtime (as opposed to compile time) and can be automatically updated without your knowledge or anything else? (You see, I initially thought of APIs / frameworks as being set to stone whenever you compile, maybe this is where I am wrong)

Can anyone help me out? I am really confused by this policy. Thank!

+45
private api ios iphone frameworks
Jul 10 '13 at 20:25
source share
1 answer

Q. What is the main difference between a "Private API" and a "non-private API?"

  • Private is one that is not publicly available (there aren’t so many)

Q. Are “non-private” APIs only APIs provided and verified by Apple?

  • Private and public APIs are both provided by Apple, but only public APIs are available to you.
  • Private APIs Designed For Apple Only

Q. Isn't the API a way to interact with the Framework, and is the Framework just a collection of encapsulated classes / headers that people can use for trivial purposes?

  • Yes

Q. Does this not mean that I cannot reuse any code (other than Apple) at all in my application?

  • No

Q. If so, every time a programmer makes his own classes and methods, does he not develop a mini-Framework for his specific purpose only? So does this mean that he uses his own private API?

  • No (wireframe is different from the application)

Q. What is the difference between using other classes / methods next to my classes / methods, how can they even tell the difference, and why will this be a problem?

  • Usually it was not



What you need to get is that when referring to private APIs, you should only think about the private APIs provided by Apple.
Other third-party APIs are different (and Apple doesn't care until this third-party code uses Apple's private APIs).

+37
Jul 10 '13 at 20:29
source share



All Articles