ユーザーがさまざまなプロジェクトに費やした期間を記録できるアプリがあります。
目標は、ユーザーがプロジェクトのストップウォッチを開始できるようにすることです。
- iPhone で動作するメインの iOS アプリ
- 今日のウィジェット
- アップルウォッチ
デバイス間でストップウォッチ情報を同期する際に問題が発生し、すでに多くの時間を費やしてきましたが、成功していません。
問題と試み:
ユーザーが Today ウィジェットでストップウォッチを開始または停止したときに、iPhone アプリを起動して iPhone アプリのバッジを更新し、Apple Watch のコンプリケーションを更新したいと考えています。
NSUserDefaults を変更するために、NSNotificationCenter にオブザーバーを追加しようとしました。ただし、拡張機能は別のプロセスで実行され、NSNotificationCenter はこのケースを処理できません。
Darwin 通知も試しました ( CFNotificationCenterAddObserver
)。それらはさまざまなプロセスを処理できますが、iPhone アプリがアクティブな場合にのみ機能します。つまり、アプリを起動しません。
デバイスと OS
- iOS 9.1 搭載の iPhone 6s
- watchOS 2.0.1 を搭載した Apple Watch