1

我已经构建了一个基于 OS X FUSE 的应用程序(即我有自己的基于 OS X FUSE 的文件系统)。安装 OSXFUSE 后,我当然可以包含 /Library/Frameworks 中的 OSXFUSE.framework。但是,当我分发应用程序时,我不能指望用户已经安装了它,所以我尝试将框架包含在包中,如下所示:

  • 将框架从 /Library/Frameworks 拖到我的项目中
  • 创建了一个新的 Copy Files 构建阶段(使用目标框架)
  • 将框架添加到该复制构建阶段

但是,当我在没有安装 FUSE 的系统上运行它时,出现错误:

dyld:库未加载:/Library/Frameworks/OSXFUSE.framework/Versions/A/OSXFUSE 引用自:/Users/me/Library/Developer/Xcode/DerivedData/

副本构建阶段不应该阻止这种情况吗?我在这里想念什么?

4

2 回答 2

1

我终于发现我可以通过将required标志更改为optional.

这可以在Project Overview > Target > Linked Frameworks and Libraries. 每个框架旁边都有一个下拉菜单,您可以在其中选择optional.

更改框架的链接状态

所以我的问题实际上是这个How do I weak link frameworks on Xcode 4?

于 2014-05-07T09:20:59.540 回答
0

我相信 OSXFuse 框架需要相应的内核模块才能工作。这必须单独安装,因此您必须将安装程序包放在一起,首先安装内核模块和首选项窗格,然后安装您的应用程序。

或者,您可以通知用户该模块需要单独安装并提供下载链接或类似的东西。

于 2013-06-21T15:13:17.790 回答