我有一个包含 2 个目标的 XCode Swift 项目,一个传统应用程序和一个屏幕保护程序。我想在两者中都使用一个框架(我尝试过至少 2 个框架但没有成功)。
在应用程序中它们工作正常但在屏幕保护程序中,尽管我能够编译(我有一个带有适当导入的桥接文件并且我复制并链接了框架)
当屏幕保护程序运行时,它在控制台中出现此错误而崩溃:
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 更改查找图像的绝对路径路径,我会运行屏幕保护程序。
最佳答案
我让它工作改变原来的框架是这样的:
$ cd Frameworks/Paddle.framework/Versions/A/
$ install_name_tool -id @rpath/Paddle.framework/Versions/A/Paddle Paddle
关于xcode - 框架在我的目标之一(屏幕保护程序)中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31189571/