2

このメッセージを書いているのは、 Dynamic Notification ControllerWatch Connectivityの呼び出しを混在させているときに奇妙な問題が発生したためです。

ここで問題を再現したサンプル プロジェクトを見つけることができます: https://gitlab.6minutecanoe.com/baptiste.leguelvouit/watch-connectivity-issue

問題はクラスのdidReceiveRemoteNotificationメソッドに関連しているようです。NotificationControllerこのメソッドをオーバーライドし、クラスを介してWatch Connectivityメッセージを送信しようとすると、 Digital Crown ボタンを押さない限り Watch アプリが動かなくなります。handleActionWithIdentifierExtensionDelegate

このメソッドをオーバーライドしなければ、すべてが正常に機能するため、これは非常に奇妙です。WKUserNotificationInterfaceTypeDefaultまた、このメソッドで直接返そうとしましたが、何も変わりませんでした。

誰もこの問題を抱えていますか?

ありがとう。

再現手順: サンプル プロジェクトを実際のデバイス (iPhone + Watch) で起動し、カスタム カテゴリを含むリモート通知を特定のデバイス トークンに送信します。カスタム アクション ボタンをクリックすると、問題が発生します。

バージョン: watchOS 2.0.1 の Apple Watch 38mm (13S428) + iOS 9.1 の iPhone 5S (13B143)

構成:この問題は、メソッドで返される動的通知コントローラー を使用しようとしたときに特に発生しました。WKUserNotificationInterfaceTypeCustomdidReceiveRemoteNotification

4

1 に答える 1

0

あなたのコードを見た後の私の理解は、あなたがやろうとしていることは、ユーザーがアクションをタップしたときにアプリにwatchメッセージを送り返しているということです.... クラスで アクション通知アクションを処理する代わりに、iPhonenotificationExtensionDelegate

-(void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(UILocalNotification *)notification withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)())completionHandler

メソッドを作成してAppDelegateテストします。

于 2016-01-01T10:06:45.240 に答える