我有一个关于iPhoneOS3.1SDK目录中私有框架的问题。
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/
它们是什么?当我将其中一个添加到我的项目中时,它们没有任何头文件?如何在我的项目中使用它们?
我有一个关于iPhoneOS3.1SDK目录中私有框架的问题。
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/System/Library/PrivateFrameworks/
它们是什么?当我将其中一个添加到我的项目中时,它们没有任何头文件?如何在我的项目中使用它们?
私有框架是您不允许使用的框架。它们不应在苹果公司外部使用,因此被称为“私有”。它们通常是较低级别的库,如果使用不正确,可能会“破坏”系统。(但是这些框架必须存在,因为苹果的应用程序和公共框架确实使用了这些私有框架。)
由于私有框架不适用于公众使用,苹果不需要公开任何头文件或文档。
如果你正在为AppStore编写代码,不应该使用私有框架(除非你来自苹果公司)。在审核过程开始之前,系统将立即拒绝您的应用程序。
另一方面,在越狱平台上,您可以自由使用任何框架。即便如此,私有框架的API并不稳定,如果可能的话还是应该避免使用它们。
目前正在努力记录这些私有框架和API,网址是http://iphonedevwiki.net/index.php/Main_Page。
虽然其他答案通常是正确的,但有一个小例外值得一提。
在某些情况下,私有框架的某些内容(除了代码库之外,它们通常包含数据库和类似的二进制非可执行文件)可以在应用商店应用程序中使用(捆绑)。其中一个例子是@rmaddy的RMPhoneFormat类,它使用“名为Default.phoneformat的Apple提供的私有框架文件的副本”。作者(毫无疑问,其他开发人员也是如此)已经在应用商店应用程序中使用了这个二进制文件没有问题。
(我不知道这是因为苹果容忍这种做法,还是他们在审批过程中只是不检查这种类型的使用。)