【swift】iPhoneからAppleWatchへメッセージを送信するプログラム

iPhoneとAppleWatchのメッセージ送信シーケンス

いろいろ物を読み漁ったけど、いまいち理解できず、自分がいまいちの理解と試行錯誤しながら実装して、 自分が理解したシーケンスをまとめてみました。
応答の結果で何か処理をしたいときは、きっとsession関数のどれかで受けるんだと思う。

①iPhoneからAppleWatchへ接続
[iPhone]session.activate()
----->[AppleWatch]session( activationDidCompleteWith )

②AppleWatchからiPhoneへ接続
[AppleWatch]session.activate()
----->[iPhone]session( activationDidCompleteWith )

③iPhoneからAppleWatchへメッセージを送信
[iPhone]WCSession.default.sendMessage
----->[AppleWatch]session( didReceiveMessage )

実装

(1)Signing & Capabilitiesで、App Groupsを追加する
①App、WatchKit、WatchKit ExtensionのSigning & Capabilitiesを選択する
②「+」を押下して、App Groupsを追加する
③App Groups名を入力する。
※App、WatchKit、WatchKit Extensionの全てを同じ名称にする
(例)group.[bundle name].helloworld

(2)Apple DeveloperのIdentifiersにApp Groupsを設定する
①Apple Developerにログインする。
②Certificates, Identifiers & Profilesを選択する
③App、WatchKit、WatchKit ExtensionのIdentifiersに対してApp Groupsを設定する

(3)[App/WatchKit Extension]WatchConnectivityをインポートする

(4)[App/WatchKit Extension]WCSessionDelegateを継承する

(5)[App/WatchKit Extension]session関数、sessionDidBecomeInactive関数、sessionDidDeactivate関数を作成する。
WCSessionDelegateを継承すると、エラーが出て、xxxすると自動的に作成される。
ただ、関数の中に処理を書かないと、再度エラーになるので、print文などを入れておく。