トラブルシューティング
ダブルクリックしても反応せず、アイコンが一瞬で消える
よくある原因は、AppPorts で再署名したアプリが、macOS 27 へのアップグレード後に自分のコンテナへのアクセスを拒否されることです。すべての再署名済みアプリで起きるわけではありませんが、WeChat では確認済みです。データは壊れていません。
確認方法:
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 の「アプリデータ」で、そのディレクトリが「マウント済み」であることを確認します。「マウント待ち」なら「マウント」、「外部ドライブ未接続」ならドライブを接続してください。
アクセス許可を拒否しなかったか:「システム設定」→「プライバシーとセキュリティ」→「ファイルとフォルダ」で対象のアプリの「リムーバブルボリューム」を有効にします。ターミナルで
tccutil reset SystemPolicyRemovableVolumes <Bundle ID>を実行すれば、次回に再度確認されます。システム標準のアプリではないか:
/System/Applications内のアプリはダイアログを表示せずアクセスを拒否します。AppPorts はそのデータの移行には対応しません。システムログを確認します。
bashlog show --last 2m --style compact 2>/dev/null | grep -E "deny\(1\)|RemovableVolumes"kTCCServiceSystemPolicyRemovableVolumesがあれば、2 番目の問題です。
移行後にアプリを起動できない
- 外部ドライブが接続されていることを確認します。
- アプリの状態バッジを確認します。「孤立リンク」は外部のアプリが失われた状態で、リンクの解除が必要です。
- 破損の警告が出る場合は、まず再インストールを試してください。それでも解決しなければ、右クリックの「Resign This App」を検討します。サンドボックスアプリは拒否されます。再署名とクラッシュ対策を参照してください。
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 の設定で「容量の大きいアプリを別のディスクにダウンロードおよびインストール」を有効にし、AppPorts と同じ外部ドライブを選択します。
移行先がすでに存在すると表示される
- アプリ:外部の移行先が「移行待ち」に対応する古いコピーでも、AppPorts が識別できる旧形式の起動用エントリでもない場合は停止します。Finder で移行先の内容を確認してから判断してください。
- データディレクトリ:一致する AppPorts マーカーがない外部ディレクトリは、自動で管理対象にしません。サイズが近いだけで上書きすることもありません。内容を確認して手動で対処してください。
- ローカルへの復元:同名の実際のアプリや、現在の外部アプリに属さないリンクがローカルにある場合は上書きしません。
データディレクトリ一覧の表示がおかしい
- AppPorts はファイルシステムの変化を監視し、通常は自動で更新します。
- アプリを素早く切り替えても、古い結果が現在のアプリを上書きすることはありません。一時的に空の一覧が見えた場合は、スキャンの完了を待ってください。
- 更新されない場合は、上部の更新ボタンをクリックします。
- 状態が続く場合は、ログのスキャンエラーを確認してください。
