結論から書くと、以下のように設定すれば表題のとおりの事が実現できる。なお検証環境はiPhone XS、iOS 12.1.1である。
【iOS側】
- 設定→Apple ID(設定アプリの一番上の自分の名前が表示されているところ)→iCloud→「ICLOUDを使用しているAPP」で連絡先がONになっている事を確認する。
- 設定→パスワードとアカウント→「アカウントを追加」からGoogleアカウントを追加する。
- Googleと同期する項目で連絡先をONにする。(ほかは必要に応じて)
- 設定→連絡先でデフォルトアカウントをGmailの方にする。
これで、双方の同期が完了する。自分が試した限りでは、ほとんどリアルタイムに連絡先データを同期することが出来ていた。
iCloudの連絡先とGmailの連絡先をシームレスに同期したいのだけど、どっちをマスターにすればよいのだろうか。
— mktakuya (@mktakuya) December 17, 2018
自分はiPhone持ち、Gmail使い。キャリアの電話(090とか080とか)を使う時はiPhoneの連絡先Appから相手を探し、電話をかける。一方でメールはGmailを使っていて、Google Contactsから相手を探しメールする、という事を「ひとつの連絡先データで」実現したい。
GmailやiCloudの連絡先を書き出して読み込むみたいな記事はネットにたくさん出てくるが、そうではなくて両者を(ほぼ)リアルタイムに同期したい。つまり、以下のような事をしたいというわけだ。
- PCのWebブラウザからGoogle Contacts(Gmailの連絡先管理機能)で連絡先を編集すると、iPhoneの連絡先アプリの方も更新されてほしい。
- iPhoneの連絡先アプリで連絡先を編集すると、Google Contactsの方も更新されてほしい。
これまでは、冒頭で示した手順の3番までしかやっていなかったので、Google→iCloudという片方向のみの同期は出来ても、iOSの連絡先Appで連絡先を編集してもGoogleの方に反映されない、という事が起きていた。
最初から「iCloudしか使わない!」とか、「Googleしか使わない!」と決めちゃえばこんな事考えなくても良いのだけど、電話はiPhoneで、メールはWebのGmailで、みたいに組み合わせたいとなった途端めんどくさくなる。