pup*_*eno 7 macos xcode cocoa screensaver
我们有一个可用的Mac OS X屏幕保护程序作为独立的Xcode项目,但我们需要将它作为另一个Xcode项目中的目标,该项目还包含一个相关的应用程序.
我为屏幕保护程序添加了一个目标,复制了代码,添加到了该目标等等.代码与在另一个屏幕保护程序中工作的代码相同,但是在这个代码上,它会生成以下错误:
2015-03-10 09:43:24.766 System Preferences[32495]: Error loading /Users/pupeno/Library/Screen Savers/Ninja.saver/Contents/MacOS/Ninja: dlopen(/Users/pupeno/Library/Screen Savers/Ninja.saver/Contents/MacOS/Ninja, 265): Library not loaded: @rpath/libswiftAppKit.dylib
Referenced from: /Users/pupeno/Library/Screen Savers/Ninja.saver/Contents/MacOS/Ninja
Reason: image not found
2015-03-10 09:43:24.766 System Preferences[32495]: ScreenSaverModules: can't get principalClass for /Users/pupeno/Library/Screen Savers/Ninja.saver
Run Code Online (Sandbox Code Playgroud)
有问题的图书馆绝对有:
$ ls -w1 Library/Screen\ Savers/Ninja.saver/Contents/Frameworks/
libswiftAppKit.dylib
libswiftCore.dylib
libswiftCoreGraphics.dylib
libswiftDarwin.dylib
libswiftDispatch.dylib
libswiftFoundation.dylib
libswiftObjectiveC.dylib
libswiftQuartzCore.dylib
libswiftSecurity.dylib
Run Code Online (Sandbox Code Playgroud)
可能导致这种情况的任何想法?
问题是由于某种原因,在这个新目标中,Runpath搜索路径是空白的.我通过添加以下内容修复了此问题:
@executable_path/../Frameworks @loader_path/../Frameworks
Run Code Online (Sandbox Code Playgroud)
它(我从工作的屏幕保护程序配置中获取).这是它的样子:

| 归档时间: |
|
| 查看次数: |
1672 次 |
| 最近记录: |