Xcode dyld: Library not loaded: @rpath/xxx/xxx 错误解决

914 阅读1分钟

一、常见解决方案:

1.cmd + shift + k清理工程 2.清空/Users/xx/Library/Developer/Xcode/DerivedData目录 3.general – embeded binaries 嵌入文件 4.在 Build Phases 里添加 Copy Files 5.修改mach-O Type中的Dynam Library为Static Library 6.在keychain中将使用的调试证书的信任改为“使用系统默认” 7.重装rvm、Cocoa Pods、Xcode

二、已上都有不能解决的时候 新版Xcode和iOS系统,在当我们使用非付费开发人员账号时,都有概率对嵌入的动态库发生无效签名。而解决的方式有: 1.有条件的话,清理非付费开发人员账号生成的证书与配置文件,改为付费人员对应的证书 2.打开Cocoa Pods的Podfile文件,注释掉use_frameworks! 3.在Podfile文件中添加一句use_modular_headers! 4.执行pod deintegrate+pod install重新配置一次第三方库

解决方法:直接注释掉Podfile文件中的use_frameworks! ,再pod install 即可!

三、以下通常能解决 按照上面的方法利用cocospods 使用静态库的方式添加三方时有时候依然无法解决问题,是因为有的三方库是以xx.framework 文件进行管理的,所以还需要对xx.framework文件进行处理,方法如下: 1.先将对应的三方库从Podfile文件中移出,然后直接将对应的xx.framework文件拖到代码中进行手动管理。 2.切换到Build Phases -> Link Binary With Libraries -> xx.framework 将Status设置为Optional即可

PS:最简单的方法时直接使用付费开发人员账号即可!