Xcode无法从我的自定义库中识别ViewController

时间:2013-02-11 03:13:22

标签: xcode viewcontroller i386

我有几个项目共享许多相同的类和自定义视图/视图控制器,因此我创建了一个自定义静态库,其中包含可直接在我的客户端项目中使用的这些公共类。

这是我采取的步骤:

  1. 我创建并编译了静态库,将生成的.a和public .h文件复制到桌面上的文件夹(myLib)。

  2. 我将myLib文件夹拖放到我的客户端项目中。我通过引用复制,并没有复制我的客户端项目下的物理文件。目标的构建阶段“链接二进制文件库”阶段自动包含.a文件,如预期的那样。

  3. 我使用故事板为客户端项目引用了View Contollers。这些类按预期自动完成,因此Xcode识别它们的存在。

  4. 我在客户端项目构建设置和目标构建设置下设置了-ObjC和-all_load链接器标志。

  5. 我成功清理并构建了客户端项目。

  6. 我运行了客户端项目,但没有加载自定义视图,引用了“Interface Builder文件中的未知类[myViewController]”。

  7. 第6步是我现在面临的问题。以下是一些可能有用的其他观察结果:

    • 在文件检查器中,标头的目标成员资格为空;客户端项目列在“目标成员资格”标题下,但复选框已禁用且未选中。但是,选择了myLib.a目标成员资格。

    • 我尝试在客户端项目中创建myViewController(clientViewController)的子类,并引用此类。当我构建客户端项目时,我收到一个错误:

        

      “警告:找不到选项'-L / Users / [me] / Desktop / Projects / [clientProject] / [myLib]的目录;架构i386的未定义符号:[clientViewController.o]中的[clientViewController]。”

1 个答案:

答案 0 :(得分:0)

构建时的模拟器选项,看起来像你错过了。只需使用它。这是一个通用框架,就像制作一个普通的库一样容易: iOS-Universal-Framework

另请阅读本文:How to create universal static libraries on Xcode 4: the traditional way