故障排除
應用程式按兩下無反應,圖示閃一下就沒了
最常見的原因:這個應用程式被 AppPorts 重簽名過,升級到 macOS 27 後被系統拒絕取用自己的容器(不是每個重簽名過的應用程式都會,微信已確認)。資料沒有壞。
確認方法:
codesign -dv --verbose=4 /Applications/<应用名>.app 2>&1 | grep -E "Signature|TeamIdentifier"
# 出现 Signature=adhoc 和 TeamIdentifier=not set 即是修復:還原容器資料 → 從官方管道重新安裝 → 需要的話再掛載遷移。不要再點重簽名,也不要只還原資料就當修好。完整步驟見 macOS 27 升級說明。
掛載遷移失敗
| 提示 | 原因 | 處理 |
|---|---|---|
| 外接儲存裝置不是 APFS 格式 | 外接磁碟是 exFAT / NTFS / HFS+ | 可以維持現狀:容器資料留在本機,其他照常遷移。想遷移時換一個 APFS 磁碟,或按準備 APFS 外接磁碟操作;exFAT 不能用系統內建工具直接縮小 |
| 外接儲存裝置已加密 | 外接磁碟是加密的 APFS,建立的資料卷宗不會繼承密碼 | 維持現狀,或改選未加密的 APFS 位置,見加密的外接磁碟 |
| 空間不足 | 外接磁碟(遷移)或本機(還原)剩餘空間不夠 | 清理空間後重試;檢查在建立卷宗或複製之前進行,沒有改動任何資料 |
磁碟命令執行失敗 … kDAReturnNotPrivileged | 舊系統(如 macOS 12)不允許一般使用者掛到自訂路徑 | AppPorts 會彈管理者密碼對話框重試,輸入密碼即可;1.9.0 之前的版本沒有這一步 |
| 使用者取消了管理者授權 | 密碼對話框被取消 | 重新執行一次 |
| 掛載點目錄不為空 | 卷宗沒掛時應用程式在本機目錄裡寫了檔案 | 把目錄裡的檔案移走再按一下「掛載」 |
| 掛載後驗證失敗 | 卷宗掛上了但不在預期路徑 | 匯出診斷包提交 Issue |
| 找不到外接卷宗 | 外接磁碟未連接,或卷宗被刪了 | 連上外接磁碟後重新整理;卷宗已被刪則資料不可恢復 |
失敗時 AppPorts 會回復:刪掉建立的卷宗,把原目錄改回來。可以在磁碟工具程式裡確認沒有殘留的 AppPorts- 開頭的卷宗。
掛載遷移後應用程式看不到資料
按順序檢查:
外接磁碟是否連線、卷宗是否掛載:AppPorts「應用程式資料」頁裡該目錄狀態應是「已掛載」。「待掛載」就按一下「掛載」,「外接磁碟未連接」就連上外接磁碟。
授權對話框是不是按了拒絕:系統設定 → 隱私權與安全性 → 檔案與資料夾,找到該應用程式把「可移除式卷宗」開啟;或終端執行
tccutil reset SystemPolicyRemovableVolumes <Bundle ID>讓它下次重新問。是不是系統內建應用程式:
/System/Applications下的應用程式不會彈授權對話框,直接拒絕,AppPorts 不支援遷移它們的資料。看系統日誌:
bashlog show --last 2m --style compact 2>/dev/null | grep -E "deny\(1\)|RemovableVolumes"出現
kTCCServiceSystemPolicyRemovableVolumes就是第 2 條。
應用程式遷移後無法啟動
- 確認外接磁碟已連線。
- 看應用程式狀態徽章:「孤立連結」表示外接磁碟上的應用程式丟了,需要解除連結。
- 如果系統提示「已損壞」,先試重新安裝;仍不行再考慮右鍵「重簽名此應用」,注意沙盒應用程式會被拒絕,見重簽名與當機防護。
- 被
uchg鎖定的應用程式,自更新程式可能無法執行,屬於預期。 - 選單欄 → 日誌 → 在 Finder 中查看,搜尋相關錯誤。
- 在外部應用程式庫裡「遷回本機」,確認問題是否由外接磁碟引起。
簽名恢復失敗
| 原因 | 處理 |
|---|---|
| 備份檔案不存在 | 沒有可用恢復記錄,請從官方管道重新安裝;記錄也可能已被清理,不能據此判斷是否重簽過 |
| 舊版備份不含原始應用程式 | 選擇同版本官方原版 .app,或重新安裝。新版完整備份不需要開發者私鑰 |
| 應用程式已更新或備份驗證失敗 | 保留目前應用程式和備份,停止覆蓋;選擇比對的官方原版或重新安裝 |
| 應用程式受系統保護,無法替換 | 保留目前應用程式與備份;透過 App Store 或官方安裝器重新安裝 |
| 應用程式歸 root 所有 | 會彈管理者密碼對話框修改所有者,取消則失敗 |
| 應用程式是沙盒應用程式 | 預設拒絕重簽名;經典模式重簽名後,先還原容器資料,再恢復原始簽名 |
遷移中斷
外接磁碟斷開、系統當機或 AppPorts 被強退時:
- 符號連結遷移:重新開啟 AppPorts,它會檢查外接磁碟目錄裡的
.appports-link-metadata.plist,完全一致時自動接續,否則停下等你確認。清單裡看「待規範」或「待接回」。 - 掛載遷移:過程中失敗會自動回復。如果 AppPorts 本身被強退,重新開啟後:原目錄如果還在就沒事,多出來的
AppPorts-卷宗可以在磁碟工具程式裡刪掉;原目錄變成了.appports-migration-backup-*就把它改回原名。
外接儲存裝置離線
- 符號連結遷移的目錄:連結指向無效路徑,應用程式讀不到資料。
- 掛載遷移的目錄:顯示為空目錄,應用程式不會寫本機資料。
- 應用程式本體:本機啟動殼打不開外接磁碟上的應用程式,但啟動殼本身不會當機。
重新連線後 AppPorts 會自動重新掃描,掛載遷移的卷宗會自動掛回。舊系統需要輸入一次管理者密碼。
App Store 應用程式無法遷移到外接磁碟
macOS 15.1 以下:系統不支援原生外接安裝。在 AppPorts 設定裡開啟「允許遷移 Mac App Store 應用程式」手動遷移,應用程式更新後要再遷一次。
macOS 15.1 及以上:App Store 設定 → 開啟「下載並安裝大型 App 到獨立磁碟」,選和 AppPorts 相同的外接磁碟。
遷移時提示目標已存在
- 應用程式:外部目標不是「待遷出」對應的舊副本,也不是 AppPorts 能辨識的舊入口時會停下。到 Finder 裡確認那個目標是什麼再決定。
- 資料目錄:外部目錄沒有比對的 AppPorts 標記時不會自動接管,不會因為大小相近就覆蓋。確認內容後手動處理。
- 遷回本機:本機已有同名真實應用程式,或不屬於目前外部應用程式的連結時不覆蓋。
資料目錄清單顯示異常
- AppPorts 監控檔案系統變化,通常會自動重新整理。
- 快速切換應用程式時舊結果不會覆蓋目前應用程式;短暫看到空清單等掃描完成即可。
- 沒重新整理就點頂部重新整理按鈕。
- 持續異常看日誌裡的掃描錯誤。
