AppPorts
AppPorts 是一款专为 macOS 设计的应用迁移与链接工具,可将大型应用一键迁移到外部存储(SSD、SD 卡或 NAS),并在原位置保留极小的启动器占位,使系统仍认为应用本地存在,从而释放宝贵的本地磁盘空间。它采用独特的 Stub Portal 技术,支持自动更新保护、代码签名管理、孤立链接检测、数据目录迁移等功能,并拥有原生 SwiftUI 界面,支持 20 多种语言。
社区作者 · zZz
它解决什么问题
AppPorts 是一个面向 macOS 的开源应用迁移工具,解决 Mac 内置存储空间紧张的问题。用户可以通过它把 /Applications 目录中的大型应用移动到外置硬盘、SD 卡或 NAS,同时保留一个几乎不占空间的本地启动占位符。对 macOS 而言,应用仍然“存在”于本地,可正常从 Launchpad、程序坞或应用菜单启动,Finder 中不会显示快捷方式箭头。
核心特性包括:
- 无箭头迁移:一键迁移 GB 级应用,本地保留极小的启动占位,Finder 无箭头标记,Launchpad 和 macOS 应用菜单表现完美。
- 自动更新保护:自动检测使用 Sparkle、Electron、Chrome 等框架的自更新应用,并提供锁定迁移选项,防止外部应用被自动更新程序删除或覆盖。
- 代码签名管理:为迁移后显示“已损坏”警告的应用重新签名,或恢复原始签名;支持数据目录迁移后的自动签名。
- 孤立链接检测:当外部磁盘断开或应用被删除时,应用列表会显示红色“孤立链接”徽标,便于清理。
- macOS 15.1+ App Store 支持:在 macOS 15.1 及以上版本,App Store 应用可直接安装到外部磁盘,且 App Store 可原地更新而不必迁回。
- 随时恢复:一键将应用迁回本地并自动移除链接;中断的迁移会自动恢复。
- 数据目录管理:可将应用数据目录(如 ~/Library 子目录、~/.npm 等点文件夹)迁移到外部存储,提供树状视图、分组卡片、搜索和排序。
- 现代 UI:基于原生 SwiftUI,完整支持深色模式,20 多种语言。
- 无障碍支持:兼容 VoiceOver,具有清晰的语义标签,并提供盲文语言选项。
- 全球就绪:支持英语、中文、日语、韩语、德语、法语、西班牙语、意大利语、葡萄牙语、俄语、阿拉伯语、印地语、越南语、泰语、土耳其语、荷兰语、波兰语、印尼语、世界语、盲文以及“火星文”。
AppPorts 根据应用类型自动选择迁移策略:原生 Mac 应用使用 Stub Portal;自更新应用使用 Stub Portal + 锁定;iPhone/iPad 应用使用 iOS Stub Portal;Mac App Store 应用在 macOS 15.1+ 原生支持;应用套件(如 Office、Adobe)使用文件夹符号链接;系统应用、正在运行的应用和已链接的应用会被阻止迁移,防止破坏系统或双重链接。
项目基于 Apache License 2.0 开源,适合希望释放本地磁盘空间、使用外部存储替代内置存储的 macOS 用户。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
- 系统要求:macOS 12.0 (Monterey) 或更新版本。
- 下载并安装:请访问官方网站或 Releases 页面下载最新版 AppPorts.dmg 进行安装。
- 授权完全磁盘访问权限(AppPorts 需要读写 /Applications):
(应用内也提供引导,可直接打开相关设置页面)
- 打开 系统设置 → 隐私与安全性。
- 选择“完全磁盘访问权限”。
- 点击 + 按钮,添加 AppPorts,并打开开关。
- 重新启动 AppPorts。
xattr -rd com.apple.quarantine /Applications/AppPorts.app
- 常见问题:如果在打开应用时出现“‘AppPorts’已损坏,无法打开”的提示(macOS 建议移到废纸篓),这是因为应用未使用 Apple Developer ID 签名。请在终端中运行以下命令以移除隔离属性(该命令假定已把 AppPorts 移动到 /Applications 文件夹):
- 开发构建:
执行
git clone https://github.com/wzh4869/AppPorts.git- 使用 Xcode 打开项目并构建。



