トラブルシューティング
移行中断
症状
外部ストレージの取り外し、システムクラッシュ、またはアプリの強制終了により移行が中断されました。
解決方法
AppPorts には組み込みの自動回復メカニズムがあります。AppPorts を再起動すると:
- 残留移行データを検出(外部コピーが存在するがローカルのシンボリックリンクが作成されていない)
- ローカルと外部のディレクトリサイズを自動的に比較(90%のしきい値)
- データが完全であれば、移行を自動的に完了(ローカルの元ディレクトリを削除し、シンボリックリンクを作成)
- データが不完全であれば、残留する外部コピーをクリーンアップし元の状態に復元
💡 手動介入は不要です
AppPorts の自動回復メカニズムは、次回起動時に中断された移行を処理します。自動回復が失敗した場合、データディレクトリリストに「Needs Normalization」または「Needs Relinking」ステータスが表示される場合があります — 対応する操作を手動で実行してください。
外部ストレージオフライン
症状
外部ストレージの取り外しまたは切断後、移行済みアプリが起動できなくなり、データディレクトリに赤いエラーステータスが表示されます。
解決方法
- 外部ストレージを再接続
- AppPorts の
FolderMonitorがストレージボリュームのマウントを自動検出し、再スキャンをトリガー - アプリとデータディレクトリは通常の使用を再開
⚠️ 備考
外部ストレージがオフラインの間、ローカルエントリ(Stub Portal)の open 呼び出しは失敗します;アプリは起動できませんが、クラッシュすることはありません。データディレクトリのシンボリックリンクは無効なパスを指しており、関連アプリはデータを読み取れない場合があります。
署名復元失敗
症状
元の署名の復元に失敗する、または復元後もアプリに「破損」が表示される。
考えられる原因と解決方法
| 原因 | 解決方法 |
|---|---|
| バックアップファイルが存在しない | 元の署名は復元不可;代替として Ad-hoc 再署名を実行 |
| 元の開発者証明書がローカル Keychain にない | AppPorts は自動的に Ad-hoc 署名にフォールバック;アプリは起動可能だが Keychain アクセスが異常になる場合がある |
| Mac App Store アプリ(SIP 保護) | 再署名不可;SIP がシステムアプリ署名へのあらゆる変更を防止 |
| アプリディレクトリが root 所有 | AppPorts が管理者権限で所有権変更を試行;ポップアップで認証してください |
| Contents シンボリックリンクターゲットが消失 | 署名不可;外部データを復元するかアプリを先に復元する必要があります |
詳細なメカニズムについては、再署名とクラッシュ防止をご参照ください。
App Store アプリが外付けドライブに移行できない
macOS 15.1 未満
macOS 15.1 以前は App Store アプリの外付けドライブへのインストールをサポートしていません。以下が必要です:
- AppPorts の設定で「App Store アプリ移行」を有効にする
- 移行後、アプリの更新には手動での再移行による上書きが必要
macOS 15.1 以上
App Store が外付けドライブ上のアプリを更新できない場合:
- App Store の設定を開く
- 「大容量アプリを外付けドライブにダウンロードしてインストール」を有効にする
- AppPorts の外部ストレージライブラリと同じ外部ストレージを選択
移行後にアプリが起動できない
トラブルシューティング手順
- 外部ストレージの接続確認: 外部ストレージが接続されアクセス可能であることを確認
- アプリステータスバッジの確認:
- 「Orphan Link」 → 外部アプリが消失;手動でのリンク解除が必要
- 「Damaged」 → 再署名を実行
- ロックステータスの確認: アプリがロックされている場合(uchg)、自動更新プログラムが実行できない場合がある
- ログの確認: メニューバー → ログ → Finder で表示;関連するエラーメッセージを検索
- ローカルに戻す: 外部アプリライブラリで「ローカルに戻す」を選択し、外部ストレージの問題かどうかを確認
データディレクトリ表示の問題
症状
データディレクトリリストに不完全または誤ったステータスが表示される。
解決方法
- AppPorts は
FolderMonitorを使用してファイルシステムの変更を監視;通常は自動的に更新されます - 自動更新されない場合は、別のタブに切り替えてから元のタブに戻り、再スキャンをトリガー
- 問題が解決しない場合は、ログでスキャンエラーメッセージを確認
