[iPhone] App Group, データを共有する (Apple Watch)

App Group と NSUserDefaults() を使って iPhone と Apple Watch のデータ共有の実装です
 

appgroup00
data_share

 
iPhone でカウントアップして共有データにセット
Apple Watch で共有データからカウント数を取り出します
 
この方法は、watchOS1.2のケースです

NOTE

In watchOS 2, your WatchKit extension may read the values of preferences, but you cannot write new values. Preferences in watchOS 2 are forwarded from iOS to Apple Watch, but any modifications you make are not sent back to iOS. In watchOS 1, WatchKit extensions have direct access to the defaults database and may read and write values.

https://developer.apple.com/library/watchos/documentation/General/Conceptual/WatchKitProgrammingGuide/Settings.html
 
watchOS 2.0 でiPhoneとWatchのデータをやり取りするには
Watch Connectivity framework
のWSessionを使うことになります
sendMessage 即座にメッセージを送る
 

App Group の設定

 

iOS Dev Center

 
iOS Dev Center の
Certificates, Identifiers & Profiles ->「iOS Apps」->「Identifiers」->「App Groups」
に「+」から新規のIDの登録をします
 
スクリーンショット 2015-06-05 14.47.54
 
この例では
group.com.hogehage.testappgroup
でIDを作成しています
 
スクリーンショット 2015-06-05 14.48.10
 
登録されると、リストに表示されます
 
スクリーンショット 2015-05-08 16.56.41
 

Project の作成

 
Project は通常のSwiftでプロジェクトを作成し
Target でWatch Appを追加します
参照:Hello World の作り方
ここでは TestAppGroupとして作成しています
 

App Groups を ON 設定

 
「TARGETS」->「Project」->「Capabilities」
から「App Groups」を選んで ON にします
iOS Dev Center で設定した App Groups の ID が表示されるので
それをチェックします
 
appgroup1


 
この設定は iPhone 側なので
Apple Watch も同様に設定します
 

NSUserDefaults() のコーディング

 

iPhone サイド

 
NSUserDefaults(suiteName: “group.com.hogehage.testappgroup”)
suiteName として、App Groups で設定したIDを入れます
 
ボタンタップでインクリメントされた数値 count が
message001 の Key で保存されます
 
ViewController.swift

 

Apple Watch サイド

 
ボタンをタップして、共有データのKey message001 に該当する値を取得します
InterfaceController.swift

 
ボタンやラベルのストーリーボードでの設定は割愛しますが
以下を参考にしてください
ボタンとラベル
Apple Watch のボタンとラベル
 

ページのトップへ戻る
 
sponsored link

シェアする

  • このエントリーをはてなブックマークに追加

フォローする