由于疫情的缘由,春节至今只能在家用本身的非付费开发人员帐号进行真机调试,从而发现这个问题,新建的简单项目一直没法进行真机调试,断断续续卡了我好几天。 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
从新配置一次第三方库