macos-app-installlisted
Install: claude install-skill wlkerwong-boop/family-ai-skills
# macOS 第三方软件安装
## 触发条件
- 用户给一个下载网址/安装包,要求装到他的 Mac 上
- 装完双击报"无法打开,因为无法验证开发者"或"已损坏"
- 需要验证装好的软件是否真的能跑
## 标准流程
1. 判断本机平台:`uname -m`(arm64=苹果芯片 / x86_64=Intel),据此选构建
2. 下载正确构建(标注 Universal 的包两种芯片都兼容)
3. 校验完整性:`ls -lh` 对比页面标注的大小,差太多说明下载坏了
4. 解压:`unzip -o xxx.zip -d 目标目录`;顺手删掉 `__MACOSX`(macOS 解压垃圾目录)
5. **解除隔离标记(关键步骤)**:`xattr -dr com.apple.quarantine /Applications/App.app`
—— 不解除,双击就会报"无法验证开发者/已损坏"
6. 检查架构和签名:`lipo -info App.app/Contents/MacOS/App`、`codesign -dv App.app`
(adhoc 签名是正常的——开发者自己签的,不代表文件有问题)
7. 移入应用程序文件夹:`mv App.app /Applications/`
8. 启动并验证进程真的在跑:`open /Applications/App.app && pgrep -fl App`
(看主进程 + 可能的 runtime 子进程都在)
## 坑
- **顺序别反**:先 xattr 解除隔离,再打开;反了还是会报错
- **"已损坏,无法打开"**:99% 是隔离标记问题,不是文件真的坏了,别往别的方向排查
- **架构不符**:Intel 包装到苹果芯片 Mac 上会无法运行,下载前确认 Universal/arm64
- **zip 里的 __MACOSX**:无用元数据,删掉
- 装的是网络类软件(VPN/代理):**进程在跑 ≠ 能用**,必须实测连通性,见 references/vpn-connectivity-verification.md
## 验证
- pgrep 能看到主进程 = 启动成功
- 网络类软件:A/B 实测国内外网站连通性(参考文件),用数据说话,不做口头保证
## 交付习惯
- 装完给一张"装好了什么/在哪/怎么用"的小表,三步操作说人话
- 清理安装包残留(下载的 zip、解压目录)问一句要不要删