Reputation: 63
My Question is about private framworks in IphoneOS3.1SDK dirctory
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/
What are they ? and when i added one of them to my project, they didn't have any headers? How can i use them in my project?
Upvotes: 6
Views: 28923
Reputation: 2049
While the other answers are generally true, there is one small exception that deserves to be mentioned.
There are some cases where certain contents of private frameworks (besides code libraries there are often databases and similar binary, non-executable files inside them) can be used (bundled) in App Store apps. One such example is the RMPhoneFormat class from @rmaddy, which uses "a copy of an Apple provided private framework file named Default.phoneformat". The author (no doubt other developers as well) has used this binary file in App Store apps without problems.
(I don't know whether this is due to the fact that Apple tolerates this practice, or that they just don't check for this type of usage in their approval process.)
Upvotes: 0
Reputation: 523714
Private frameworks are frameworks which you are not allowed to use. They are not expected to be used outside of Apple, hence "Private". They are often lower-level libraries which may "break" the system if not used correctly. (But the frameworks have to exist because Apple's apps and public frameworks do use the private frameworks.)
Since the private frameworks are not for public use, Apple doesn't need to give any headers or documentations away.
If you're writing for AppStore, you should not use private frameworks (unless you're from Apple). The system will immediately reject your app even before the review process begins.
(On the other hand, for jailbroken platforms you're free to use any frameworks. Even so, the APIs of private frameworks is unstable, that you should avoid them if possible.
There is an ongoing effort to document these private frameworks and API in http://iphonedevwiki.net/index.php/Main_Page.)
Upvotes: 11
Reputation: 22116
Avoid using private frameworks if you would like to submit your App to Apple. Otherwise, you may call any of the available private methods with your own code. Erica Sadun has some info regarding private frameworks on her site.
Upvotes: 3