イベントの重複を正すMojave編

ある受託案件で最新版の Xcode を使う必要に迫られ開発機を変更することになりました。

ストレージを確認すると、システムファイルが200GBを超えて占領していたので、TimeMachine バックアップから復元せず、クリーンインストールの状態から旧機種と併用しながら必要なファイルを引っ張ってくるという運用とすることにしました。その途中過程で、カレンダー バージョン11.0 (2245.5.2) が特定の日付以前のイベントを全て重複して表示しているという問題に出くわしたので回避策を調べたところ、公式サポートの文書は頓珍漢な内容で、更に調べてみると Sierra 時代の解決法があり、iCloud 上にイベントを保管するようになった Mojave と若干手順が異なっていたので備忘録とします。

参照: Tech Tip: Fixing Calendar Duplicates in MacOS Sierra

まず、iCloud.com のカレンダーで重複が発生しているか確認します。今回もそうですが、多くの場合で iCloud サーバ上のデータは問題がなく、macOS や iOS などクライアント端末上で重複が発生しているのかと思いますが、一応念のため確認しデータの不整合がないことを安心しておきます。(もし iCloud で重複していれば、ブラウザ上でチマチマとイベントを削除するしかないのかも…汗)

次に「システム環境設定>iCloud」と進み、カレンダーのチェックボックスを外します。その昔はこの時点でデータを残すかどうか確認があったような気がするのですが、Mojave では何事もなくカレンダーの表示が消えます。記事を参照する前は試しにこのチェックボックスのオンオフを繰り返してみたのですが状況は変わらず、またこの記事ではカレンダーの環境設定からアカウントの操作をしているため、アプリを終了するタイミングを二番目の手順としていますが、Mojave ではこの操作ができないことから、カレンダーアプリは終了しておいて問題ありません(立ち上げたままでも問題なさそうです)。

それから肝心のローカル上にあるデータを削除します。参照記事ではターミナルを使ってコマンドを叩いていますが「Finder>移動>フォルダへ移動」(⌘+SHIFT+G)で「~/Library/」(片仮名も可)として Calendars ディレクトリ内の全てのデータと Preferences/com.apple.iCal.plist を削除しました。3つ目に記述されている Caches のファイルは該当するものがなく放置しました。

再度「システム環境設定>iCloud」と進み、カレンダーのチェックボックスを入れ、カレンダーを起動しましたが、左パネルのカレンダーリストは「この Mac 内」セクションの初期状態で、真っさらなままだったのが少し焦りましたが、公式サポートで最初に目にした「カレンダーを更新」を思い出し⌘+Rとすると(スティーブ風に言うと)ブーン、正しい表示になりました。

最後に、誕生日イベントの重複は連絡先と関連があるようですので、この内容は全く参考にならないかと思います。

投稿者: hkitago

個人事業主でウェブと iOS, Android アプリの開発者で一児の父親。JavaScript, ActionScript, AppleScript, PHP, SQL, ObjC, Swift, Java の読書実行試験運用管理を生業とし、Bind, Postfix, Apache を MacOS で使い、エディタは Vi, mi, Kod, Smultron, TextWrangler を経て Coda, Xcode, Android Studio といった IDE と CotEditor を重用しています。Pokémon GO Trainer Code: 2491 5857 6842