Xcode 10 release 之后第一時間便是更新了 Xcode 10缰盏,但是項目一運行發(fā)現(xiàn)編譯錯誤达椰。相信很多人都也遇到了這個問題痰娱。畢竟在好幾個群里都看見了這個文件在傳來傳去。
早在之前 beta 的時候就知道了蘋果已經(jīng)在 Xcode 10 中徹底移除了 libstdc++6.0.9 這個庫挚赊,當時 stackoverflow 上就有了從 Xcode 9 中把這個庫弄出來的方法藻三。遇到這個問題洪橘,我也首先想到了這個解決方案跪者,然而很不幸的是,模擬器熄求,真機不能同時運行渣玲。接下來我做了這些事情:
-
更新網(wǎng)易七魚
其實之前已經(jīng)跟七魚的技術支持確認過了,老版本的七魚是依賴了這個庫的抡四。
跟七魚的技術支持溝通之后柜蜈,確定在最新的 4.4.1 中,已經(jīng)解決了這個問題指巡。更新七魚之后發(fā)現(xiàn)問題依舊淑履。
-
查找 pod 里面的 config 文件,全局搜索藻雪,發(fā)現(xiàn)了這個庫秘噪。
這時候基本上已經(jīng)知道了某個三方是依賴了這個東西的,然后將所有三方升級勉耀。問題依舊指煎。這時候猜測有某個庫還沒有更新。然后再查 pod 的 config便斥,已經(jīng)沒有了 6.0.9至壤。但是依然編譯不過。
這時候已經(jīng)有點懵逼了枢纠。還是不死心像街,建立新的項目,挨個將使用了的三方導入晋渺。均沒有發(fā)現(xiàn)問題镰绎,這時候開始懷疑是項目本身有問題。
打開 xcodeproj 文件木西,顯示包內(nèi)容畴栖,再打開 project.pbxproj, 全局搜索,發(fā)現(xiàn)還是有這個東西八千。 這時候基本上已經(jīng)確定是項目本身的問題了吗讶。
直接刪除這個文件里面的相關代碼。然后打開 build setting恋捆, 找到各種 search path 查找是否有這個東西照皆。然后還有 other linker flags,查找鸠信,然后刪除 libstdc++6.0.9
運行纵寝,成功论寨。
ps: 如果項目中本身就依賴了這個東西星立, 需要換成 libc++爽茴。
抽了10分鐘左右快速的記錄下這篇踩坑記,希望能夠幫到跟我一樣一臉懵逼然后湊巧看到這篇短文的同行绰垂。最后感謝七魚的技術支持室奏!