有一个类似的问题,但答案根本不能满足我。
iOS7 and iOS8: how to detect when user said No to a request for push notifications
我需要具体了解用户在显示相关弹出窗口时选择的内容
答案 0 :(得分:0)
Luda -
您提到的那个问题给出了两部分答案 - 这取决于您的iOS版本。如果您使用的是iOS7,根据您的屏幕截图显示情况并非如此,那么您将无法获得任何回调。但如果您使用的是iOS 8(大概是9),您将收到
的电话application:didRegisterUserNotificationSettings
用户是按下OK还是不允许。从iOS 8开始,您需要解析传递给该回调的UIUserNotificationSettings参数,以确定用户是否接受或拒绝推送通知。
答案 1 :(得分:0)
您可以在请求推送通知后几秒钟拨打此电话 - UIApplication.sharedApplication().isRegisteredForRemoteNotifications()
请记住,您只能为> iOS8执行此操作 - 否则您不会知道
这会返回Bool
,您可以根据需要执行结果。
我以前在AppDelegate中使用此功能,当时在Foreground中打开应用程序,例如:
func applicationWillEnterForeground(application: UIApplication) {
let isRegistered = UIApplication.sharedApplication().isRegisteredForRemoteNotifications()
if !isRegistered {
// The user has not allowed pushes
}
}