推荐一款强大的macOS软件签名和公证工具:gon
在macOS Catalina系统之后,苹果对非Mac App Store分发的软件实行了严格的签名和公证要求,以保障用户的安全。为此,我们特别向你推荐一个简单易用的命令行工具——gon,它是一个专为macOS设计的CLI工具和Go库,可以帮助开发者轻松地签署和公证他们的CLI二进制文件。
项目简介
gon由Mitchell Hashimoto开发,虽然不再活跃维护,但仍可作为一个可靠的工具用于自动化签名和公证过程。无论你的代码是用何种语言编写的,gon都能处理,并且提供命令行接口和Go库两种形式供你选择。
技术分析
gon的工作流程包括:
- 文件签名:使用Developer ID证书对你的软件进行签名。
- 打包:将签名后的文件打包成dmg或zip格式。
- 公证:将打包文件提交给Apple进行公证。
- 票据绑定(Stapling):将公证票据绑定到支持的格式,如dmg,使Gatekeeper可以在离线状态下验证。
应用场景
适用于任何希望在macOS上发布和分发应用程序的开发者,尤其对于CI/CD自动化流程,gon可以无缝集成并确保你的软件符合Apple的安全标准,避免用户在安装时遇到“移到废纸篓”的尴尬提示。
项目特点
- 多语言兼容:能处理任何语言编写的二进制文件。
- 自动化:可用作CLI工具手动运行,也可嵌入自动化流程。
- 支持配置文件:允许通过配置文件控制签名、打包和公证的具体设置。
- 并行处理:支持并发公证多个输出格式,提高效率。
- 整合GoReleaser:可以与GoReleaser一起使用,简化构建流程。
总之,gon是一个实用的工具,帮助你克服macOS公证的挑战,让你的软件能够顺利地被广大macOS用户接纳和使用。尽管项目已归档,但其功能依然强大,值得尝试。如果你在寻找一种解决方案来应对macOS的签名和公证需求,不妨考虑使用gon。