關鍵詞:
dyld: Library not loaded: @rpath/xx.framework/xx
和 code signature invalid for xx.framework
遇到錯誤的共同條件:
- 真機調試
- Xcode 11.3.1 + iOS 13.3.1
- 非付費開發人員賬號和證書
- 使用Cocoa Pods引入過第三方framework
場景:
滿足上述條件下,無論是老項目還是新建一個OC/Swift的空白項目,在模擬器上可以正常運行;但是當使用真機進行調試時,Xcode直接奔潰。
解決辦法:
簡單來說,新版Xcode和iOS系統,在當我們使用非付費開發人員賬號時,都有概率對嵌入的動態庫發生無效簽名。而解決的方式有:
- 有條件的話,清理非付費開發人員賬號生成的證書與配置文件,改為付費人員對應的證書
- 打開Cocoa Pods的Podfile文件,注釋掉use_frameworks!
- 在Podfile文件中添加一句use_modular_headers!
- 執行pod deintegrate+pod install重新配置一次第三方庫