LoginSignup
1
4

More than 5 years have passed since last update.

WatchとiPhone間でUserDefaultsを使ってデータを共有するには(watchOS3対応版)

Posted at

watchOS1の場合

watchOS1では、AppGroupを使えば、watch・iPhone間でUserDefaultsを共有できたらしい。

Watch Kit AppとiPhone App間でNSUserDefaultsを使ってデータ共有をする - NSBlogger

watchOS2以降

watchOS2からはAppGroup使っても共有できなくなった。

nsuserdefaults - Swift UserDefault :sharing data via share group doesn't work - Stack Overflow

watch側でUserDefaultsを使うこと自体はできる。WatchConnectivityでiPhoneからwatchにデータを送って、watch側のUserDefaultsに書き込むしかないみたい。

公式のプログラミングガイドには以下の記述がある。

iOSが自動的に、iOSアプリケーションの環境設定データ(読み取り専用のコピー)を、Apple Watchに転送するようになっています。WatchKitエクステンションはNSUserDefaultsオブジェクトを使って環境設定を読むことができますが、デフォルト設定を格納しているデータベースを、直接書き換えることはできません。

watchOSアプリケーション:プログラミングガイド:データの共有
App Programming Guide for watchOS: Sharing Data

が、試したところ、iPhone側のUserDefaultsをwatch側から参照することはできなかった。
環境設定データというのはUserDefaultsのことではないのだろうか。

もし何か分かる人いたら教えてください :bow:

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4