相关疑难解决方法(0)

将框架链接到QuickLook插件

我正在尝试编写QuickLook生成器.为此,我需要链接到我创建的框架.但是,一旦我链接到所述框架,qlmanage拒绝加载我的插件告诉我:

[ERROR] Can't load plug-in at /path/to/my-ql.qlgenerator: The bundle “my-ql” couldn’t be loaded because it is damaged or missing necessary resources.
Run Code Online (Sandbox Code Playgroud)

我已阅读有关Linking,Frameworks和QuickLook的所有相关教程,但未找到答案.

到目前为止我发现/排除的事情

  • 架构:当将Framework包含为32位二进制时,整个链接过程都会出错,所以这似乎不是问题所在.
  • 我已经验证框架被复制到插件的包中Contents/Frameworks.
  • 框架的安装路径设置为 @executable_path/../Frameworks

此外,在其他应用程序中使用该框架时,一切顺利.我可以理解的唯一可能的解释如下:执行时qlmanage,@executable_path实际指向该二进制文件,因此我的框架永远找不到.如果是这种情况,我如何设置安装路径仍然允许相对于插件的位置?我不想在全球范围内安装我的框架.

编辑

otool -L 在内置的QuickLook插件上产生以下内容:

/System/Library/Frameworks/QuickLook.framework/Versions/A/QuickLook (compatibility version 1.0.0, current version 327.4.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 38.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.29.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 15.0.0)
@executable_path/../Frameworks/PESHandler.framework/Versions/A/PESHandler (compatibility version 1.0.0, current …
Run Code Online (Sandbox Code Playgroud)

cocoa frameworks objective-c dynamic-linking quicklook

6
推荐指数
1
解决办法
985
查看次数