8.2 iPhoneからApple Watchへ情報伝達を仕掛ける
残念ながらiPhoneがApple Watchに対してコミュニケーションを仕掛ける仕組みは、WatchKitフレームワークにはありません。また、iOSアプリとExtensionは、別々のSandBoxで動く別プロセスなのでNSNotificationCenterを使った連絡もできません。しかしiOSシステムが持っているプロセス間の通知機能を利用して連絡を取ることは可能です。
そこで本アプリではiOSシステム内でグローバルに通知できるCore Foundationのサービス"Darwin Notification Center"(以下DNC)を使って、iOSアプリからExtensionへ情報を送信することにします。
DNCは通常の通知サービスと同様に、通知を受け取りたいプロセスが「通知ID」を登録し、他プロセスが同じ「通知ID」で通知を発行した時にコールバック関数が呼ばれる、という仕組みです。具体的なプログラムを見てDNCにできること、できないことをチェックしておきましょう。
// コールバック関数を登録する
- (void)registerCallBack {
// iOSアプリ側から通知を受けた時のコールバック関数を登録
CFNotificationCenterAddObserver(
CFNotificationCenterGetDarwinNotifyCenter(),
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録