【发布时间】:2017-07-31 14:53:05
【问题描述】:
我在尝试请求远程通知权限时遇到问题。
它在 iOS 10 上完美运行,但是当我尝试在 iOS 9 设备上执行此操作时,它没有显示任何警报,并且 UIApplication 委托方法“application:didRegisterForRemoteNotificationsWithDeviceToken:”没有被调用。既不是“失败”的方法。
我只在真实设备上进行测试,而不是模拟器。我目前用于请求权限的代码如下:
-(void)requestPushPermissions {
NSLog(@"Starting register for remote Notification");
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes: UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0) {
[[UNUserNotificationCenter currentNotificationCenter] requestAuthorizationWithOptions:UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted) {
NSLog(@"Got a yes!");
}
else {
NSLog(@"Got a no...");
}
}];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
else {
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
}
有人知道吗?
【问题讨论】:
-
您在使用设备还是模拟器?请记住,通知在模拟器上效果不佳
-
@RicardoAlves 正如我在问题中所写的那样;我只在真实设备上测试,而不是模拟器。无论如何,谢谢。
标签: ios objective-c xcode remote-notifications