朋友双击只看到一次「从互联网下载,确定打开?」,点「打开」就用上了。
桌面软件 · 打包与分发
打包与签名公证Code Signing & Notarization
没签名的安装包会被 macOS Gatekeeper 和 Windows SmartScreen 拦下;Windows 要签名,Mac 要签名 + 公证,证书花钱花时间,要提前排进上线计划。
先发包:朋友双击后,屏幕上弹出什么
笔记应用 v1.0 打好包了。在流水线上勾签名、公证,再发给 macOS 或 Windows 的朋友——他屏幕上弹出的框,就是你的验收结果。
- ① 打包笔记-1.0.dmg 已生成
- Developer ID 证书 · 苹果开发者账号 $99/年
- 要先签名才能公证
朋友的电脑:还没收到安装包
勾好流水线,再点「发给朋友,双击打开」。
知识点:签名回答「谁发的、有没有被改过」
朋友屏幕上的框已经演过,这里只做命名。
- 没签名的安装包,macOS 的 Gatekeeper 和 Windows 的 SmartScreen 都会拦;普通用户看到就放弃了。
- macOS 要两步:用 Developer ID 证书签名,再提交 Apple 公证;只签名不公证照样被拦。
- Windows 签名后显示发布者名称;新证书下载量少时仍可能提示,信誉要慢慢积累。
- 证书要花钱(苹果每年 $99,Windows 证书每年几百美元起)、申请要几天——提前排进计划,证书只放在 CI 密钥里。
什么时候用、怎么用
只要安装包要离开你自己的电脑,就要签。
- 信号:要发给同事、客户或放到官网下载。自己电脑上能打开不算数——本机构建的包不带「从网上下载」标记。
- 不适用:只上架 Mac App Store / Microsoft Store 时,商店流程会处理签名,但仍要开发者账号。
- 先办开发者账号和证书(这一步最慢),再让 AI 在打包配置里接上签名和公证。
- 证书和密码放进 CI 的密钥,不进仓库。
- 验收:在一台干净的 Mac 和 Windows 上,从浏览器下载开始,双击打开一次。
正反例:同一个 v1.0 安装包
代码一样,差别只在发出去之前有没有签名公证。
大部分人看到「无法验证」就删了;就算教会了绕过,也是在教用户忽略安全警告。
快速自测
AI 报告:「macOS 安装包已用 Developer ID 签名,在我这台 Mac 上能正常打开。」可以直接发给用户吗?
继续查证
术语的技术定义和行为以这些一手或权威资料为准。
下一步学
和本知识点经常一起出现的概念。