macOS应用公证自动化指南:用fastlane实现提交流程
时间:2026-08-21 | 作者:宇宙开黑者 | 阅读:0背景介绍
在macOS系统里,为保障用户安全,Apple规定开发者对那些未通过Mac App Store分发的应用程序必须进行公证(Notarization)。
要是应用程序没经过公证,用户在运行时就会看到警告弹窗,这对用户体验可不好。
虽说开启沙箱模式的应用能直接通过App Store分发来避开这个问题,但对于需要直接分发的应用而言,公证可是必不可少的一步。
公证自动化方案
本文将介绍如何使用 fastlane 来自动化 macOS 应用的公证流程。
Fastlane 是一个广受欢迎的自动化工具,可以大大简化我们的发布流程。
准备工作
- 安装 fastlane
brew install fastlane
- 安装 mac build 插件
fastlane add_plugin notarize
配置步骤
1. 确认签名证书
这里需要去下载 分发证书安装!【Apple Distribution】
首先需要确认可用的签名证书。在终端执行:
security find-identity -v -p codesigning
此命令会列出所有可用的签名证书,请记录下您要使用的证书 ID。
2. 配置 App Store Connect API
- 访问 App Store Connect
- 创建新的 API 密钥
- 记录以下信息:
- Issuer ID
- 密钥 ID
- 下载 p8 文件(注意:只能下载一次)
3. 创建 API 密钥配置文件
创建 api_key.json 文件,内容如下:
{
"key_id": "您的密钥 ID",
"issuer_id": "您的 Issuer ID",
"key": "p8文件内容(换行使用n)",
"duration": 1200,
"in_house": false
}
实现自动化公证
1. 应用打包
首先需要使用 fastlane 的 build_mac_app 动作来打包应用:
build_mac_app(
scheme: "YourScheme", # 项目名称
export_method: "developer-id",
clean: true,
output_directory: "./",
output_name: "YourAppName"
)
2. 应用公证
使用 fastlane 的 notarize 动作来完成公证:
notarize(
package: "./YourApp.app", # 应用路径
bundle_id: "com.yourcompany.app", # Bundle ID
asc_provider: "YOUR_TEAM_ID", # 开发者账号 Team ID
print_log: true,
api_key_path: "./fastlane/api_key.json" # API 密钥文件路径
)
注意事项
- 确保您的应用已经正确签名
- API 密钥文件需要妥善保管,不要提交到版本控制系统
- 公证过程可能需要几分钟时间,请耐心等待
- 建议在正式发布前进行测试,确保公证流程正常
验证是否公证成功
spctl --assess -vv "**.app"
输出:
**.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: ###
总结
通过使用 fastlane,我们可以将 macOS 应用的公证过程自动化,大大提高了开发效率。
这个流程不仅可以集成到您的 CI/CD 流程中,还可以确保每次发布的应用都经过了正确的公证。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- SumatraPDF远程控制指南DDE命令与自动化脚本详解
- 时间:2026-08-23
-
- 年GEO工具监测分析与自动化闭环构建实践
- 时间:2026-08-21
-
- C#实现PDF页码自动插入方法与实用技巧
- 时间:2026-08-21
-
- Scrutor实现.NET依赖注入自动化的优雅方案
- 时间:2026-08-20
-
- 品牌AI曝光监测怎么做?人工、API自动化与专业系统选型指南
- 时间:2026-08-18
-
- VSCode中Node.js项目npm、yarn与pnpm脚本执行优先级配置
- 时间:2026-08-17
-
- AI在CI/CD管道中的角色定位与审查测试部署自动化边界
- 时间:2026-08-17
-
- 企业内网终端运维提质增效的五大自动化落地方案
- 时间:2026-08-17
精选合集
更多大家都在玩
大家都在看
更多-
- 为什么湿头发更容易断裂 蚂蚁庄园今日答案9.15
- 时间:2026-09-14
-
- 蚂蚁庄园今天答题答案2026年9月15日
- 时间:2026-09-14
-
- 蚂蚁庄园答题今日答案2026年9月15日
- 时间:2026-09-14
-
- 蚂蚁庄园小课堂2026年9月15日最新题目答案
- 时间:2026-09-14
-
- 小鸡答题今天的答案是什么2026年9月15日
- 时间:2026-09-14
-
- 蚂蚁庄园每日答题答案2026年9月15日
- 时间:2026-09-14
-
- 糖尿病患者禁食所有含糖食物吗 蚂蚁庄园今日答案9月15日
- 时间:2026-09-14
-
- 2026年9月14日蚂蚁新村答案
- 时间:2026-09-14
