【发布时间】:2015-11-24 16:38:00
【问题描述】:
有一个类似的问题,但答案根本不能满足我。
iOS7 and iOS8: how to detect when user said No to a request for push notifications
我需要具体了解用户在显示相关弹出窗口时选择了什么
【问题讨论】:
标签: ios push-notification
有一个类似的问题,但答案根本不能满足我。
iOS7 and iOS8: how to detect when user said No to a request for push notifications
我需要具体了解用户在显示相关弹出窗口时选择了什么
【问题讨论】:
标签: ios push-notification
鲁达-
您引用的那个问题给出了一个两部分的答案 - 这取决于您的 iOS 版本。如果您使用的是 iOS7,根据您的屏幕截图,情况似乎并非如此,您将不会收到任何回调。但是如果你使用的是 iOS 8(大概是 9),你会接到一个电话到
application:didRegisterUserNotificationSettings
用户是按确定还是不允许。从 iOS 8 开始,您需要解析传递给该回调的 UIUserNotificationSettings 参数,以确定用户是接受还是拒绝推送通知。
【讨论】:
您可以在请求推送通知几秒钟后调用它 - UIApplication.sharedApplication().isRegisteredForRemoteNotifications()
请记住,您只能为 >iOS8 执行此操作 - 否则您不会知道
这会返回一个Bool,你可以对结果做任何你想做的事情。
我之前在前台打开应用时在 AppDelegate 中使用过这个,示例:
func applicationWillEnterForeground(application: UIApplication) {
let isRegistered = UIApplication.sharedApplication().isRegisteredForRemoteNotifications()
if !isRegistered {
// The user has not allowed pushes
}
}
【讨论】: