Apple无法检查它是否包含恶意软件

时间:2020-01-23 13:29:08

标签: macos macos-catalina codesign

我正在分发基于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无法检查它是否存在恶意 软件

类似于: enter image description here

我看到您仍然可以从“安全和隐私面板”中打开它,但这不是我希望我的用户这样做。 我如何摆脱此消息?有其他签名方式吗?还是我需要从卡塔琳娜州签名?

1 个答案:

答案 0 :(得分:6)

您还需要notarize您的应用程序。在MacOS 10.15及更高版本上,这是开发人员ID签名应用程序的要求。

此过程需要您将签名的.app上传到Apple,并已集成到Xcode中,但是您也可以使用命令行工具altoolstapler手动执行这些步骤。

一个不错的起点是WWDC Session