嗨,我正在尝试创建一个可以添加到任何 ios 项目的静态库,但我只能让它工作,如果我在 ios3 中构建库,它将适用于 ios3 项目,但不适用于 ios4,反之亦然。
我得到的错误是:
未定义符号:“.objc_class_name_UIImage”,引用自:literal-pointer@ _OBJC@ _cls_refs@UIImage in Test3-Release.a(TestViewController.o) “.objc_class_name_NSNotificationCenter”,引用自:literal-pointer@ _OBJC@ _cls_refs@NSNotificationCenter在 Test3-Release.a(Test.o)
所以看起来它没有为库找到 Foundation 和 UIKit 框架?
这是我到目前为止所做的:
我有 2 个项目:1 是一个带有库构建目标的库项目。另一个是尝试使用第一个库中构建的库的测试项目。
1)使用静态库目标创建一个项目并添加所有实现文件
2) 将 UIKit、Foundation 等库添加到“Link Binary with Libraries”文件夹中,并将所有链接库设置为在我的库目标中具有弱类型。
3)构建库,将其与我的头文件一起添加到我的测试项目中。
4)在我的测试项目中,我为所有构建配置将其他链接器标志设置为 -ObjC -all_load
当我编译时,它给了我一堆错误,就好像我没有包含任何框架一样。
有人对我应该做什么有任何想法吗?
提示(也许?)我还注意到,将任何框架添加到我的库目标中的“Link Binary with Libraries”文件夹似乎没有任何作用。我将 CoreLocation 添加到该文件夹,但是当我尝试在我的测试项目中编译时,它不会编译,直到我将 CoreLocation 添加到我的测试项目框架文件夹中。