美文网首页
iOS12 Xcode10 libstdc++6.0.9遇到的相

iOS12 Xcode10 libstdc++6.0.9遇到的相

作者: Tomous | 来源:发表于2018-09-19 16:58 被阅读904次

    昨天才更新的xcode,事实证明,还真是自己给自己挖坑。刚更新完,尝试运行项目,然后就崩溃了。原因如下:

    1
    然后百度,google,得知结论是:
    Xcode10:libstdc++libstdc++.6libstdc++6.0.9被替换合并成为 libc++了(我是这么认为的)。
    • 先说网上给的方法是:

    去Xcode 9里面的
    真机路径

    /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/
    

    里面的libstdc++6.0.9分别复制一份,
    然后分别粘贴到对应的Xcode 10 的
    真机路径和

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/usr/lib/
    

    模拟器路径下

    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
    
    • 模拟器编译就能成功,但是会出现下面这样的错误


      2

      可能是XCode10自带的iOS12模拟器的问题,在XCode10中安装iOS11的模拟器运行环境,然后切换到iOS11模拟器运行,就OK了

    • 使用iOS12的真机运行,没有啥太大的问题

    • 再说说在我的项目当中的解决方法吧。

    我的APP项目中,唯一用到libstdc++6.0.9的地方就是高德地图,然后我去pod search 了一下,发现AMap3DMap最新版本是6.4.0,果断更新了一下(pod 'AMap3DMap','~>6.4.0'),然后.....什么问题都没有了,没有所谓的Xcode9复制粘贴到Xcode10什么什么乱七八糟的,就简单的更新一下第三方,什么都解决了。
    当然,如果你们公司是自己封装的私有静态库,那就更新静态库吧,如果不更新,那就采用最上面的那种方法吧。
    希望能帮到你。

    相关文章

      网友评论

          本文标题:iOS12 Xcode10 libstdc++6.0.9遇到的相

          本文链接:https://www.haomeiwen.com/subject/wfiinftx.html