Xcode10、Xcode 11 beta 运行libstdc++报错处理方案

library not found for -lstdc++.6.0.9

最新处理方案已经更新,可直接跳过到文章结尾查看处理方案!

新增脚本处理方案。

中间是关于报错的说明,如果不想看可以直接拉到最下方拿解决方案。
大部分开发者下载Xcode 11 beta版本应该并不是为了体验Xcode 11 beta,应该是因为iPhone升级了iOS13beta版本了吧,反正我是因为这个原因,哈哈哈。。。
和以前一样,新大版本的Xcode运行现有项目多多少少会报一定的错误,这次也不例外,Xcode11 beta版本运行现有项目报错最多的应该就是如图:

Xcode10、Xcode 11 beta 运行libstdc++报错处理方案_第1张图片

这个错误原因是因为iOS12.0之后去掉了lstdc++.6.0.9.tbd动态库,如下图搜索便知:

Xcode10、Xcode 11 beta 运行libstdc++报错处理方案_第2张图片

# iOS12.0中全部采用libc++代替lstdc++的动态库(如下图),具体原因可以参考:

http://www.cnblogs.com/wellbye/archive/2013/04/25/3039203.html
Xcode10、Xcode 11 beta 运行libstdc++报错处理方案_第3张图片

因为beta版本Xcode是无法打包上传appstore,所以肯定还是需要Xcode10+Xcode11并行使用,而且现在部分第三方SDK依旧要依赖于lstdc++.6.0.9.tbd动态库,如果对代码进行改动或者修改Xcode的配置,可能会造成其他问题,例如在Xcode10上再次运行的时候可能会出现报错等等。

所以最简单解决该问题的方法就是从Xcode10中找到动态库lstdc++.6.0.9.tbd文件copy到Xcode 11 beta下就可以完美解决问题。或者用古老的办法将iOS13的DeviceSupport文件copy到Xcode11.0下也可以完美解决Xcode11.0运行iOS13的问题。

Xcode11运行libstdc++报错处理
library not found for -lstdc++.6.0.9
需要将文件复制到下述四个路径下,才能保证模拟器和真机均好用
Xcode10下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
Xcode11-beta下:
主要是第一条iOS.simruntime的路径发生了变更,Xcode10中是../Developer/Library/..,而Xcode11中是.../Library/Developer/...
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib 
/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
为了方便大家,在此提供lstdc++动态库文件下载和DeviceSupport下载 链接:
新增脚本处理方案:点击下载
// install.sh:Xcode10.2.1及其以下
// install-xcode-beta11.sh:Xcode11beta
MacBook-Pro:~ EchoZuo$ cd /Users/EchoZuo/Desktop/xcode\ libstdc 
MacBook-Pro:xcode libstdc EchoZuo$ ./install-xcode-beta11.sh
MacBook-Pro:xcode libstdc EchoZuo$ ./install.sh

libstdc

DeviceSupport(8.0-13.0beta) 所有版本

DeviceSupport:iOS 7.0 - iOS 12 beta1 所有版本

iPhoneOS13.0.sdk

你可能感兴趣的:(iOS开发)