我有几个共享许多相同的类和自定义视图/视图控制器的项目,所以我创建了一个自定义静态库,其中包含这些常用类,以便直接在我的客户端项目中使用。Xcode无法识别我的自定义库中的ViewContoller
这是我所采取的步骤:
我创建和编译静态库,复制产生的u和公共.h文件放到一个文件夹我的桌面(MYLIB)上。
我将myLib文件夹拖放到客户端项目中。我通过引用复制,并没有复制我的客户端项目下的物理文件。如预期的那样,目标的构建阶段“与库链接二进制文件”阶段自动包含.a文件。
我引用了View Contollers使用客户端项目的故事板。这些类按预期自动完成,所以Xcode认识到它们的存在。
我在我的客户端项目构建设置和目标构建设置下设置了-ObjC和-all_load链接器标志。
我清理并成功构建了客户端项目。
我运行了客户端项目,但自定义视图未加载,引用了“Interface Builder文件中的未知类[myViewController]”。
第6步是我现在面临的问题。以下是一些可能有用的观察结果:
在File Inspector中,标头的目标成员资格为空;客户端项目列在“目标成员”标题下,但该复选框已禁用且未选中。但是,myLib.a目标成员资格被选中。
我试图在客户端项目中创建myViewController(clientViewController)的子类,并引用此类。当我建立了客户端项目,我得到一个错误:当你建立
"warning: directory not found for option '-L/Users/[me]/Desktop/Projects/[clientProject]/[myLib]; Undefined symbols for architecture i386: [clientViewController] in [clientViewController.o]."
我尝试使用模拟器计划建立我的图书馆,但由于某些原因,我的头文件没”当我建立图书馆时不要复制。我发现他们只会在我选择“iOS设备”时进行复制,因此我根据该方案进行构建。也许这跟它有关系? 无论如何,我会尝试这个通用框架的东西,也许它会奇迹般地解决我的问题,我真的不明白。好像我需要知道很多关于链接器和处理器体系结构的细节,只是为了在项目之间构建一些共享类... – user2060086 2013-02-11 03:38:07
您是否确定为Universal创建?令人困惑的是,阅读这篇文章:http://blog.boreal-kiss.net/2011/03/15/how-to-create-universal-static-libraries-on-xcode-4/ – 2013-02-11 03:40:37