我添加了接收远程通知的功能,但行为真的很奇怪。 当应用程序在前台时,方法
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
正在呼叫。虽然应用程序在后台时 - 没有任何显示。我看不到带有传入通知消息的横幅,并且通知滑动列表中没有任何内容。
另一个奇怪的事情 - 应用程序没有显示在设备的设置中 - >通知应用列表。我收到它们可以吗?即使它只是在后台?
有没有人遇到类似的问题?
答案 0 :(得分:1)
当您的应用程序处于打开状态时,将在您的应用程序委托中调用didReceiveRemoteNotification方法,但不会显示警报。警报仅在您的应用处于后台/非活动状态时显示。您可以在应用程序中轻松创建UIAlertView,并在应用程序处于活动状态并收到推送通知时显示。
答案 1 :(得分:0)
我自己解决了这些问题 - 我没有打电话给registerUserNotificationSettings
,所以不允许任何类型的通知。现在我这样做:
[application registerForRemoteNotifications];
UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
[application registerUserNotificationSettings:mySettings];
完美无缺!