iOS升级Xcode 10 编译工程遇到lstdc++.6

劝大家真的先别升级啊,真的真的,因为我升级之后就遇到这个问题

image.png

这个问题还不是最重要的,最重要的是运行在iOS 9的手机上会闪退

这里先说怎么解决遇到的lstdc++.6这个问题吧
原因:这个错误原因是因为iOS12.0中去掉了lstdc++.6.0.9.tbd动态库

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

http://www.cnblogs.com/wellbye/archive/2013/04/25/3039203.html

真机:

最简单解决该问题的方法就是从Xcode9.4中找到动态库lstdc++.6.0.9.tbd文件copy到Xcode10beta下就可以完美解决问题。或者用古老的办法将iOS12的DeviceSupport文件copy到Xcode9.4下也可以完美解决Xcode9.4运行iOS12的问题。

在应用程序里找到Xcode10 ,右击显示包内容contents

真机路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib

模拟器路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib

image.png

把在Xcode 9上复制下来的 libstdc++.6.0.9 文件拷贝以上两个路径下,就可以正常运行了。

我的问题到这就已经解决了,这只是暂时的解决办法,最后还是等待一些第三方适配iOS12 就能完美解决了。

参考文章:https://www.jianshu.com/p/47451704c122

你可能感兴趣的:(iOS升级Xcode 10 编译工程遇到lstdc++.6)