【发布时间】:2010-05-16 21:33:23
【问题描述】:
我目前正在尝试在我的首选项窗格中实施“第三方框架”(FeedbackReporter.Framework)。
不幸的是,我在尝试启动我的首选项窗格时一直收到以下错误:
16.05.10 23:13:30 系统偏好设置[32645] dlopen_preflight 失败了 dlopen_preflight(/Users/me/Library/PreferencePanes/myPane.prefPane/Contents/MacOS/myPane): 库未加载: @executable_path/../Frameworks/FeedbackReporter.framework/Versions/A/FeedbackReporter 参考自: /Users/me/Library/PreferencePanes/myPane.prefPane/Contents/MacOS/myPane 原因:找不到图片 /Users/me/Library/PreferencePanes/myPane.prefPane
据我目前阅读,这个问题可能是因为我的 prefPane 不是实际的应用程序,而是“System Settings.app”的“插件”,因此@executable_path 解析为该应用程序包中的路径,而不是我的 prefpane 的捆绑包。
但我并没有真正了解如何解决这个问题。我想这一定很容易,因为人们在 PreferencePanes 中使用非苹果框架应该是一种常见的情况。
感谢您的提示!
-- 简短更新: 据我了解到目前为止我阅读的大量文档,可能有一个必须在第三方框架中完成的设置。显然,“安装路径”必须设置为“loader_path”而不是“executable_path”才能在首选项窗格中工作。
但是由于我使用的是预编译框架(FeedbackReporter.framework),这可能是作者必须更改的设置?!即使我可以自己编译框架,我也不知道在 Xcode 中在哪里更改这个 install_path。
【问题讨论】:
-
显然这实际上是框架开发人员必须改变的。我注意到咆哮框架有类似的变化(他们以前使用@executable_path,现在使用@loader_path。对于FeedbackReporter.framework有同样问题的人:getsatisfaction.com/vaferorg/topics/…
标签: objective-c cocoa frameworks plugins linker