1

iOS 10 ユーザー通知フレームワークを使用する iOS 10 アプリと watchOS 3 拡張機能があります。ローカル通知は iOS アプリからスケジュールされ、iPhone がロックされているときに時計に表示され、iPhone を持ち上げて時計に反応しないと、ロック画面の iOS アプリに表示されます。iOS 通知には、3 つのバックグラウンド アクション ボタンがあります。

ここに画像の説明を入力

iPhone で通知に応答すると、userNotificationCenter(_:didReceive:withCompletionHandler:)UNUserNotificationCenter デリゲート メソッドが正しく呼び出されます。しかし、代わりにウォッチのアクション ボタンの 1 つをタップすると、関数は呼び出されません。

Apple's App Programming Guide for watchOSによると、以下のセクションResponding to Selected Actions: バックグラウンド アクションの場合、アクションの処理は、通知がスケジュールされた場所によって異なります。iPhone でスケジュールされたローカル通知の場合、バックグラウンド アクションは、どのデバイスが通知。

これは起こっていません。その理由はわかりません。誰かがwatchOSからこれを機能させましたか?

4

1 に答える 1

2

UNNotificationAction に正しいオプションを入れていないようです。オプションは、誤って配置した .foreground ではなく、空の配列である必要があります。したがって、たとえば Just Practice ボタンの場合、バックグラウンドにする正しいアクションは次のとおりです。

let justPracticeAction = UNNotificationAction(identifier: "justPractice", title: "Just Practice", options: [])

于 2016-11-20T13:37:25.340 に答える