Apple Watchプログラミングの作法 Extensionアプリ/Objective-C対応

iPhoneからApple Watchへアクセスする - 通知にパラメータを乗せる

Icon comment count 0
Icon stock count 0

8.3 通知にパラメータを乗せる

本アプリでは「どのボタンが押されたか」という情報をiOSからExtensionへの通知情報のuserInfoに設定したいところです。しかし前述のようにCFNotification CenterGetDarwinNofityCenterを利用した通知では、WatchKit ExtensionにuserInfoを伝えることができません。MyCallBack関数に伝達される情報は通知識別子(CF StringRef name)しかありませんので、この識別子にパラメータの意味を持たせる方法をとりました。

どのボタンが押されたかをExtensionに伝えたい

識別子にボタン番号を持たせる
"com.myCompany.appName.ActionName:0"
"com.myCompany.appName.ActionName:1"
     ・ ・ ・
"com.myCompany.appName.ActionName:8"

このようにボタン番号(0〜8)を含んだ9種類の識別子を持つ通知を作成し、そのすべてがMyCallBackに届くように登録します。MyCallBack内では引数nameの内容をチェックして、どのボタンが押されたかを判別する仕組みです。

コメント

    コメントはありません