1. 问题:Xcode9升级到Xcode10后运行App报错:
2. 原因分析:
Xcode10中libstdc++.6.0.9
和libstdc++
被移除,Frameworks中libstdc++.6.0.9
和libstdc++
找不到对应的库,报红。
3. 解决方案:
经排查,工程以及使用的第三方不存在依赖这两个库的情况(可能曾存在第三方依赖该库,第三方移除后未及时移除对库的依赖),最简单的方法:删除对该库的引用,重新运行,表现正常,问题解决。
若工程确实存在对该库的依赖,则不能这样简单粗暴的解决,查阅了一些资料,目前普遍存在两种解决方案:
方案1、 Xcode9中拷贝 -lstdc++.6.0.9
以及libstdc++
等库到Xcode10中(真机和模拟器都需要拷贝)
终端输入命令,打开Xcode的lib库目录,将需要的库文件从Xcode9目录下拷贝到Xcode10目录下:
打开命令如下:
1)真机:
open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib
2)模拟器:
open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib
下载文件链接:https://pan.baidu.com/s/1EysPNz9S_lUqNWCaKe1CoA 密码:aw3x
参考地址:https://www.jianshu.com/p/2bc05682bf19