昨天才更新的xcode,事實(shí)證明,還真是自己給自己挖坑。剛更新完,嘗試運(yùn)行項(xiàng)目,然后就崩潰了。原因如下:
1
然后百度,google,得知結(jié)論是:
Xcode10:
libstdc++
、libstdc++.6
、libstdc++6.0.9
被替換合并成為 libc++了(我是這么認(rèn)為的)。
-
先說網(wǎng)上給的方法是:
去Xcode 9里面的
真機(jī)路徑
/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
分別復(fù)制一份,
然后分別粘貼到對應(yīng)的Xcode 10 的
真機(jī)路徑和
/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/
-
模擬器編譯就能成功,但是會出現(xiàn)下面這樣的錯誤
2
可能是XCode10自帶的iOS12模擬器的問題,在XCode10中安裝iOS11的模擬器運(yùn)行環(huán)境,然后切換到iOS11模擬器運(yùn)行,就OK了
使用iOS12的真機(jī)運(yùn)行,沒有啥太大的問題
-
再說說在我的項(xiàng)目當(dāng)中的解決方法吧。
我的APP項(xiàng)目中,唯一用到libstdc++6.0.9
的地方就是高德地圖
,然后我去pod search 了一下,發(fā)現(xiàn)AMap3DMap
最新版本是6.4.0,果斷更新了一下(pod 'AMap3DMap','~>6.4.0'
),然后.....什么問題都沒有了,沒有所謂的Xcode9復(fù)制粘貼到Xcode10什么什么亂七八糟的,就簡單的更新一下第三方,什么都解決了。
當(dāng)然,如果你們公司是自己封裝的私有靜態(tài)庫,那就更新靜態(tài)庫吧,如果不更新,那就采用最上面的那種方法吧。
希望能幫到你。