签名验证失败
记录一下, 将自己编译的dylib替换到应用包目录下的Framwork时, 因签名验证关系而导致的应用无法启动的问题. 报错如下图:
解决方法:
- 在macOS恢复模式下, 关闭系统的签名验证SIP功能.
- 进入恢复模式的方法如下:
- M1苹果芯片的电脑: 关机, 按住电源键不松手, 会进入恢复模式
- Intel芯片的电脑: 关机, 按住command+R, 会进入恢复模式
- 进入恢复模式后, 在左上角的实用工具中打开终端输入
csrutil disable然后根据指示输入用户密码即可.(若要开启则输入csrutil enable即可, 输入scrutil status查看当前状态) - 重启电脑
- 进入恢复模式的方法如下:
dylib版本过低
还有可能遇到自己编译的库版本太低, 不符合应用的要求问题.
解决方法: 在xcode中的Build Settings中, 调整Compatibility Version 和Currnt Library Version选项高于所需版本即可.