Calendar Studioで予定が同期されない理由とバックアップの使い方

LaCieの写真ライブラリから選んだハワイの風景。「iCloud同期を追加して分かったこと」のアイキャッチ画像 AIアプリ開発

Calendar Studioで追加した予定が別のiPhoneに出てこない場合、iCloudの設定を変える前に、使っているアプリの同期機能を確認してください。現在の開発用ソースでは、予定は端末内に保存され、アプリ独自のiCloud同期は無効になっています。

同じApple Accountで使っていても、この状態のCalendar Studio同士で予定が自動的にそろうことはありません。標準カレンダーへの追加やバックアップとは、別の仕組みです。

保存と同期とバックアップの違い

機能 現在の実装 できること
端末内保存 有効 アプリの予定をその端末内へ保存する
アプリ独自のiCloud同期 無効 現行ソースでは端末間の自動同期は動かない
Apple標準カレンダー連携 操作を選んだときに実行 予定を標準カレンダーに追加、または読み込む
JSONバックアップ 書き出し・読み込み処理あり 予定をファイルに保存し、アプリへ読み込む

標準カレンダーとの連携は、変更を常に追跡する双方向同期ではありません。Calendar Studioで予定を編集しただけで、以前に標準カレンダーへ追加した予定も同じように変わる、と考えないことが大切です。

iCloudのコードがあるのに同期しない理由

Calendar Studioには、iCloud Key-Value Storeから予定を読み書きするコードがあります。ただし、その処理に入る条件の cloudSyncEnabled が false になっています。

同期処理がソースに存在することと、手元のアプリで機能が有効になっていることは別です。署名設定だけを変えても、この無効設定は変わりません。また、手元に入っているアプリが別の版なら、その版の動作を確認する必要があります。

このため、現在の予定管理は「この端末に保存した予定を使う」前提で考えるのが適切です。

大切な予定を扱う前に試すこと

まず、重要な予定の代わりに「バックアップ確認」というテスト予定を1件作ります。開始日と時刻、メモも入力し、アプリを閉じて開き直したあとに残っているか確認してください。

次に、アプリのバックアップ書き出しを使い、保存したJSONファイルを「ファイル」アプリなどで見つけられるか確かめます。保存先とファイル名が分かる状態にしておけば、アプリを入れ替えるときにも探しやすくなります。

読み込み処理は、既存予定にバックアップの予定を取り込む方式です。予定表を過去の状態へ丸ごと戻す操作とは同じではありません。重要なデータを使う前に、テスト予定で題名・日付・時刻・メモがどう反映されるかを確認してください。

別の端末でも使いたい場合

同じ予定を別端末にも置きたい場合は、まず「Calendar Studioの予定」なのか「Apple標準カレンダーの予定」なのかを区別します。標準カレンダー側での共有を使うなら、Calendar Studioから追加したあとの登録先と、別端末に表示される予定を確認します。

アプリ独自のiCloud同期を再び有効にするなら、端末ごとに違う編集をした場合の扱いや、削除の反映まで検証する必要があります。現時点では、その端末間同期を利用できる機能として案内していません。

この記事は開発用ソースの説明です。手元のアプリが同じ版かを確認したうえで、まずはテスト予定の保存とバックアップを試してください。App Storeなどでの配布状況については、この記事では案内していません。

関連する手順は写真読み取りの送信先と確認点でも確認できます。