大部分开发者下载Xcode10 beta版本应该并不是为了体验Xcode10beta,应该是因为iPhone升级了iOS12beta版本了吧,反正我是因为这个原因,哈哈哈。。。
和以前一样,新大版本的Xcode运行现有项目多多少少会报一定的错误,这次也不例外,Xcode10 beta版本运行现有项目报错最多的应该就是如图:
image.png这个错误原因是因为iOS12.0中去掉了lstdc++.6.0.9.tbd动态库,如下图搜索便知:
image.png# iOS12.0中全部采用libc++代替lstdc++的动态库(如下图),具体原因可以参考:
http://www.cnblogs.com/wellbye/archive/2013/04/25/3039203.html
因为beta版本Xcode是无法打包上传appstore,所以肯定还是需要Xcode9.4+Xcode10并行使用,而且现在部分第三方SDK依旧要依赖于lstdc++.6.0.9.tbd动态库,如果对代码进行改动或者修改Xcode的配置,可能会造成其他问题,例如在Xcode9.4上再次运行的时候可能会出现报错等等。
所以最简单解决该问题的方法就是从Xcode9.4中找到动态库lstdc++.6.0.9.tbd文件copy到Xcode10beta下就可以完美解决问题。或者用古老的办法将iOS12的DeviceSupport文件copy到Xcode9.4下也可以完美解决Xcode9.4运行iOS12的问题。
路径:/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib
为了方便大家,在此提供lstdc++.6.0.9.tbd动态库文件下载和DeviceSupport下载连接。
DeviceSupport:iOS 7.0 - iOS 12 beta1 所有版本
libstdc++.6.0.9.tbd
网友评论
再确认一下copy后报错是否和之前一致。
如果路径也没问题,报错一直一致依旧,建议多尝试几次试试,已经clean。或者再次在配置中再次倒入对应的动态库尝试下
library not found for -lstdc++.6
我这边报错libstdc++.6.0.9动态库缺失,因为部分第三方SDK依赖该库。