# iCloud 同期

Cakeday は iCloud を使用して、iPhone、iPad、Mac のすべての Apple デバイス間で誕生日データを同期します。

## 動作の仕組み

Cakeday は、Apple ID に紐づいた Apple の iCloud 同期サービスを使用します。1台のデバイスで誕生日を追加・編集・削除すると、その変更は他の Apple デバイスでも自動的に利用できるようになります。別途アカウント登録は必要ありません。

## 同期されるデータ

以下のデータがデバイス間で同期されます：

- **誕生日：** 名前、日付、写真、メモ、出生地の市区町村、出生時刻、グループの割り当て、友だちごとの通知オフセット、誕生日アラームの選択、友だちごとのアラーム音、友だちのタイムゾーン通知、カレンダー同期設定など、すべての誕生日レコード
- **グループ：** グループ名、色、アイコン、並び順

**アプリの設定は同期されません。** グローバルのリマインダー時刻、Time Sensitive の範囲、誕生日アラームのタイミング、標準アラーム音、テーマカラー、外観モードなどのアプリ全体の設定はデバイスごとに保存されます。デバイスごとに異なる設定を使えるよう、意図的にこの仕様としています。

ダウンロード済みの HQ アラーム音ファイルもデバイスごとのローカルリソースで、サウンドピッカーから再ダウンロードできます。

## 同期ステータス

Cakeday 内の**「設定 > iCloud 同期」**で同期状況を確認できます。同期時刻がまだない場合は「接続済み」、過去1分以内に完了した同期は「たった今」、その後は相対的な最終同期時刻が表示されます。ステータスはリアルタイムで更新されます。

## アカウント変更時の処理

同期が有効な状態で iCloud アカウントが変わった場合、または利用できなくなった場合、Cakeday は iCloud 同期を一時停止し、現在の誕生日データをデバイス上に保持します。アラートでは次の操作を選べます：

- **設定を開く：** 次の操作を決める前に iCloud 同期設定を確認します。
- **このデバイスから削除：** このデバイス上の同期済み誕生日とグループを削除します。
- **データを残す：** 現在のローカルデータを保持し、iCloud 同期は一時停止したままにします。

## 既存データがある状態での同期有効化

iCloud 同期を有効にすると、その後の動作は iCloud にすでに誕生日データがあるかどうかによって異なります：

- iCloud が空の場合は、そのまま同期が有効になり、ローカルデータがアップロードされます。確認は表示されません。
- このデバイスに誕生日があり、**かつ** iCloud にもすでにデータがある場合（他のデバイスからのデータなど）、Cakeday は**「iCloud にデータがあります」**の確認を表示し、2つのデータをどのように調整するかを選べます。

確認では次の選択肢が用意されています：

- **このデバイスと iCloud のデータを結合：** このデバイスの誕生日と、iCloud にすでにある誕生日を統合します。最も安全な選択肢です。
- **このデバイスで iCloud を置き換える：** iCloud にある誕生日データを削除してから、このデバイスの誕生日をアップロードします。他のデバイスはこのデバイスのデータに同期されます。
- **iCloud でこのデバイスを置き換える：** このデバイスの誕生日データを削除してから、iCloud の誕生日をダウンロードします。iCloud のデータは保持されます。
- **キャンセル：** 同期を無効のままにし、何も変更しません。

2つの**「置き換える」**の選択肢は破壊的で、一方のデータを上書きします。どちらかを選ぶと、何かが削除される前に2回目の確認アラート（**「iCloud のデータを置き換えますか？」**または**「このデバイスのデータを置き換えますか？」**）が表示されます。一方を優先すると確信できる場合を除き、「結合」を使用してください。

## プライバシー

誕生日データは Apple ID に紐づく**プライベート iCloud コンテナ**に保存されます。これにより：

- データにアクセスできるのは本人だけです。Cakeday の開発者はデータを読み取り・閲覧・変更できません。
- サードパーティも iCloud コンテナにアクセスできません。
- Apple は iCloud データを転送中・保存中ともに暗号化しています。
- iCloud の高度なデータ保護（Advanced Data Protection）を有効にすると、Apple がそのデータに追加の保護を適用します。

## 必要条件

- デバイスで iCloud が有効であること（設定 > Apple ID > iCloud）
- Cakeday に iCloud の使用が許可されていること（設定 > Apple ID > iCloud > iCloud を使用しているアプリ）
- 同期にはインターネット接続が必要

## トラブルシューティング

**データが同期しない**

iCloud が有効で、すべてのデバイスで同じ Apple ID でサインインしていることを確認してください。iCloud を使用しているアプリの一覧に Cakeday が含まれているかも確認してください。

**同期が遅い**

iCloud 同期は Apple のサーバーとネットワーク状況に依存するため、変更が他のデバイスに表示されるまで少し時間がかかる場合があります。

**再インストール後にデータがない**

再インストール後にアプリを開き、iCloud 同期を有効にしてください。データは iCloud から自動的にダウンロードされます。
