サイドロードしたアプリとそのデータをバックアップする方法
サイドロードしたアプリとそのデータをバックアップする方法
サイドロードを始めたばかりの方からよく寄せられる質問のひとつが、「証明書が失効したら、データも失われてしまうのか」というものです。良いニュースとしては、iOSはアプリのデータとアプリ本体(バイナリ)を別々に管理しているため、Scarlet iOS経由でアプリを再インストールしても、通常はデータが自動的に保持されます。一方であまり安心できないニュースとしては、これはすべてのアプリに当てはまるわけではなく、そのアプリがデータをどのように保存しているかによって結果が変わるという点です。
このガイドでは、iOSがサイドロードしたアプリのデータをどのように管理しているのか、どのバックアップ方法が確実に機能するのか、エミュレーターのセーブデータやアプリの設定情報といった重要なデータをどう保護すればよいのか、そして自動的なデータ保持が適用されない場合にどう対処すればよいのかを詳しく解説します。
iOSがアプリのデータを保存する仕組み
iOS上のすべてのアプリは、そのアプリのBundle IDに紐づいた独立したコンテナ、いわゆる「サンドボックス」にデータを保存しています。このコンテナはアプリ本体(バイナリ)とは別の存在です。アプリを削除すると、そのデータコンテナも一緒に削除されますが、「Appを取り除く」オプション(設定 > 一般 > iPhoneストレージ)を使った場合は、アプリ本体のみが削除され、データは保持されます。同じアプリを再インストールすると、iOSは新しいバイナリを既存のデータコンテナに再び結び付けます。
サイドロードしたアプリでも、再インストールするアプリが元のアプリと同じBundle IDを持っている限り、仕組みはほぼ同じです。証明書が失効した後にScarlet iOS経由で同じIPAを再インストールし、それが同じBundle IDを維持していれば、OSは通常それを既存のデータコンテナに再接続するため、セーブデータ、ログイン情報(トークン)、キャッシュデータ、アプリの設定などは、たいていの場合、再インストール後も残ります。
重要な注意点として、(上書きで再インストールするのではなく)再インストール前に手動でアプリを削除してしまうと、iOSはそのデータコンテナも一緒に削除します。あえて最初からやり直したい場合を除き、この操作は避けるようにしてください。
iCloudバックアップとサイドロードアプリ
iCloudバックアップ(設定 > [ご自分の名前] > iCloud > iCloudバックアップ)は、アプリのデータを含めてデバイス全体をバックアップします。問題は、サイドロードしたアプリのデータがこのバックアップに含まれるかどうかです。
答えは、アプリがバックアップをどのように扱うかによって異なります。アプリはデータコンテナを「バックアップ対象」「バックアップ対象外」「一時的」としてマークすることができます。作りの良いアプリのほとんどは、主要なデータディレクトリをバックアップ対象としてマークしており、iOSはApp Storeからダウンロードされたアプリであるか、サイドロードされたアプリであるかにかかわらず、このデータをiCloudバックアップに含めます。
ただし、iCloudバックアップから復元する際には注意点があります。App Storeはバックアップ済みのすべてのアプリを再インストールしようとします。サイドロードしたアプリはApp Storeには存在しないため、復元時に自動的に再インストールされません。アプリのデータは復元されたバックアップ内に存在しますが、アプリ本体がインストールされていない状態ではアクセスできず、Scarlet iOS経由で再インストールするまでは利用できません。
サイドロードしたアプリを含むデバイスを復元する際の流れは、次のとおりです。
- iCloudバックアップから復元するか、新しいデバイスとしてセットアップします
- App Storeのアプリは自動的に復元されるのを待ちます
- Scarlet iOSを開き、サイドロードしたアプリを再インストールします
- 再インストールされたアプリは、バックアップ済みのデータコンテナに再接続されます
iTunesおよびFinderバックアップ
iPhoneをMacまたはPCに接続し、Finder(macOS Catalina以降)またはApple Devicesアプリ、iTunes(Windows)を使ってローカルバックアップを作成すると、アプリのデータを含む包括的なバックアップが作成されます。iCloudバックアップと同様に、アプリがバックアップ対象外としてマークしたファイルはスキップされますが、iCloudのストレージ容量には依存しません。
暗号化されたローカルバックアップは、キーチェーンデータ(アプリがiOSキーチェーンに保存するログイントークン、パスワード、認証情報)を含められるため、サイドロードしたアプリにとって特に有用です。暗号化しない場合、キーチェーンデータはバックアップから除外されます。
Finderで暗号化されたローカルバックアップを作成する手順は、次のとおりです。
- iPhoneをMacに接続し、Finderを開きます
- 左側のサイドバーでお使いのデバイスを選択します
- 「一般」タブで「ローカルバックアップを暗号化」をクリックし、パスワードを設定します
- 「今すぐバックアップ」をクリックします
重要なアプリデータを手動でバックアップする
最も重要なデータ、特にエミュレーターのセーブファイルやゲームの進行状況については、手動バックアップが最も確実な方法です。これはiOSのバックアップの仕組みに依存せず、アクセスするためにデバイス全体を復元する必要もないためです。
エミュレーターのセーブファイル
エミュレーターによってセーブファイルの保存場所は異なり、バックアップ方法もそれに応じて変わります。
- Delta: Deltaは内蔵の同期サービス(Google DriveまたはDropbox)を通じてセーブデータを同期できるほか、個別のセーブファイルをエクスポートすることもできます。
- PPSSPP: PSPのセーブデータは、アプリのDocumentsディレクトリ内にあるPSP/SAVEDATAフォルダに保存されています。Filesアプリ(On My iPhone > PPSSPP)からアクセスし、フォルダを手動でiCloud Driveにコピーできます。
- Provenance: Provenanceの設定で同期やインポート/エクスポートのオプションを確認するか、Filesアプリ経由でセーブデータをコピーしてください。
- RetroArch: セーブデータはRetroArch > savesディレクトリにあり、Filesアプリでアクセスでき、iCloud Driveにコピーできます。
ドキュメントベースのアプリ
多くの生産性向上アプリやユーティリティアプリは、Filesアプリの「On My iPhone > [アプリ名]」に表示される、アクセス可能なDocumentsディレクトリにファイルを保存します。ここにあるファイルは、iCloud Driveにコピーしたり、MacにAirDropしたり、Filesアプリから直接メールで送って保管しておくことができます。
手動バックアップ先としてのiCloud Driveの活用
ほとんどのサイドロードアプリのデータにとって、最も実用的な手動バックアップ戦略は、重要なファイルをiCloud Driveにコピーしておくことです。こうすることで、端末を完全に交換した場合を含め、iPhoneに何が起きてもデータが残るオフデバイスのコピーを作成できます。
サイドロードアプリのデータ用に、iCloud Drive内にフォルダ構成を作りましょう。「Sideloaded App Backups」というフォルダを作成し、その中にアプリごとのサブフォルダを用意します。大きなiOSアップデートの前や、証明書の有効期限が近づいていると分かったタイミングで、重要なファイルをそこにコピーする習慣をつけてください。
これらのバックアップを維持しながら効率的にストレージを管理する方法については、サイドロードアプリをもっと入れるためにiPhoneのストレージを空ける方法のガイドをご覧ください。
証明書失効後の再インストールでデータはどうなるか
証明書失効後の再インストールの流れについて、改めて明確にしておきます。
- シナリオ1:削除せずに再インストールする場合: アプリのデータは保持されます。iOSは新しいバイナリを既存のデータコンテナに再接続します。これは、既存のアプリの上に再インストールする際に通常起こることです。
- シナリオ2:アプリを削除してから再インストールする場合: アプリを削除すると、そのデータコンテナも削除されます。バックアップから復元しない限り、再インストール後はまっさらな状態から始まります。
- シナリオ3:バックアップから復元してから、サイドロードしたアプリを再インストールする場合: データはバックアップから復元され、再インストールしたバイナリに再接続されます。アプリがデータをバックアップに含めていれば、iCloudバックアップでも正しく機能します。
最も安全な方法は、常に削除せずに再インストールすることです。Scarlet iOSでは、先にアプリを削除するのではなく、既存のアプリの上にそのまま再インストールしてください。
サイドロードしたアプリの環境を維持するために
iCloudバックアップ、セーブファイルの手動エクスポート、そして慎重な再インストールの習慣を組み合わせれば、サイドロードしたアプリのデータもApp Storeのアプリと同じくらいしっかり保護できます。重要なのは、データを失ってからではなく、必要になる前に習慣を身につけておくことです。
再インストールの手順そのものについては、データを失わずにScarlet iOSを再インストールする方法の詳しい解説をご覧ください。
サイドロードしたアプリをしっかり保護する準備はできましたか?まずはScarlet iOSで確実にインストールし、初日からバックアップの習慣を身につけましょう。