我在 xcode 项目中添加了一个框架。在构建阶段-> 将二进制文件与库链接。
该框架由一个库文件(.a 文件)和一个文件夹“Headers”组成,该文件夹包含该框架所需的所有头文件。
现在我正在尝试将框架中的头文件导入我的一个类。
#import <MySDK/MyHeaderFile.h>
但是在构建时出现“找不到符号”错误。
我的理解是,如果我们使用框架而不是库文件,则无需在“头文件搜索路径”中添加头文件路径。
但是,我仍然在标题搜索路径中指定了我的框架的路径。
我还在框架搜索和库搜索路径选项中指定了框架路径。
这是我第一次使用框架。对于库,我刚刚添加了 .a 文件并在头文件搜索路径中指定了头文件的完整路径。
添加框架时我缺少什么配置?
Best Answer-推荐答案 strong>
如果它是一个静态库文件和一堆头文件,它就不是一个框架。框架是打包文件的特定方法。在 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/
|