2016-05-04 6 views
2

今、アプリがプッシュ通知に登録しようとしたときに[[UIApplication sharedApplication] registerForRemoteNotifications]を呼び出すと、ユーザの許可を求めるポップアップが表示されます。同時に、別のアラートボックスには、アプリの最初の起動時にユーザーの入力を促すメッセージが表示されます(以前購入したものを購入した場合、購入の復元を実行するように勧めます)。ユーザがプッシュ通知のポップアップ(同時に複数のアラートボックスを表示するかどうか)を判断する

現在、ルートビューコントローラに着陸した後、つまりviewDidAppearにアラートを表示しています。しかし、このアラートは、大部分の時間にプッシュ通知の許可を求めるポップアップと重なってしまいます。

ユーザーがプッシュ通知のためにポップアップを解除した後に気付かれることはありますか、またはアラートボックスが解除される前にプッシュ通知に登録しない以外の状況を処理する方が良いですか?

ありがとうございます!

+0

現在の権限が不明である場合に通知される通知があります。あなたはそれが適切なコールバック/デリゲートコールを取得したときに却下されることを知っています。それに応じて行動します。 – Avi

+0

'didRegisterForRemoteNotificationsWithDeviceToken'や他のいくつかのソースのようなコールバックについて調べたところ、ユーザーが何も選択しなくても、これらのコールバック(登録に失敗したコールバックを含む)が呼び出されるように見えます。現在の許可については、それを定期的にチェックする以外に変更されたときに通知する他の方法はないようですね? – alanlo

+0

アラートボックスのプロンプトが表示されなくなった後にリモート通知を登録しない理由 – inankupeli

答えて

1

ネイティブ通知のプロンプトが表示されると、アプリは非アクティブになり、UIApplicationWillResignActiveNotificationが発生します。ユーザーがプッシュプロンプトに「はい」または「いいえ」と応答するまで、アプリは非アクティブ状態のままです。

UIApplicationDidBecomeActiveNotificationに登録すると、それが発生すると、ネイティブプッシュアラートが解除されたことがわかります。 Swift 3の例を次に示します。

NSNotificationCenter.default.addObserver(self, 
    selector: #selector(MyClass.showCustomModal), 
    name: UIApplicationDidBecomeActiveNotification, 
    object: nil) 
関連する問題