2

UNUserNotificationCenter.current().requestAuthorization() を複数回呼び出すことはできますか?

  • アプリケーションを起動するたびに呼び出すことはできますか?
  • ユーザーが通知権限を付与した後で再度呼び出すことはできますか?
  • そうでない場合、なぜですか?
4

1 に答える 1

4

答え: はい、いいえ。

  • これを複数回呼び出すことはできますが、同時に複数回呼び出すことはできません。そうしないと、同時要求の 1 つを除くすべてがエラーなしで失敗します (つまりgranted = false、 but error = nil)。appDidFinishLaunching 内で承認要求を一度実行するという単純なハッピー パスとは対照的に、アプリ ロジックに承認要求をトリガーできる複数のイベントがある場合、同時要求が発生する可能性があります。

  • さらに悪いことに、ユーザーが以前のアプリの実行中に既に承認していた場合でも、同時要求によって通知のアクセス許可がオフになります。このようなシナリオのバグ レポートは次のようになります。これは、すべてのバグと同様に、最初は不可能に思えます。

于 2018-02-06T18:01:28.137 に答える