现在,当应用尝试通过调用[[UIApplication sharedApplication] registerForRemoteNotifications]
注册推送通知时,会弹出一个要求用户许可的内容。与此同时,我还有另一个警报框,希望在首次启动应用程序时提示用户输入(例如,如果他们之前购买了任何东西,建议他们执行购买恢复)。
目前我在登陆到根视图控制器后显示警报,即viewDidAppear
。但是,这个警报会在大多数时间弹出请求推送通知权限,这对我来说很糟糕。
在用户取消弹出推送通知之后,是否有人注意到,或者除了在我的警报框被解除之前没有注册推送通知之外,还有更好的方法来处理这种情况吗?
谢谢!
答案 0 :(得分:1)
当显示原生通知提示时,您的应用将变为无效状态,UIApplicationWillResignActiveNotification
将会触发。您的应用将保持非活动状态,直到用户对推送提示响应“是”或“否”。
注册UIApplicationDidBecomeActiveNotification
,以便在触发时,您知道本机推送警报已被解除。这是Swift 3中的一个例子:
NSNotificationCenter.default.addObserver(self,
selector: #selector(MyClass.showCustomModal),
name: UIApplicationDidBecomeActiveNotification,
object: nil)