升级xcode14后,运行12.5系统固件以下的iPhone直接崩溃,启动不了。
崩溃提示:
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动态库失败了,没有找到该库的文件。我项目是OC+Swift混编,看报错意思是:这个Charts三方库需要依赖这个libswiftCoreGraphics系统库。因为我OC项目里只有Charts三方库是swift编写的,所以只有这个Charts三方库报错。
在苹果开发者论坛上找到了原因是xcode14自身兼容低系统固件的bug导致的问题。
解决方案:Build Setting ->Other Link Flags下添加-Wl,-weak-lswiftCoreGraphics
我项目使用的是cocoapods,运行时哪个三方库报这个错,就找到报错的三方库,同样在Build Setting ->Other Link Flags路径下添加这个-Wl,-weak-lswiftCoreGraphics。比如我Charts三方库: