如何正确签署 Mac 申请以进行自我分发?

How to properly sign a Mac application for self-distribution?

我创建了一个 Mac 文件上传客户端应用程序,它基于 UDT 库实现了通过 UDP 协议的高性能可靠数据传输。

我的设置:

现在我想弄清楚如何正确地对其进行签名,以便最终用户可以 运行 它而无需执行 Gatekeeper 覆盖。

这是我所在的位置:

"XYZ" can't be opened because it is from an unindentified developer. Your security preferences allow installation of only apps from the App Store and identified developers.

我该如何解决这个问题,以便下载的应用程序在 Gatekeeper 提示中默认有一个 "Open" 按钮。某些应用程序(例如 GIMP)已被正确识别,即使它们并非源自 App Store。

我需要做什么来解决这个问题?

我一直在挖掘它,我找到了我的答案: https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution?language=objc

我需要的证书类型是 Developer ID 和提供 Developer ID Application 的类型,这是用于自行分发已签名 Mac 应用程序的类型。 之后需要提交给Apple进行公证,以满足10.14.5+的要求。公证完成后,我可以将导出的应用程序发送给自己,它为我提供了一个 "Open" 选项,用于从 Internet 下载的应用程序。这是期望的行为。

我要求帐户持有人通过向他们发送 CSR 来向他们颁发开发者 ID 证书,因为对于不是原始开发者帐户持有人的委托用户,开发者 ID 证书选项是灰色的(管理员角色可能满足,但我不是那种人所以不能说)。

赞。