今天使用Swift动态库时遇到一个问题,错误提示是:
-dyld: Library not loaded: @rpath/xxx..dylib
...
Reason: image not found
Google 后发现很多人遇到过,总结了几种可能的解决办法。
-
把相关动态库的状态改为
Optional
。
1 -
Build Settings
->Always Embed Swift Standard Libraries
设置为YES
。
2 -
Build Settings
->Runpath Search Paths
删除@executable_path/Frameworks
。
3 清除工程缓存
shift+cmd+K
,清空DriveedData
。如果是兼容了8.0以前的老项目,请注意:工程的
Development Target
不小于8.0,删除旧的配置文件,重新创建新的配置文件。具体可参考:苹果官方文档有时也许SDK是在最新Xcode环境下打包的,你如果使用了上面的所有方法后还是没有解决,可以尝试升级Xcode。我就是升级Xcode8.0至8.1后解决问题。
我是在方法1和方法2,5都满足后还是报错,尝试方法4后还是没有解决,最终找到方法1+3和方法6解决了问题。
更多参考:
stackoverflow
stackoverflow
Apple