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

标签 ios objective-c cocoa frameworks

我熟悉构建单个 iOS 应用程序,但我坚持使用 Cocoa Touch Framework 将公共(public)代码共享到多个应用程序。

问题:

框架的头文件不可见/不可链接到消费应用程序项目。

我做了什么:

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

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

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

  • 然后我将文件“libTestFramework.xcodeproj”从 Finder 拖到我的 XCode 项目“FrameworkTester”中,直接位于项目导航器的根节点下(见下面的屏幕截图)
  • 在目标“FrameworkTester”中,我在“Target Dependencies”下添加了 libTestFramework,在“Link Binary With Libraries”下添加了“libTestFramework.framework”。

3。在应用程序项目中:

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

我误会了什么?

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

部分截图如下:

enter image description here

enter image description here

enter image description here

最佳答案

我遇到了同样的问题。我不知道如何从你目前的情况解决你的问题,但我知道如何从一个新项目中解决。执行以下步骤后,您可以添加代码,直到获得所需的工作系统。如果您先将项目放入 git 存储库,您可以让它运行,然后进行比较以查看您做错了什么。我也很想看看。

工作环境:

  1. 创建一个名为“FrameworkTester”的单 View 应用程序
  2. 点击文件 -> 添加 -> 目标...
  3. 创建名为“libTestFramework”的“Cocoa Touch Framework”
  4. 向框架添加所需的 header 和源代码(从小事开始)
  5. 将公共(public) header 添加到 libTestFramework.h
  6. 转到配置,选择“libTestFramework”和Build Phases

    • 确保您的源代码位于Compile Sources
    • 确保使用的 header 在 Headers Public
  7. 在“FrameworkTester”中的某处明显引用框架
  8. 运行测试。

我主要是凭内存写这篇文章。如果我错过了什么,那么文章 iOS 8 Extensions: Sharing Code with an Embedded Framework在 A Tiny Fish 上可能有您需要的东西。这里有一个 list of mistakes you can make

关于ios - 如何在 App 项目中使用 Cocoa Touch Frameworks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27212761/

相关文章:

javascript - 使用 Safari 和 HTML5 在 iPhone 上录音

ios - iOS 8分享扩展。如何使图像成为必需但文本可选

objective-c - 对象实例内存管理

objective-c - 如何阻止用户选择某些文件类型?

ios - Admob 奖励视频 - Root View Controller 问题

iphone - IOS 使用自定义相机 View 拍照

ios - 是否有可能在 ios 9 中获得 wifi 信号强度

ios - 只能在 arc 或 gc 模式下合成 weak 属性

iphone - 从当前日期算起接下来的两周

cocoa - 使用 Social.framework 和 SLRequest 进行字段扩展