MacOS环境下Chromium构建签名与打包步骤咨询
MacOS下自制Chromium构建的签名与打包步骤
准备工作
- 拥有Apple开发者账号(个人/团队均可,分发必须),并将Developer ID Application类型证书导入本地Keychain
- 确认Chromium构建产物完整,包含
Chromium.app主程序及Contents/Frameworks下的所有附属框架、Helper工具
签名流程(核心复用Chrome文档逻辑,适配Chromium)
Chromium与Chrome的Mac打包结构一致,官方文档的签名流程核心可复用,只需跳过Google专属配置:
- 先签名底层组件:进入
Chromium.app/Contents/Frameworks目录,对所有.framework和Helper.app逐一签名codesign --deep --force --sign "你的Developer ID证书全称" 目标组件路径 # 示例:codesign --deep --force --sign "Developer ID Application: John Doe (XXXXXX)" Chromium\ Framework.framework - 签名主程序:完成所有组件签名后,对主App执行签名
codesign --deep --force --sign "你的Developer ID证书全称" Chromium.app - 验证签名有效性:
确保输出无错误提示,显示codesign --verify --verbose=4 Chromium.appvalid on disk和satisfies its Designated Requirement即可
打包分发
生成DMG镜像(Mac分发标准格式)
- 创建包含Chromium.app的DMG:
(可根据实际App体积调整hdiutil create -size 1.5g -volname "Chromium" -fs HFS+ -srcfolder ./Chromium.app ./Chromium.dmg-size参数) - 签名DMG(通过Gatekeeper分发必须):
codesign --sign "你的Developer ID证书全称" ./Chromium.dmg - 验证DMG签名:
codesign --verify --verbose=4 ./Chromium.dmg
可选:Apple公证(绕过Gatekeeper限制)
如果要让用户无需手动允许即可打开,需要完成Apple公证:
- 提交DMG到公证服务:
xcrun notarytool submit ./Chromium.dmg --keychain-profile "你的公证配置文件名称" --wait - 给DMG加盖公证戳记:
xcrun stapler staple ./Chromium.dmg
关键注意事项
- 必须按底层组件→主程序的顺序签名,跳过组件直接签名主App会导致失败
--deep参数可自动处理嵌套结构,但如果引入了第三方自定义框架,需单独对其签名后再处理整体- 若修改过Chromium的Bundle ID,需确保签名证书的权限覆盖该ID
- 官方Chrome签名文档中涉及Google内部配置(如特定证书、打包脚本)的部分可直接忽略,核心签名逻辑完全适配Chromium
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

