Files
MyAiDesk/nomifun-tauri/apps/desktop/signing/.env.signing.example
T
freedak f7a720204a Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用
- 添加所有子项目的完整源代码
- 保留原始 .git 为 .git.bak 备份
2026-07-04 19:20:46 +08:00

47 lines
2.8 KiB
Bash

# ============================================================================
# macOS 代码签名 + 公证(notarization)配置 —— 模板(可入库,无密钥)
# ----------------------------------------------------------------------------
# 用法:
# 1. 复制本文件为同目录的 .env.signing(真实文件,已被 .gitignore,绝不入库):
# cp apps/desktop/signing/.env.signing.example apps/desktop/signing/.env.signing
# 2. 填入下面的真实值(来源见同目录 README.md)。
# 3. 出带签名 + 公证的安装包:
# bun run build:signed
#
# 普通 `bun run build` 不读这些变量,保持 ad-hoc 签名,任何人都能照常构建。
# ============================================================================
# ── 1) 签名身份(下面两种二选一)─────────────────────────────────────────
# 【推荐 / 本机开发】证书已导入「登录」钥匙串后,只填身份全名即可。
# 取值:终端执行 security find-identity -v -p codesigning
# 复制引号里的全名,形如:Developer ID Application: Your Name (TEAMID1234)
# ⚠️ 必须是 "Developer ID Application" 类型,不能是 "Apple Development" / "Mac Developer"。
APPLE_SIGNING_IDENTITY="Developer ID Application: YOUR NAME (YOURTEAMID)"
# 【或 / CI、无钥匙串】直接给 .p12 的 base64 内容(此时把上面的 IDENTITY 留空/注释掉)。
# 导出:钥匙串里右键证书 → 导出为 .p12(设个导出口令)→ base64 -i DeveloperID.p12 | pbcopy
# APPLE_CERTIFICATE=""
# APPLE_CERTIFICATE_PASSWORD=""
# ── 2) 公证 notarization(下面两种二选一)───────────────────────────────
# 不配公证 → 别人下载后仍会报「无法验证开发者」(比「已损坏」好,但仍打不开)。
# 要彻底解决,必须配公证。
# 【推荐】App Store Connect API Key 方式:
# 生成:App Store Connect → Users and Access → Integrations → Keys
# → 生成一个 "Developer" 角色的 Key → 下载 AuthKey_XXXX.p8(只能下一次!)
# .p8 放到「仓库外」或下面这个已 gitignore 的目录;路径可相对仓库根,也可绝对路径。
APPLE_API_ISSUER="00000000-0000-0000-0000-000000000000" # Issuer ID(keys 表格上方那串)
APPLE_API_KEY="ABCDE12345" # Key ID(表格 "Key ID" 列)
APPLE_API_KEY_PATH="apps/desktop/.tauri/AuthKey_ABCDE12345.p8" # .p8 文件路径
# 【或】Apple ID 方式(此时把上面三个 APPLE_API_* 留空/注释掉):
# APPLE_PASSWORD 是「App 专用密码」,不是你的登录密码。
# 生成:appleid.apple.com → 登录与安全 → App 专用密码 → 生成。
# APPLE_ID="you@example.com"
# APPLE_PASSWORD="xxxx-xxxx-xxxx-xxxx"
# APPLE_TEAM_ID="YOURTEAMID"