關于 Xcode 13 運行 iOS 14 以下的真機直接閃退(dyld: launch, loading dependent libraries)

昨天剛剛給打包機升級了 Xcode 13 ,走了一遍打包流程,妥妥的沒問題,沒想到今兒個就出問題了:
Xcode 13 打出來的包在 iOS 13 和 iOS 12 的測試機上都無法打開(Xcode 12 沒有問題),點擊就閃退,經過真機調試,發現 Xcode console 斷在這里

dyld: launch, loading dependent libraries
DYLD_LIBRARY_PATH=/usr/lib/system/introspection
DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/Library/PrivateFrameworks/GPUTools.framework/libglInterpose.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib

繼續運行出現:

dyld: Library not loaded: /System/Library/Frameworks/UniformTypeIdentifiers.framework/UniformTypeIdentifiers
  Referenced from: /private/var/containers/Bundle/Application/DF5A3F7E-CEF3-4CFB-8621-8BF8776DA8C5/magapp-x.app/magapp-x
  Reason: image not found
19A81E894043DD480F64C686F13BA2AF.jpg

多么熟悉的錯誤,手動集成動態庫都遇到過。一番查證,UniformTypeIdentifiers.framework 是從 iOS 14 開始支持的,但是我的項目并沒有引用這個 framework,并且 Xcode 12 也是正常的,猜測是 Xcode 13 開始的變化。

后來又小伙伴發給我一篇文章有提到過類似的問題。

于是我根據這篇文章在項目中引入 UniformTypeIdentifiers.framework,并且在 BuildPhases 中將 Required 修改為 Optional,再次進行調試,成功運行。

F3B86F0D59E8CEBE3D60C886D702EA72.jpg

至此,問題解決。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容