如何在App项目中使用Cocoa Touch Frameworks

时间:2014-11-30 11:33:29

标签: ios objective-c cocoa frameworks

我熟悉构建单个iOS应用程序,但我坚持使用Cocoa Touch Framework与多个应用程序共享通用代码。

问题:

框架的标题文件不可见 /无法链接到正在使用的应用项目。

我做了什么:

1。我创建了一个名为“libTestFramework”的项目“Cocoa Touch Framework”

  • 使用方法
  • 添加了一个“GoodMorning.h / m”类
  • 将课程从“项目”更改为“公开”
  • 成功构建项目并最终关闭它

2。我创建了一个名为“FrameworkTester”的单视图应用程序

  • 然后我将Finder中的文件“libTestFramework.xcodeproj”直接拖到Project Navigator根节点下的XCode Project“FrameworkTester”中(见下面的截图)
  • 在目标“FrameworkTester”中我添加了“Target Dependencies”下的libTestFramework和“Link Binary With Libraries”下的“libTestFramework.framework”。

3。在App Project中:

  • 我尝试从ViewController.h中的Framework导入“libTestFramework.h”文件,但是找不到它。

我误解了什么?

我创建了一个公共github-Repository,其中包含两个要重现的项目:https://github.com/itinance/testCocoaTouchFramework

以下屏幕截图:

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我不知道如何从你目前的情况解决你的问题,但我知道如何从一个新项目做到这一点。按照以下步骤操作后,您可以添加代码,直到获得所需的工作系统。如果你先把项目放到一个git仓库中,你可以让它工作,然后做一个差异来看看你做错了什么。我很想知道这一点。

工作呢:

  1. 创建名为“FrameworkTester”的单一视图应用程序
  2. 点击File - > Add - > Target...
  3. 创建名为“libTestFramework”的“Cocoa Touch Framework”
  4. 将所需的标题和来源添加到框架(从小的东西开始)
  5. 将公开标头添加到libTestFramework.h
  6. 转到配置,选择“libTestFramework”和Build Phases

    • 确保您的来源位于Compile Sources
    • 确保使用的标头位于Headers Public
  7. 在“FrameworkTester”
  8. 中的某个地方明确引用该框架
  9. 跑去测试。
  10. 我主要是从记忆中写出来的。如果我错过了什么,那么关于A Tiny Fish的文章iOS 8 Extensions: Sharing Code with an Embedded Framework可能会有你需要的东西。这是一个list of mistakes you can make