2017-10-28 50 views
0

UNNotificationServiceExtensionを使用するアプリケーションで作業しています。ほとんどの場合(90%のような)私の拡張機能は正しく動作し、接続をバッ​​クエンドにして通知を表示します。しかし、拡張機能がまったく動かないことがあり、通知内に元のメッセージが表示されることがあるようです。なぜこれが起こるのですか?すべての通知には、1に設定された可変コンテンツキーが含まれています。UNNotificationServiceExtensionが実行されない場合があります

答えて

0

UNNotificationServiceExtensionを実装したときに同じ問題が発生しました。私の問題は、あなたの拡張機能は、コンテンツを変更し、ContentHandlerのブロックを実行するために、限られた時間(せいぜい30秒) を持っている追加コンテンツ

Here is the link

をロードするために与えられている時間制限にありました。 ブロックをタイムリーに実行しないと、システムは 拡張機能のserviceExtensionTimeWillExpire()メソッドを呼び出して、最後に ブロックを実行します。そうしないと、システムは通知の元のコンテンツをユーザーに として提示します。あなたがしたい場合

それは同じ問題だということを確認し、次のメソッドを実装してUNNotificationServiceExtensionが生きている秒の量を追加することにより、特定の方法で

func serviceExtensionTimeWillExpire() 

を内容を変更することができ、私は時々、システムドン判明しました30秒間さえ与えてくれません。

+0

最初は同じですが、いくつかのログを追加した後、didReceive呼び出しがログに記録されていないことがわかります。したがって、メソッドはまったく呼び出されないか、文字列をファイルに書き込む前に終了します。 – hedunky

関連する問題