Skip to content

常见问题

安装与授权

AppPorts 需要什么权限?

AppPorts 需要完全磁盘访问权限,用于读取和修改 /Applications 目录。首次启动时会引导授权,你也可以在系统设置 → 隐私与安全性 → 完全磁盘访问权限中手动添加 AppPorts。

支持哪些 macOS 版本?

AppPorts 最低支持 macOS 12.0(Monterey)。macOS 15.1(Sequoia)及以上版本额外支持将 App Store 应用安装到外部存储,并在外部存储上原地更新。

可以使用 NAS 或网络挂载盘作为外部存储吗?

AppPorts 主要面向本地外部存储设备,例如移动硬盘、外置 SSD 或硬盘盒。NAS、SMB、rclone、SFTP 等网络挂载路径在理论上可以被 macOS 当作文件系统路径使用,但稳定性、权限、延迟和断线恢复能力取决于挂载方案本身。

如果要尝试网络挂载盘,建议先用不重要的应用或可重建的数据目录测试,并确认以下条件:

  • 挂载路径在 AppPorts 启动前已经可访问。
  • 网络断开后可以自动重新挂载到相同路径。
  • 文件系统支持应用所需的权限、扩展属性和符号链接行为。
  • 不要先迁移微信、虚拟机、游戏库等高价值或高频写入数据。

应用迁移

如何扫描非 /Applications 目录中的应用?

点击「Mac 本地应用」标题栏右侧的「+」按钮,选择要额外扫描的目录。适用于 JetBrains Toolbox、Steam 等将应用安装在自定义目录的工具。添加的目录会自动保存,下次启动 AppPorts 时会自动扫描,也会自动监控目录变化。

迁移后应用打不开怎么办?

  1. 确认外部存储已连接且可访问。
  2. 检查应用状态徽章。如果显示「孤立链接」,说明外部应用已丢失,需要手动解除链接。
  3. 如果系统提示应用「已损坏」,请在 AppPorts 中右键点击该应用并选择「重签名」。
  4. 如果仍无法解决,可在外部应用库中选择「迁回本地」,先恢复到本地运行状态。

出现「已损坏」提示怎么办?

这通常是 macOS 的代码签名机制检测到应用包结构发生变化。可按以下步骤处理:

  1. 在 AppPorts 中右键点击对应应用。
  2. 选择「重签名」。
  3. AppPorts 会自动备份原始签名,并执行 Ad-hoc 重签名。

详细机制请参阅重签名与崩溃防护

外部存储拔掉后应用会不会崩溃?

本地入口(Stub Portal)会尝试调用 open 打开外部应用。如果外部存储未连接,应用无法启动,但本地入口本身不会崩溃。重新连接外部存储后,即可恢复正常使用。

为什么有些应用迁移后仍然显示快捷方式箭头?

这是旧版 AppPorts 可能出现的情况。新版 AppPorts 对普通 .app 应用默认使用 Stub Portal,本地会显示为普通应用图标,通常不会再出现快捷方式箭头。

如果你仍然看到箭头,多半是旧版本创建的历史入口仍在使用整体符号链接。建议先将应用迁回本地,再使用当前版本重新迁移。

迁移后能不能更新应用?

取决于应用类型:

应用类型能否自动更新说明
原生应用(无自更新)可按原方式更新
Chrome、Edge(自定义更新器)更新安装到本地,AppPorts 检测到本地版本更高后标记「待迁出」
Sparkle / Electron 应用锁定后会阻止应用内更新,需通过 AppPorts 迁回本地后更新
App Store 应用(macOS 15.1+)App Store 可在外置硬盘原地更新
App Store 应用(macOS <15.1)需手动二次迁移

「待迁出」是什么意思?

「待迁出」表示本地存在一个真实应用,并且 AppPorts 判断它比外部存储中的同一应用副本更新。常见场景是 Chrome、Edge 或其他自定义更新器把新版本安装回本地,而外部存储上仍是旧版本。

看到该状态时,可以重新执行「迁移至外部」,让本地新版替换外部旧副本。AppPorts 会优先按 Bundle ID 匹配应用,再按规范化名称兜底;如果版本号缺失、无法比较,或同名应用的 Bundle ID 不一致,就不会显示「待迁出」。

外部目标已经存在时会被覆盖吗?

不会直接覆盖。AppPorts 只会在以下情况下自动清理外部目标并继续迁移:

  • 当前应用处于「待迁出」状态,外部目标可视为同一应用的旧副本。
  • 外部目标被识别为 AppPorts 创建的旧 Stub Portal、旧 Deep Contents Wrapper 或整体符号链接入口。
  • 外部目标是 AppPorts 迁移流程留下的旧残留。

如果外部位置存在无法确认归属的真实应用或目录,AppPorts 会停止迁移并提示目标冲突,避免误删用户数据。

App Store 应用怎么迁移到外置硬盘?

macOS 15.1+:在 App Store 设置中开启「下载并安装大型 App 到独立存储盘」,并选择与 AppPorts 外部应用库相同的外部存储。

macOS <15.1:在 AppPorts 设置中开启「App Store 应用迁移」。此方式需要手动迁移,应用更新后也需要再次迁移以覆盖外部副本。

App Store 更新后出现多个打开方式或版本不一致怎么办?

v1.7.1 及以上版本会自动同步外置应用的版本信息到本地 Stub Portal,「打开方式」菜单会自动更新。如果仍出现版本不一致,可点击刷新按钮手动触发同步。

旧版本(v1.7.0 及以下)的处理方式:

  1. 打开 AppPorts,刷新本地应用和外部应用列表。
  2. 如果本地版本更新,重新执行迁移,让新版本覆盖外部副本。
  3. 如果只是本地入口状态异常,先解除链接,再从外部应用库执行「链接回本地」。

macOS 15.1 及以上版本建议优先使用 App Store 的原生外置安装能力,减少版本分叉。

双击文档后应用能启动,但没有打开对应文件怎么办?

这类问题常见于 Office、WPS 等依赖文件关联参数的应用。旧版本 Stub Portal 可能只启动外部应用本体,没有正确传递被双击文件的路径。请先升级到 v1.6.2 或更高版本,然后将相关应用迁回本地并重新迁移,或在外部应用库中重新执行「链接回本地」。

如果问题仍然存在,请导出诊断包并提交 Issue,说明应用安装来源(App Store、官网 .pkg、DMG 等)和复现步骤。

Adobe、Office 等应用套件可以迁移吗?

可以尝试,但这类应用往往不是单个独立 .app,而是多个应用、共享组件、后台服务和授权模块组成的套件。AppPorts 会尽量以目录为单位处理应用套件,但兼容性仍取决于应用自身结构。

建议迁移前关闭套件内所有应用,并确认已经登录或激活。迁移后如果出现授权异常、关联文件打不开或组件找不到,可先迁回本地,再只迁移体积较大的独立应用或数据目录。

迁移速度慢/卡住怎么办?

  • 进度到达 100% 附近时可能会停顿一至两秒,这是在创建本地入口并完成收尾检查。
  • 大型应用(如 Xcode、Adobe 系列)迁移时间较长,属于正常现象。
  • 如果长时间无进展,请检查外部存储连接是否稳定。
  • USB 2.0 接口速度较慢,建议使用 USB 3.0 及以上接口或 Thunderbolt。

数据目录迁移

数据目录迁移后应用数据会不会丢失?

正常情况下不会。AppPorts 会先将数据完整复制到外部存储,确认复制成功后再删除本地原始目录并创建符号链接。任一步骤失败时,会尝试自动回滚。

如果外部目标目录已经存在,AppPorts 只会在其中的 .appports-link-metadata.plist 与当前源路径、目标路径和数据目录类型完整匹配时接续恢复。没有匹配 metadata 的真实目录会被视为冲突,AppPorts 不会仅凭大小相近就接管或覆盖。

什么情况下数据目录迁移可能导致应用异常?

  • 应用使用文件锁或 SQLite WAL 日志。
  • 跨符号链接访问时,扩展属性可能丢失或行为不一致。
  • 同一 Team 下多个应用共享 Group Containers 目录。

迁移 ~/Library/Containers/~/Library/Group Containers/ 下的应用数据时,AppPorts 会询问是否在迁移完成后对关联应用执行 Ad-hoc 重签名。若应用迁移后容易提示「已损坏」、无法识别数据或启动异常,建议选择「同意重签名」;如果只是想先迁移数据并保持签名状态不变,可选择「不同意,仅迁移」。

微信数据迁移后看不到聊天记录怎么办?

微信这类应用对容器路径、签名状态和本地数据一致性比较敏感。迁移后如果提示目录无法识别、聊天记录不可见或启动异常,请按以下顺序处理:

  1. 先在 AppPorts 中对微信执行「重签名」。
  2. 如果仍异常,立即在数据目录管理中执行「恢复」,将数据迁回本地。
  3. 确认微信恢复正常后,再决定是否重新尝试迁移。
  4. 如需反馈问题,请导出诊断包并附上微信版本、macOS 版本和迁移的数据目录类型。

迁移聊天记录、虚拟机、数据库等高价值数据前,建议先做独立备份。

Crossover、Parallels、虚拟机或游戏库适合迁移吗?

这些软件的应用本体通常不一定很大,真正占空间的往往是虚拟机镜像、容器、游戏库或模型缓存。相比迁移应用本体,更建议优先查看「数据目录」和「工具目录」中是否识别到了对应的大型数据目录。

如果数据目录包含虚拟磁盘、数据库或频繁写入的文件,请确保外部存储性能稳定,并先备份。网络挂载盘不建议直接承载这类高频写入数据。

如何恢复迁移的数据目录?

在 AppPorts 的数据目录管理界面中选择已迁移的目录,点击「恢复」即可。AppPorts 会删除本地符号链接,并将数据从外部存储复制回本地。

其他

AppPorts 会收集我的数据吗?

不会。AppPorts 完全离线运行,不收集、不上传用户数据。日志文件保存在本地 ~/Library/Application Support/AppPorts/ 目录下。

如何反馈问题?

请在项目 Issues 页面提交反馈。建议同时附上诊断包(菜单栏 → 日志 → 导出诊断包),以便更快定位问题。

最近更新