框架无法在我的某个目标中工作(屏幕保护程序)

时间:2015-07-02 16:09:12

标签: xcode swift cocoa frameworks

我有一个包含2个目标的XCode Swift项目,一个传统的应用程序和一个屏幕保护程序。我想在两者中使用一个框架(我已尝试过至少2个没有运气的框架)。

在应用程序中,他们工作正常,但在屏幕保护程序中,尽管我能够编译(我有一个带有相应importe的桥接文件,我已经复制并链接了框架)

enter image description here

当屏幕保护程序运行时,它在控制台中出现此错误:

Jul  1 16:33:15 ironbird.local ScreenSaverEngine[60006]: Error loading /Users/juanjo/Library/Screen Savers/Ninja.saver/Contents/MacOS/Ninja:  dlopen(/Users/juanjo/Library/Screen Savers/Ninja.saver/Contents/MacOS/Ninja, 265): Library not loaded: @executable_path/../Frameworks/Paddle.framework/Versions/A/Paddle
      Referenced from: /Users/juanjo/Library/Screen Savers/Ninja.saver/Contents/MacOS/Ninja
      Reason: image not found

有人可以帮助我解决问题或至少调试它吗?如果我搜索错误,我会发现忘记复制或链接框架的人,这不是我的情况。

提前致谢!

更新:如果我使用install_name_tool来更改查找绝对路径图像的路径,我会使屏幕保护程序运行。

1 个答案:

答案 0 :(得分:0)

我让它改变了原来的框架:

$ cd Frameworks/Paddle.framework/Versions/A/
$ install_name_tool -id @rpath/Paddle.framework/Versions/A/Paddle Paddle