iOS:推送通知未在iOS 10中显示字典信息

前端之家收集整理的这篇文章主要介绍了iOS:推送通知未在iOS 10中显示字典信息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发XCode 8 Beta,iOS 10版本的推送通知.我在设备上收到推送通知.当我点击通知时,它触发了UNUserNotificationCenterDelegate的委托,app被打开,但它没有在userinfo中显示任何响应.我是否需要在服务器端更改iOS 10中发送推送的参数.以下是我的代码. @H_404_2@UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]; [application registerUserNotificationSettings:settings]; UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; center.delegate = self; [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted,NSError * _Nullable error) { if (!error) { NSLog(@"request authorization succeeded!"); } }]; - (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler { NSLog(@"Notification is triggered"); completionHandler(UNNotificationPresentationOptionAlert); } - (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)())completionHandler { NSLog(@"Tapped in notification"); NSLog(@"%@",response.notification); NSString *actionIdentifier = response.actionIdentifier; if ([actionIdentifier isEqualToString:@"com.apple.UNNotificationDefaultActionIdentifier"] || [actionIdentifier isEqualToString:@"com.apple.UNNotificationDismissActionIdentifier"]) { return; } }

在iOS 9中,

@H_404_2@aps = { alert = "Multi extra param push."; badge = 0; sound = default; }; t = I; url = "http://www.google.com";

在iOS 10中

@H_404_2@alert = "Multi extra param push."; badge = 0; sound = default;

解决方法

@H_404_2@- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler { NSLog(@"%@",notification.request.content.userInfo); } - (void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)())completionHandler { NSLog(@"%@",response.notification.request.content.userInfo); }

猜你在找的iOS相关文章