在ios Xcode10下小白都能解决library not found for -libstdc++.6.0.9
写在前面
library not found for -libstdc++.6.0.9,今天做项目的时候碰到这个问题,解决的过程中遇到了目录路径不对的问题(不在通常的/applications/xcode.app......下面),花费了我半天时间,记录一下,也给别人当做参考。
解决方法
这个问题的原因是xcode10把libstdc++换成了libc++,解决方法有2种,选择哪种都可以,能解决问题就行;但是,值得注意的是这种情况:你的项目引用了第三方库(如极光推送),然而这个库引用了旧库libstdc++,这时候你只能用方法2了。所有解决方法如下:
方法1:
单击项目名-->build phases-->link binary with libraries,删除6.0.9依赖添加libc++.tdb
方法2:
对应文件夹下添加对应的三个库,获取xcode9旧库(对你有帮助github给个star)
①在runtimeroot的lib里面增加libstdc++.6.0.9.dylib,libstdc++.6.dylib,libstdc++.dylib,路径如下:
/applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/library/coresimulator/profiles/runtimes/ios.simruntime/contents/resources/runtimeroot/usr/lib/(下文有进入目录方法)
②在iphoneos.sdk的lib里面增加libstdc++.6.0.9.tbd,libstdc++.6.tbd,libstdc++.tbd,路径如下:
/applications/xcode.app/contents/developer/platforms/iphoneos.platform/developer/sdks/iphoneos.sdk/usr/lib/
③在iphonesimulator.sdk的lib里面增加libstdc++.6.0.9.tbd,libstdc++.6.tbd,libstdc++.tbd,路径如下:
/applications/xcode.app/contents/developer/platforms/iphonesimulator.platform/developer/sdks/iphonesimulator.sdk/usr/lib/
如何进入目录
访达-->前往文件夹...-->输入路径。(进不了目录的继续往下看)
问题中的问题
有没有小伙伴和我一样进不去目录的?把路径复制上去,进不了,什么情况?我猜测是不是我xcode的安装路径不一样导致的?我使用mac系统的时间不是很长,不太了解是怎么回事,后来在网上找到了查看安装路径的方法。活动监视器-->xcode-->左上角第二个按钮-->打开的文件和端口。对比着把头替换掉就可以了。(找不到活动监视器的往下看,否则可忽略)
/users/feiwei/downloads/xcode.app/contents/developer/platforms/iphoneos.platform/developer/library/coresimulator/profiles/runtimes/ios.simruntime/contents/resources/runtimeroot/usr/lib/
活动监视器
这个步骤是写给不怎么会用mac的小伙伴的,有可能不在「其他」这个归类里面,在launchpad里面找就行,你一定能找到的。上图: