web-dev-qa-db-ja.com

WatchKitを使用して通知をトリガーする方法

WatchKit開発者ガイド には、 カスタム通知をレンダリングする方法 に関する説明があり、次のようにも書かれています。

アプリは、通知をサポートするために何もする必要はありません。システムは、通知からのアラートメッセージを表示するデフォルトの通知インターフェイスを提供します。ただし、アプリは通知インターフェイスをカスタマイズして、カスタムグラフィック、コンテンツ、ブランドを含めることができます。

電話でバナーアラートをトリガーするローカル通知を受け取ることはできますが、WatchKitアプリでは発生しません。すべてのターゲットを使用してデバッグを試みました。

  1. iOSアプリ
  2. アプリを見る
  3. 一瞥を見る
  4. カスタム通知を見る

電話アプリがバックグラウンドにある場合でも、ローカル通知を受信したときにトリガーされるものはないようです。また、バックグラウンドで受信されるリモート通知をシミュレートすることでこれを試しました。

WatchKitのコントローラーのローカル/リモート通知ハンドラーを直接呼び出す必要がないことを望んでいます。

18
ray

WatchKitのコントローラーのローカル/リモート通知ハンドラーを直接呼び出す必要がないことを望んでいます。

いいえ、しません。

答えは、XCodeはデバッグをサポートしていませんApple WatchとiPhoneを同時にサポートしているため、iPhoneシミュレーターからWatchシミュレーターに通知をプッシュすることはできません。*.apnsファイルによるペイロードテストのみがサポートされています。今のところ。

9
Reck Hou

Notification Essentials で説明されています

iOSは、その通知をiPhoneに表示するかApple Watchに表示するか)を決定します。

だから私は(今のところ)特に時計で通知をトリガーするためにアプリからできることは何もないと思います。

編集:8.2ベータ版にバグがあるようです。

WatchKitの既知の問題

iOSシミュレーターで通知を表示しているときに、通知アイコンまたは本文をクリックしても、対応するWatchアプリが起動しません

リリースノート

7
GoodSp33d

ウォッチ通知をテストするには、最初に新しいビルドスキームを作成する必要があります。

時計アプリのスキームを複製し、[実行]セクションで、実行可能ファイルとしてカスタム通知を選択します。

これで、通知スキームを実行できます。

プロジェクトの拡張機能グループ内の[サポートファイル]の下に、PushNotificationPayload.jsonというファイルがあります。

ペイロードファイルを編集して、さまざまな通知やカテゴリを試すことができます。

ソース

3
Dreamwieber

プロジェクトを作成したとき、私には2つのターゲットしかありませんでした。

  • [アプリ名]
  • [アプリ名]アプリを見る

Watch Appスキームを編集すると、別の実行可能ファイルを選択できます。特に、GlanceオプションとNotificationオプションがあり、それらは私のために機能します。それを選択して閉じ、実行するだけです。ターゲット/スキームを複製しようとしたことがないので、編集する必要はありませんが、それが問題になるとは思いません。

編集:実際には、 SDKはスキームを編集するように指示します も。

1
Keilaron