OStack程序员社区-中国程序员成长平台

标题: ios - 将框架添加到 Xcode 项目 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:57
标题: ios - 将框架添加到 Xcode 项目

我在 xcode 项目中添加了一个框架。在构建阶段-> 将二进制文件与库链接。 该框架由一个库文件(.a 文件)和一个文件夹“Headers”组成,该文件夹包含该框架所需的所有头文件。

现在我正在尝试将框架中的头文件导入我的一个类。

#import <MySDK/MyHeaderFile.h>

但是在构建时出现“找不到符号”错误。

我的理解是,如果我们使用框架而不是库文件,则无需在“头文件搜索路径”中添加头文件路径。

但是,我仍然在标题搜索路径中指定了我的框架的路径。

我还在框架搜索和库搜索路径选项中指定了框架路径。

这是我第一次使用框架。对于库,我刚刚添加了 .a 文件并在头文件搜索路径中指定了头文件的完整路径。

添加框架时我缺少什么配置?



Best Answer-推荐答案


如果它是一个静态库文件和一堆头文件,它就不是一个框架。框架是打包文件的特定方法。在 MacOS X 上,静态和动态框架具有一种结构,而 iOS 上的静态框架具有不同的结构。

对于使用 Xcode 5 的静态框架,您的文件结构如下所示:

MySDK.framework/
  en.lproj/
  Headers/
     MyHeaderFile.h
  Info.plist
  MySDK

其中 MySDK 是二进制存档文件(不应是 MySDK.a)。如果你有一个以 .a 结尾的文件,那么你有一个静态库而不是一个框架。使用 Xcode 5 构建静态框架并不容易,但也并非不可能。但是,构建静态库要容易得多且无故障。听起来您已经有了一个静态库,因此您只需使用项目或目标的适当搜索路径设置告诉 Xcode 在哪里可以找到库存档和头文件。

如果/当您确实有框架时,将其添加到“链接库和框架”或将“其他链接器标志”设置为“-framework path/to/MySDK.framework”将正常工作。

较新版本的 Xcode 可能支持构建或使用框架的不同功能,但链接它们应该大致相同。

关于ios - 将框架添加到 Xcode 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24156820/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4