当前在 mac app 中使用 qtwebengine ,签名过程中遇到一些问题:
### --deep 直接签名
```
codesign --verbose --deep --force --options runtime --timestamp --sign 'Developer ID Application: xxx' 'xxx.app'
```
签名结果:app 安装之后能通过 gatekeeper ,但是运行无法加载 qtwebengine 对应的前端内容,无法正常工作
### 使用 QtWebEngineProcess.entitlements 对 Qt 进行签名
```
codesign --verbose --deep --force --options runtime --timestamp --sign 'Developer ID Application: xxx' 'xxx.app'
codesign --verbose --force --verify --options runtime --sign 'Developer ID Application: xxx' --entitlements QtWebEngineProcess.entitlements 'xxx.app/Contents/Frameworks/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess'
codesign --verbose --deep --force --options runtime --timestamp --sign 'Developer ID Application: xxx' 'xxx.app/Contents/MacOS/app'
xattr -rd com.apple.quarantine create-dmg/Remote\ Graphics\ Workstation.app
Packing...
codesign --sign 'Developer ID Application: xxx' 'xxx.dmg'
xcrun notarytool submit --apple-id sheldonxlxu@tencent.com --password xgcv-npso-pkdm-xfhk --team-id WPPQGKQGU6 --wait 'Remote Graphics Workstation_.dmg'
xcrun stapler staple Remote\ Graphics\ Workstation_.dmg
spctl -a -t open --context context:primary-signature -vvv xxx.dmg
```
结果:每一步都是正常,codesign 是 validated ,公证也是 accepted ,安装 dmg 之后打开 app ,显示:**无法打开“xxx”,因为无法验证开发者。**
看起来签名还是有问题,但是看了半天也不知道问题在哪,请教一下有经验的大佬,应该怎么排查? |
|