升級xcode14后,運(yùn)行12.5系統(tǒng)固件以下的iPhone直接崩潰,啟動(dòng)不了。
崩潰提示:
dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib
Referenced from: /private/var/containers/Bundle/Application/xxxxxx/xxxxxx.app/Frameworks/Charts.framework/Charts
Reason: image not found
看原因是加載libswiftCoreGraphics動(dòng)態(tài)庫失敗了,沒有找到該庫的文件。我項(xiàng)目是OC+Swift混編,看報(bào)錯(cuò)意思是:這個(gè)Charts三方庫需要依賴這個(gè)libswiftCoreGraphics系統(tǒng)庫。因?yàn)槲襉C項(xiàng)目里只有Charts三方庫是swift編寫的,所以只有這個(gè)Charts三方庫報(bào)錯(cuò)。
在蘋果開發(fā)者論壇上找到了原因是xcode14自身兼容低系統(tǒng)固件的bug導(dǎo)致的問題。
解決方案:Build Setting ->Other Link Flags下添加-Wl,-weak-lswiftCoreGraphics
我項(xiàng)目使用的是cocoapods,運(yùn)行時(shí)哪個(gè)三方庫報(bào)這個(gè)錯(cuò),就找到報(bào)錯(cuò)的三方庫,同樣在Build Setting ->Other Link Flags路徑下添加這個(gè)-Wl,-weak-lswiftCoreGraphics。比如我Charts三方庫:

解決方案.jpg

蘋果開發(fā)者論壇方案.jpg