macOS 环境要求
口径说明
融云公开文档不覆盖 macOS 原生 SDK 与桌面交付链(dmg / 代码签名 / 公证 / 分发 / Gatekeeper);本页为本项目按 Apple 与 Electron 官方实践补齐的接入文档。
本节列出运行与构建 macOS 桌面端所需的系统、工具链与网络条件;命令均在 macOS 终端(zsh / bash)执行。
系统与硬件
| 项 | 要求 | 说明 |
|---|---|---|
| macOS | 11 Big Sur 及以上 | Electron 35 的最低系统要求;12 Monterey / 13 Ventura / 14 Sonoma / 15 Sequoia 均验证可用 |
| 架构 | x64(Intel)与 arm64(Apple Silicon) | x64 由本机(Intel Mac)实测;arm64 由 CI(macos-14)构建验证;Apple Silicon 可通过 Rosetta 运行 x64 包 |
| CPU / 内存 | 双核 / 8 GB 起(建议 16 GB) | 构建 universal 包与公证上传更吃内存 |
| 磁盘 | ≥ 3 GB 可用空间 | node_modules、Electron 二进制、构建产物与 dmg 缓存 |
| 显示 | 1280×800 起 | 多窗口 / 分屏场景建议 1440×900 以上 |
工具链
| 工具 | 版本 | 用途 |
|---|---|---|
| Node.js | 22.5+ | 构建与主进程运行时(Electron 35 内置 Node 22) |
| npm | 10+ | 依赖安装与脚本执行 |
| Xcode Command Line Tools | 15+ | codesign / notarytool / stapler / spctl 等命令行工具 |
| electron | 35.0.1 | 运行时(随依赖安装) |
| electron-builder | 24+ | 打包 `.app` / `.dmg`、签名与公证编排 |
| Developer ID 证书 | 按需 | 对外分发时签名;本地验证可用 ad-hoc |
自检命令
Shell
# 系统与架构
sw_vers
uname -m # x86_64 或 arm64
# 工具链
node -v # v22.x 及以上
npm -v
xcode-select -p # /Applications/Xcode.app/Contents/Developer 或 CommandLineTools
# 签名环境(发布时需要)
security find-identity -v -p codesigning
xcrun notarytool --version
xcrun stapler --version网络与权限
- 主进程需要访问 IM 服务端(WebSocket + HTTPS)与文件上传地址;企业代理环境需允许长连接。
- 首次运行会触发 macOS 的“本地网络”权限提示(若应用访问局域网服务端);用户拒绝后需在「系统设置 → 隐私与安全性 → 本地网络」重新开启。
- 企业内网分发或私有化部署时,若使用自签证书,需要把根证书加入钥匙串并设为信任,或在 Info.plist 中配置 ATS 例外(仅限自有域名)。
- 构建机访问 npm registry 与 Electron 二进制镜像;CI 上可用 `ELECTRON_MIRROR` 加速。
推荐目录布局
Text
your-desktop-app/
├── package.json # electron / electron-builder / @ni-paas-im/electron
├── main.mjs # 主进程:IMLib + 本地 SQLite + 窗口与 IPC
├── preload.mjs # contextBridge 白名单
├── renderer/ # 渲染进程 UI(IMKit 组件)
└── build/
├── icon.icns # 应用图标
└── entitlements.mac.plistApple Silicon 与 Intel 共用一台构建机
用 `npm run dist -- --x64 --arm64` 分别产出;需要单包同时支持两种架构时加 `--universal`(构建更慢、体积约翻倍)。