由於疫情的緣由,春節至今只能在家用本身的非付費開發人員帳號進行真機調試,從而發現這個問題,新建的簡單項目一直沒法進行真機調試,斷斷續續卡了我好幾天。 android
關鍵詞:ios
dyld: Library not loaded: @rpath/xx.framework/xx
和 code signature invalid for xx.framework
git
遇到錯誤的共同條件:github
- 真機調試
- Xcode 11.3.1 + iOS 13.3.1
- 非付費開發人員帳號和證書
- 使用Cocoa Pods引入過第三方framework
場景:app
知足上述條件下,不管是老項目仍是新建一個OC/Swift的空白項目,在模擬器上能夠正常運行;可是當使用真機進行調試時,Xcode直接奔潰,控制檯輸出如上圖框架
依據關鍵詞dyld: Library not loaded: @rpath/xx.framework/xx
搜索,大部分的解答都認爲是沒有找到對應框架,須要嵌入操做(embed),而後進行過以下幾種嘗試:ui
cmd + shift + k清理工程調試
清空/Users/xx/Library/Developer/Xcode/DerivedData
目錄code
general – embeded binaries 嵌入文件(這一步因爲Xcode11的更新,新的作法以下圖) cdn
在 Build Phases 裏添加 Copy Files
修改mach-O Type中的Dynam Library爲Static Library
在keychain中將使用的調試證書的信任改成「使用系統默認」
重裝rvm、Cocoa Pods、Xcode
但以上全部的方式皆未解決問題,因而改變思路爲搜索code signature invalid for xx.framework
,終於在蘋果開發者論壇找到相關提問,並一路連接到GitHub上幾個開源框架的issues(flutter和Alamofire無端中招😂)和Stack Overflow,最終找到:
code signature invalid for Framework
Running iOS apps causes runtime error for frameworks 「code signature invalid」
App crashes on iPhone but works fine with android emulator, android device and iOS simulator
use_frameworks!
use_modular_headers!
pod deintegrate
+pod install
從新配置一次第三方庫