确定是否弹出用户解除推送通知(同时显示多个警告框)

时间:2016-05-04 10:58:40

标签: ios objective-c uialertcontroller

现在,当应用尝试通过调用[[UIApplication sharedApplication] registerForRemoteNotifications]注册推送通知时,会弹出一个要求用户许可的内容。与此同时,我还有另一个警报框,希望在首次启动应用程序时提示用户输入(例如,如果他们之前购买了任何东西,建议他们执行购买恢复)。

目前我在登陆到根视图控制器后显示警报,即viewDidAppear。但是,这个警报会在大多数时间弹出请求推送通知权限,这对我来说很糟糕。

在用户取消弹出推送通知之后,是否有人注意到,或者除了在我的警报框被解除之前没有注册推送通知之外,还有更好的方法来处理这种情况吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

当显示原生通知提示时,您的应用将变为无效状态,UIApplicationWillResignActiveNotification将会触发。您的应用将保持非活动状态,直到用户对推送提示响应“是”或“否”。

注册UIApplicationDidBecomeActiveNotification,以便在触发时,您知道本机推送警报已被解除。这是Swift 3中的一个例子:

NSNotificationCenter.default.addObserver(self, 
   selector: #selector(MyClass.showCustomModal), 
   name: UIApplicationDidBecomeActiveNotification, 
   object: nil)