codesign用来签名和检查签名
1. 关于--options=runtime之前文章已经有介绍
2. 关于entitlements参数,这里暂时未发现entitlement和内容不符,会出问题,可能以后会有问题
我们签QtWebEngineCore.framework下面的Helpers下的QtWebEngineProcess.app时,用自己工程的entitlements替换了
QtWebEngineCore.framework/Versions/A/Helpers/QtWebEngineProcess.app/Contents/Resources/QtWebEngineProcess.entitlements
com.apple.security.cs.allow-unsigned-executable-memory
com.apple.security.cs.disable-library-validation
com.apple.security.cs.allow-jit
这里面的值和我们的不太一样,也没发现报错,特别是allow-jit删掉以后,也没发现报错。这是一个可疑的点,可能会有坑。
3. -dvvv和-vvv
-dvvv显示有没有签名,它不保险,显示有,但签名可能不合法
-vvv验证签名,它会检查签名,但是当签名是adhoc或者未认证帐号,它也会报正常。
所以这两个要结合用,昨天发现的问题就是-vvv不报错,是adhoc签名,在spctl的时候报错。
spctl用来验证app合法性,相当于验证守门员是不是工作,能不能过守门员的检查。
1. 它用来检查某个app合法性,当用在framework上时
conanchen@ConanChen client-delivery % spctl -a -v /Users/conanchen/client-delivery/Output/AppBundle/Test/Autodesk\ Fusion\ 360.app/Contents/Frameworks/Qt/QtWebEngineCore.framework
/Users/conanchen/cli
1. 关于--options=runtime之前文章已经有介绍
2. 关于entitlements参数,这里暂时未发现entitlement和内容不符,会出问题,可能以后会有问题
我们签QtWebEngineCore.framework下面的Helpers下的QtWebEngineProcess.app时,用自己工程的entitlements替换了
QtWebEngineCore.framework/Versions/A/Helpers/QtWebEngineProcess.app/Contents/Resources/QtWebEngineProcess.entitlements
com.apple.security.cs.allow-unsigned-executable-memory
com.apple.security.cs.disable-library-validation
com.apple.security.cs.allow-jit
这里面的值和我们的不太一样,也没发现报错,特别是allow-jit删掉以后,也没发现报错。这是一个可疑的点,可能会有坑。
3. -dvvv和-vvv
-dvvv显示有没有签名,它不保险,显示有,但签名可能不合法
-vvv验证签名,它会检查签名,但是当签名是adhoc或者未认证帐号,它也会报正常。
所以这两个要结合用,昨天发现的问题就是-vvv不报错,是adhoc签名,在spctl的时候报错。
spctl用来验证app合法性,相当于验证守门员是不是工作,能不能过守门员的检查。
1. 它用来检查某个app合法性,当用在framework上时
conanchen@ConanChen client-delivery % spctl -a -v /Users/conanchen/client-delivery/Output/AppBundle/Test/Autodesk\ Fusion\ 360.app/Contents/Frameworks/Qt/QtWebEngineCore.framework
/Users/conanchen/cli
