Mac应用第三方渠道发布指南

1.申请证书

Mac 应用有多种证书,主要包含以下几种:

Apple证书类型
Apple证书类型

  • Apple Development: Xcode 11之后Apple全平台开发证书
  • Apple Distribution: Xcode 11之后Apple全平台发布
  • Mac Development:用来开发和Debug的证书
  • Mac App Distribution:用来给APP文件签名后上传到Mac App Store
  • Mac Installer Distribution:用来给PKG文件签名后上传到Mac App Store
  • Developer ID Installer:用于给PKG文件签名,在非Mac App Store场景使用
  • Developer ID Application:用于给APP文件签名,在非Mac App Store场景使用

这里直接申请 Developer ID Application 证书,申请过程中需要使用 Mac 本地证书助理来创建证书签名请求,按照指引一步步完成即可。

证书申请完成
证书申请完成

申请完成后下载证书并在本地安装。

2.申请 App ID

也就是平常大家所说的 Bundle ID,这里跟普通 iOS App 是完全一致的,选择 APP IDs 即可,正常填写相关内容。

申请App ID
申请App ID

3.生成描述文件

这里同样选择生成 Developer ID 描述文件

生成描述文件
生成描述文件

然后选择 Mac 应用,并填写刚才申请的 App ID

4.本地工程配置

本地安装证书,描述文件,并在工程配置里的 Signing & Capabilities 填写刚才申请的 App ID(Bundle ID)和描述文件

本地工程配置
本地工程配置

5.对App文件进行签名和公证

开发完成后使用 Xcode 自带工具对 App 文件进行签名和公证。

首先选择 Product->Archive 生成 App 文件,注意这里的步骤要登陆证书对应的开发者账号。

生产App文件
生产App文件

之后使用 Distribute App 选项对 App 进行公证,这里并不是 App 审核,是苹果推出的一个针对 Mac 第三方 App安全机制 ,在 Mac OS 10.15 之后,没有公证的 APP 打开会出现错误信息。

对App进行公证
对App进行公证

这里同样选择 Developer ID ,之后选择 UploadExport 即可导出 App 文件,其中 Upload 会由 App Store 进行公证,速度还是很快的,几分钟之内就公证完毕了。

公证过程
公证过程

6.打包dmg文件

App 文件进行签名公证后最后一步就是打包生成 dmg 文件,这样打开后可以直接拖动 .app 文件到 Application 文件夹中,这里使用 create—dmg工具

具体选项可以参考 create-dmgGitHub 主页,需要注意的是 App 文件要放进 source_folder 文件夹里。

最后就得到一个可以任意安装的 dmg 文件啦,Mac 应用打包完成!

7.FAQ

如果在执行公证的时候:

公证过程
公证过程

出现如下报错:

Hardened Runtime(强化运行时)是 ApplemacOS 中引入的一项 安全机制,用于加强 App 的保护能力,防止被恶意注入、调试或篡改。

它是 App Notarization(公证)和沙盒(App Sandbox)安全体系的基础之一。凡是要进行公证或上架 App StoremacOS App,目前(2025/08/23)都必须开启 Hardened Runtime

如果你的项目中没有添加 Hardened Runtime,则需要点击项目名 – TARGETS – 应用名称 – Signing & Capabilities,点击“+ Capability”按钮,选择 Hardened Runtime

如果点安装包报错不能启动。使用命令行启动报错如下:

点击 “显示包内容” 进入应用程序目录,然后查看 Contents/MacOS/ 下的执行程序,发现是白色的,如下图:

而不是黑色的左上角带 exec 执行标记的样子,如下:

此问题大概率是由于安装包里的程序没有可执行权限导致的,执行如下命令授予执行权限即可。

命令参考如下:

参考链接


发布者

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注