I\'ve read several articles about this, and I just want to see if I understand this correctly:
Apple will reject your app if you use a Private API...
Q. What is the main difference between a "Private API" and a "Non-private API?"
Q. Are the "Non-private" APIs only the APIs provided and verified by Apple?
Q. Isn't an API just a way of interacting with a Framework, and a Framework is just a set of encapsulated classes/headers that people can use for trivial purposes?
Q. Wouldn't this mean that I cannot reuse anyone's code (other than Apple's) at all in my app?
Q. If this is true, whenever a programmer makes his or her own custom classes and methods, isn't he technically designing a mini Framework just for his specific purpose? So wouldn't this mean that he is using his own private API?
Q. What would even be the difference between using someone else's classes/methods alongside my classes/methods, how could they even tell the difference, and why would this be a problem?
The point you need to get is that when referring to private APIs you should only be thinking about private Apple supplied APIs.
Other APIs from 3rd parties are different (and Apple doesn't care so long as that 3rd party code doesn't use Apple private APIs).