iOS 7 にアップデートとした際、なんかカレンダーの挙動がおかしかった。「(1日の)終日イベントが2日にわたって表示される」「終日イベント、誕生日が1日ずれて表示される」というのが症状。情報の生命線ともいえるスケジュール情報。これでは困る。
昔、Newton で Clock Work というカレンダーアプリのテストを手伝ったことがあって、この時に自分のスケジュールデータが(結合したり、なんだりで)ぐちゃぐちゃになった。これは最悪、まさに悪夢で、Mobile Me、そして iCloud のように各デバイス間でスケジュールデータを同期していると連動してデータが壊れる可能性もあり、復旧対策は慎重に慎重に手をうった。
調べてみると iCloud のイベントが1日ズレて表示される問題は多く報告されており、「起こる人には起こるけど、起こらない人には起こらない」といった再現性が低い問題のようだ。いくつかの方法を試したが、うまく行かなかった。一応、一連のアクションを整理・共有しておこうと思う。
そうそう、なによりも先に「カレンダーのバックアップ」をとっておくべきだ。私のケースでは、早々に iCloud の同期を解除して、Mac のカレンダーでデータバックアップを行い(ファイル/書き出す/カレンダーのアーカイブ)、作業を行った。あと、作業中は iPhone を機内モードにして不用意にデータをシンクロさせないようにするといい。これを怠ると、あとで泣くことになりますよ。
- iCloud 同期設定が原因
問題を報告する人はそもそも iCloud 同期を使っていない人もみられる。私のケースでは、iCloud 同期を使っており、Mac を数台、iOS デバイスを数台でシンクしているが、問題が発生したのは iPhone 5 (iOS 7) だけで、他のマシンや iCloud Web カレンダーでは問題は発生していなかった。よって、iPhone 5 での表示の問題を疑った。 - タイムゾーンが原因
私の iPhone は iOS 6 からのアップデートであり、タイムゾーン設定は「東京」、日付と時刻は「自動設定」であった。1日ずれるといってもイベントの情報に問題がある訳ではなく、表示の問題(20日のイベントが21日に表示される)なので、タイムゾーンに原因があるようだ。しかし、復旧方法はタイムゾーンや NTPサーバの更新設定をいじった後に当該のイベント情報を別日付に修正して、再度直すといった方法が中心で、1日ずれの問題を一括で修正するものではないことから、この方法は諦めた。 - iCloud の同期の解除、再同期
iCloud のカレンダー同期を解除して、再び同期をすることで復旧した、という報告もあるが、結論からいうとしなかった。同期解除の時に、「iPhone のデータを削除する」を選択しても同じだ。 iCloud / Apple ID のアカウントは、カレンダー以外にもメールやアドレス、メモなど様々な情報を扱っている。 MacOS X の場合、カレンダーの情報を削除を行っても、Apple ID の当該ディレクトリのデータは削除されない。アプリが参照しなくなるだけでデータそのものが削除される訳ではない。iOS も同様の動きをすると思われる。同期を解除し「iPhone のデータを削除」をクリックしても、再度の同期設定後、再びローカルのバックデータを参照するので、問題は解消されないのだと推測する。 - Mac のカレンダーの情報を iPhone に上書きする
iPhone 上のカレンダー情報を完全に消し去るにはいい方法だ。しかし、再び iCloud と同期を設定すると、Mac から移植したデータは削除され、日付がズレるデータが復旧した。iPhone の中にあったデータを再び参照している、という推測が当たっているのだと思うが、これでは意味がない。 - 【解決】iCloud のアカウントを設定しなおす
iCloud のアカウント内容はクラウド上にあるから、iPhone 側で消しても問題ない。iCloud の Apple ID を消して、また同じアカウントを設定する方法では上記のバックデータの再参照を行う可能性があることから、違う方法を試した。「[email protected] というアカウントを消して、[email protected] で登録し直す」という方法だ。これなら iPhone で新しい iCloud 同期情報がクラウドからコピーされるので、古いデータを参照することなく、カレンダーのずれを修正することが出来た。
しかし、現在 Apple ID は @me.com しか払い出していないようだから、このような芸当ができるユーザは少ないかもしれない。結論からすると、iPhone のデータを完全に消して、再度、クラウドから情報を取得すればよい、ということになる。かといって iTunes で iPhone のバックアップを行い、復旧する方法ではダメだろう。これではズレるカレンダーデータのバックアップをとって、iPhone に戻すだけだからだ。
となると、iTunes でバックアップをとった上で、iPhone のリセット「すべてのコンテンツと設定をリセット」で iCloud アカウントを完全に消して、新しい iPhone として設定し、コンテンツを再び iTunes から戻すのが一番良い方法だと思う(iCloud / iTunes バックアップから復元すると、上記の理由で問題が再発すると思う)。
コメント