views:

208

answers:

4

Hi, I need to get some general information on private API usage (e.g. Apple80211...): Up to now I was in the opinion, that I would need a jailbroken iPhone in order to run apps using this APIs. I'm a bit buffled now, because it seems, that I can create and run apps using it on my iPhone, e.g. directly from XCode. Is it just a matter of distribution, which make jailbroken phones necessary, because I cannot distribute apps using private APIs over the app store?

Hope, this isn't a criminal question :)

+2  A: 

This is correct. Apple will be able to tell that you are using private APIs when you submit your app (they use an automated mechanism for that) and will most definitely reject your app. Recent exception

You can however ship the app to jailbroken devices.

Felix
+2  A: 

Yeah, private APIs will work, but may break with an oS update. Apple keeps them private for this very reason. I'm sure that sooner or later most of these will be publicly available - or at least hope so.

Your question isn't criminal. It's not illegal to use these APIs, but Apple will reject your app if you decide to use them.

Jack
A: 

Thanks so far. Additional question: Is there an up-to-date list of private APIs allowed to be used available?

Kind regards

neil
A: 

Private APIs are not allowed to be used in App Store apps. Erica Sadun has created a documentation set for every class in the iPhone SDK here. This is for OS 3.1.2, but I'm certain that the latest OSs will be added soon.

Jack