前言,本不想那麼快升級,因專案在iPhoneXS Max中有些偶現閃退,舊Xcode打的dsym又沒辦法解析出來奔潰日誌,手中又沒有真機,無奈之下,升級Xcode,想在模擬器上測試……(結局想哭)
開始
-
升級mac 系統:10.13.6(Xcode版本要求);
-
升級Xcode10;
-
升級完成開始編譯專案,如願報錯;
問題1:
Multiple plist檔案重複問題,直接網上一搜,方法也簡單:解決:
File--> Workspace Settings --> Build System 修改為Legacy Build System (預設是New Build System)
第一個問題解決了。
接下來竟然報錯:
問題2:
libstdc++.6.0.9.dylib 這個庫找不到了,原因是Xcode10廢棄了這個庫了。蘋果推薦(強迫)大家使用libc++.dylib。
區別在於
libc++.dylib 是基於C++11版本的標準庫實現的;
libstdc++.6.0.9.dylib 是基於C++98版本的標準庫實現。
早在Xcode9時代蘋果就已經宣佈將要廢棄libstdc++.6.0.9.dylib,不在支援老版本了,確實說到做到。
想詳細瞭解C++版本歷史的發展,點這裡
那怎麼辦,專案中使用到,又不能delete,想要更新成libc++.dylib也不現實。
解決:
在這個路徑下貼上這個libstdc++.6.0.9庫:(可以在Xcode9先備份一份) /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
貼上,編譯,編譯success了!
那麼問題來了,真機編譯通過了,我在想用同樣的方式,貼上到模擬器的路徑,應該可以吧,結果編譯通過了,興奮了一下,run起來時閃退了。
報錯:
no suitable image found. Did find: /usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator
快要哭,我的升級目的是想要在模擬器上測試(因為暫沒有真機)!!
暫時找不到解決方法了,模擬器沒法跑起來。(求解決方法)
另外
如果專案是使用swift的,升級Xcode一定要謹慎!!!
swift的語法目前還沒穩定,蘋果還是在改改改。。。
如果是自己寫的程式碼,還能改改,但如果是依賴第三方的庫,那就坑爹了,得坐等更新。
慶幸我算是比較晚升級Xcode10,報錯的幾個庫,都更新支援了。
此篇到這。
很久沒寫筆記,這是我在掘金的第一篇筆記,好的開始,堅持寫。
以前寫的都棄在這邊了。
實踐是檢驗真理的唯一標準(用程式碼說話)...