我在我的应用程序中使用推送通知服务。当应用程序在后台时,我可以在通知屏幕上看到通知(当我们从 iOS 设备顶部向下滑动时显示的屏幕)。但是如果应用程序在前台,委托方法
- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
正在被调用,但通知屏幕中未显示通知。
我想在通知屏幕上显示通知,无论应用程序是在后台还是前台。我厌倦了寻找解决方案。任何帮助是极大的赞赏。
如果应用程序在前台运行,iOS 将不会显示通知横幅/警报。这是设计使然。但是我们可以通过UILocalNotification如下方式来实现
UILocalNotification
if (application.applicationState == UIApplicationStateActive ) { UILocalNotification *localNotification = [[UILocalNotification alloc] init]; localNotification.userInfo = userInfo; localNotification.soundName = UILocalNotificationDefaultSoundName; localNotification.alertBody = message; localNotification.fireDate = [NSDate date]; [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
迅速:
if application.applicationState == .active { var localNotification = UILocalNotification() localNotification.userInfo = userInfo localNotification.soundName = UILocalNotificationDefaultSoundName localNotification.alertBody = message localNotification.fireDate = Date() UIApplication.shared.scheduleLocalNotification(localNotification) }