我正在分发基于nw.js的macOS应用程序,并使用有效的macOS证书使用codesign
命令手动签名(该应用程序是使用最新的XCode工具在Mojave中创建和签名的)。
codesign -s "my identity" --deep "my app.app"
请注意,--deep
开关是必需的,因为我也在修改App捆绑包中的.framework包
签名成功,我也可以使用codesign
进行验证:
codesign -d --verbose=4 "my app.app"
spctl --assess --verbose=4 --type execute "my app.app"
然后我通过网络(Google云端硬盘)分发它,并且在Catalina之前的任何Mac上都可以正常工作,而不会发出任何警告。 当我尝试在另一台运行Catalina的计算机上打开该应用程序时,收到此消息
“ xxxx”无法打开,因为Apple无法检查它是否存在恶意 软件
我看到您仍然可以从“安全和隐私面板”中打开它,但这不是我希望我的用户这样做。 我如何摆脱此消息?有其他签名方式吗?还是我需要从卡塔琳娜州签名?
答案 0 :(得分:6)
您还需要notarize您的应用程序。在MacOS 10.15及更高版本上,这是开发人员ID签名应用程序的要求。
此过程需要您将签名的.app上传到Apple,并已集成到Xcode中,但是您也可以使用命令行工具altool
和stapler
手动执行这些步骤。
一个不错的起点是WWDC Session