昨天xcode10正式版发布了,为了适配新系统和新机型所以果断把xcode升级到了xcode10。xcode10最低需要10.13.6系统支持,所以更新完mac系统后直接就把xcode升级到了xcode10。更新了半天终于更新完了。
怀着激动的心情直接打开xcode去跑公司的项目,过了一会直接给我报红了,提示我plist文件重复。
这些plist都是引入第三方库时导入的记录着库的基本信息,所以直接删除有点不妥,所以直接上网查终于解决了。解决办法1选中xcode--2左上角点击file--3点击project Settings
然后改一下下面这个设置即可。
这个爆红终于没了但是新问题出现了提示我libstdc++.6.0.9.tbd文件没有了,所以继续在网上查找解决办法。但是都没有合理的解决,因为这是我们第三方SDK中用到的,网上的解决办法是
【1】联系第三方让第三方修改,这个办法可以直接被pass掉了,第三方SDK是那个快就给你上新版本的吗?等着它更新至少得等几天。
【2】重新恢复到xcode9,这个办法确实很对,但是问题并没有解决。还用以前的办法重新在xcode9中引入新的ios12测试文件。可是我不甘心就这样,所以继续查找,找了一个多小时也没找到。所以我都要放弃了,开始重新下载xcode9.4了。
突然间想到一个问题。大家都知道xcode9如果想跑iOS12可以通过导入ios12的一个配置文件来实现,直接跑不能跑通的原因是不同xcode版本里面的文件不一样,那么这个问题是不是也可以通过给给xcode10添加libstdc++.6.0.9.tbd文件解决这个文件缺失的问题呢。想法是有了,那么说干就干我从原先的Xcode9.4版本中找到了libstdc++.6.0.9.tbd文件然后打开现在的xcode10的存放该文件的文件夹。文件路径是/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/usr/lib/
注意:经过添加后真机运行确实已经跑起来了。但是问题又来了模拟器跑不了,原因是我们只是在iPhoneOS.platform真机的配置下添加了该文件。要想在模拟器下运行还需要在模拟器的sdk路径中也添加该文件。文件路径
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneOS12.0.sdk/usr/lib/
通过以上操作,项目在xcode10上编译运行终于正常了。
很可能你们的xcode9版本已经卸载找不到libstdc++.6.0.9.tbd这个文件了,为了便于你们拷贝这个文件我把文件存到下面这个链接,需要的直接下载就可以了。
很多刚升级xcode10的朋友可能也遇到这个问题了,希望这篇文章可以帮助到你。