Apple 无法检查它是否存在恶意软件
Apple cannot check it for malicious software
我正在分发基于 nw.js 的 macOS 应用程序,我使用 codesign
命令手动对其进行签名,并使用有效的 macOS 证书(该应用程序是在 Mojave 中创建并使用最新的签名XCode 工具)。
codesign -s "my identity" --deep "my app.app"
请注意,--deep
开关是必需的,因为我也在修改我的应用程序包中的 .framework 包
签名成功,我也可以验证codesign
:
codesign -d --verbose=4 "my app.app"
spctl --assess --verbose=4 --type execute "my app.app"
然后我通过网络(Google 驱动器)分发它,并且在没有任何警告的情况下在 Catalina 之前的任何 Mac 中都可以正常工作。
当我尝试在另一台计算机 运行 Catalina 中打开应用程序时,我收到此消息
"xxxx" can't be opened because Apple cannot check it for malicious
software
类似这样:
我看到您仍然可以从 "Security and Privacy panel" 打开它,但这不是我希望我的用户执行的操作。
我怎样才能摆脱这个消息?有不同的签名方式吗?或者我需要从 Catalina 那里签名吗?
您还需要notarize您的申请。这是 macOS 10.15 及更高版本上开发者 ID 签名应用程序的要求。
该过程需要您将签名的 .app 上传到 Apple,并集成到 Xcode,但您也可以使用命令行工具 altool
和 [=11] 手动执行这些步骤=].
一个好的起点是 WWDC Session
我正在分发基于 nw.js 的 macOS 应用程序,我使用 codesign
命令手动对其进行签名,并使用有效的 macOS 证书(该应用程序是在 Mojave 中创建并使用最新的签名XCode 工具)。
codesign -s "my identity" --deep "my app.app"
请注意,--deep
开关是必需的,因为我也在修改我的应用程序包中的 .framework 包
签名成功,我也可以验证codesign
:
codesign -d --verbose=4 "my app.app"
spctl --assess --verbose=4 --type execute "my app.app"
然后我通过网络(Google 驱动器)分发它,并且在没有任何警告的情况下在 Catalina 之前的任何 Mac 中都可以正常工作。 当我尝试在另一台计算机 运行 Catalina 中打开应用程序时,我收到此消息
"xxxx" can't be opened because Apple cannot check it for malicious software
类似这样:
我看到您仍然可以从 "Security and Privacy panel" 打开它,但这不是我希望我的用户执行的操作。 我怎样才能摆脱这个消息?有不同的签名方式吗?或者我需要从 Catalina 那里签名吗?
您还需要notarize您的申请。这是 macOS 10.15 及更高版本上开发者 ID 签名应用程序的要求。
该过程需要您将签名的 .app 上传到 Apple,并集成到 Xcode,但您也可以使用命令行工具 altool
和 [=11] 手动执行这些步骤=].
一个好的起点是 WWDC Session