兼容性与限制
系统要求
| 要求 | 说明 |
|---|---|
| 最低系统版本 | macOS 12.0 (Monterey) |
| 架构 | Intel x86_64 / Apple Silicon (arm64) |
| 权限 | 完全磁盘访问权限 |
| 外部存储 | 需要至少一个外部存储设备 |
功能兼容性
按 macOS 版本
| 功能 | macOS 12.0 - 15.0 | macOS 15.1+ |
|---|---|---|
| 应用迁移(Stub Portal) | ✓ | ✓ |
| 数据目录迁移 | ✓ | ✓ |
| 代码签名管理 | ✓ | ✓ |
| App Store 应用迁移到外部存储 | ✗ | ✓ |
| App Store 应用在外部存储原地更新 | ✗ | ✓ |
| iOS 应用迁移 | ✓ | ✓ |
macOS 15.1 以下的 App Store 应用
macOS 15.1(Sequoia)之前的系统不支持 App Store 应用原生安装到外部存储。若确需迁移,需要在 AppPorts 设置中手动开启「App Store 应用迁移」开关;应用更新后,也需要再次手动迁移以覆盖外部副本。
按应用类型
| 应用类型 | 迁移 | 还原 | 自动更新 | 说明 |
|---|---|---|---|---|
| 原生 macOS 应用 | ✓ | ✓ | ✓ | 最佳兼容性 |
| Sparkle 应用 | ✓ | ✓ | 需锁定 | 锁定后会阻止应用内更新,需迁回本地后更新 |
| Electron 应用 | ✓ | ✓ | 需锁定 | 与 Sparkle 应用相同 |
| Chrome / Edge(自定义更新器) | ✓ | ✓ | ✓ | 更新程序安装到本地,不破坏外部副本 |
| App Store 应用(macOS 15.1+) | ✓ | ✓ | ✓ | 原生外置安装,App Store 可直接更新 |
| App Store 应用(macOS <15.1) | ✓ | ✓ | 需手动 | 更新后需再次迁移 |
| iOS 应用(Mac 版) | ✓ | ✓ | ✓ | 使用 iOS Stub Portal |
| 系统应用 | ✗ | — | — | SIP 保护,不可迁移 |
关于 Finder 快捷方式箭头
旧版 AppPorts 创建的迁移入口可能使用整体符号链接,因此 Finder 会显示快捷方式箭头。当前版本对普通 .app 应用默认使用 Stub Portal,本地入口通常不会显示箭头;如仍看到箭头,建议迁回本地后重新迁移。
关于「待迁出」
「待迁出」依赖可比较的应用版本和可靠的同一应用判断。AppPorts 会优先使用 Bundle ID 匹配本地与外部应用,并在必要时按规范化应用名称兜底;如果版本号缺失、格式无法比较,或同名应用 Bundle ID 不一致,就不会显示该状态。
按数据目录类型
| 数据目录类型 | 迁移 | 风险 |
|---|---|---|
~/Library/Application Support/ | ✓ | 中 — 应用可能使用文件锁或 SQLite WAL 日志 |
~/Library/Preferences/ | ✓ | 低-中 — cfprefsd 缓存可能导致读取到过期配置 |
~/Library/Containers/ | ✓ | 中 — 同一 Team 下的多个应用可能共享数据 |
~/Library/Group Containers/ | ✓ | 中 — 共享数据可能影响同一 Team 下的其他应用 |
~/Library/Caches/ | ✓ | 低 — 缓存可重建 |
~/Library/Logs/ | ✓ | 低 — 仅日志文件 |
~/Library/WebKit/ | ✓ | 中 — WebKit 本地存储 |
~/Library/HTTPStorages/ | ✓ | 低 — 网络会话存储 |
~/Library/Application Scripts/ | ✓ | 低 — 扩展脚本 |
~/Library/Saved Application State/ | ✓ | 低 — 窗口状态恢复 |
~/.npm、~/.m2 等 dot-folder | ✓ | 低 — 开发工具缓存 |
高价值数据目录
微信聊天记录、虚拟机镜像、游戏库、数据库、模型缓存等目录通常体积大、写入频繁,且对路径和文件锁较敏感。迁移前建议先做独立备份;迁移后如应用提示数据异常,应优先恢复到本地再排查。
目标目录冲突
数据目录迁移不会因为外部目录大小接近就自动接管或恢复。只有外部目录中的 AppPorts metadata 与当前任务完整匹配时,AppPorts 才会继续自动恢复;否则会将其视为真实目录冲突并停止操作。
不可迁移的内容
受 SIP 保护
| 路径 | 原因 |
|---|---|
| macOS 系统应用(Safari、Finder 等) | 系统完整性保护 |
~/Library/Containers/ 顶层目录 | macOS 系统保护 |
包含路径引用
| 路径 | 原因 |
|---|---|
~/.local | 包含可执行文件路径引用,迁移后命令行工具可能失效 |
~/.config | 包含绝对路径配置,迁移后工具配置可能失效 |
外部存储要求
| 要求 | 说明 |
|---|---|
| 文件系统 | 支持 APFS、HFS+ 和 exFAT |
| 最小空间 | 视迁移应用大小而定 |
| 接口 | USB、Thunderbolt、NVMe 均支持 |
| 保持连接 | 迁移后外部存储需保持连接,否则相关应用无法启动 |
文件系统建议
- APFS:推荐,支持克隆、快照,性能最佳
- HFS+:兼容性好,适合旧款 Mac
- exFAT:跨平台兼容,但不支持硬链接和克隆
网络挂载盘
NAS、SMB、rclone、SFTP 等网络挂载盘不属于 AppPorts 的主要验证目标。它们可能可以使用,但需要自行确认挂载稳定性、路径一致性、权限、扩展属性和符号链接行为。对于需要持续写入的数据目录,不建议优先使用网络挂载盘。
