我已经构建了一个基于 OS X FUSE 的应用程序(即我有自己的基于 OS X FUSE 的文件系统)。 安装 OSXFUSE 后,我当然可以包含/Library/Frameworks 中的 OSXFUSE.framework。 但是,当我分发应用程序时,我不能指望用户已经安装了它,因此我尝试将框架包含在 bundle 中,如下所示:
- 将框架从/Library/Frameworks 拖到我的项目
- 创建了一个新的复制文件构建阶段(使用目标框架)
- 将框架添加到复制构建阶段
但是,当我在未安装 FUSE 的系统上运行该程序时,我收到错误:
dyld: Library not loaded: /Library/Frameworks/OSXFUSE.framework/Versions/A/OSXFUSE Referenced from: /Users/me/Library/Developer/Xcode/DerivedData/
复制构建阶段不应该阻止这种情况吗?我在这里缺少什么?
最佳答案
我终于发现我可以通过将 required
标志更改为 optional
来显式告诉 XCode 弱链接框架。
这可以在项目概述>目标>链接的框架和库
中完成。每个框架旁边都有一个下拉菜单,您可以在其中选择可选
。
所以我的问题实际上是这个 How do I weak link frameworks on Xcode 4? 的重复
关于xcode - 在 XCode 项目中包含 OSXFUSE 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16435661/