【发布时间】:2017-02-09 10:30:25
【问题描述】:
如何在应用打开时获取推送通知。仅在应用关闭或后台时获取推送通知。
【问题讨论】:
-
在 ios 0 中,如果您想要另一个 ios 版本而不是创建自己的通知视图,则此功能可用,请检查此stackoverflow.com/questions/14872088/…
标签: ios objective-c iphone xcode push-notification
如何在应用打开时获取推送通知。仅在应用关闭或后台时获取推送通知。
【问题讨论】:
标签: ios objective-c iphone xcode push-notification
当应用程序是后台或前台时
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(nonnull NSDictionary *)userInfo fetchCompletionHandler:(nonnull void (^)(UIBackgroundFetchResult))completionHandler
将在应用不在内存中时调用,需要用户在打开应用的推送通知上进行交互并需要对其进行处理
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
【讨论】:
你的问题不是很清楚,但是如果你想在通知窗口中显示通知,即使你的应用程序处于活动状态,那么你需要在
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)pushMessage
并使用相同的有效负载发布新的本地通知。然后你可以处理
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif
【讨论】:
一般如果应用程序在前台运行,iOS 不会 显示通知横幅/警报。这是设计使然。当应用程序处于前台时,如果您想显示推送通知,您可以使用 iOS 10 的 UserNotification 框架,它将通知显示或显示为横幅。您也可以使用 UILocalNotification 来实现这一点。主要是我们使用 didReceiveRemoteNotification 方法来实现这一点。现在我们有来自 iOS 10 的 UIUserNotification 方法。
When application is foreground and background state getting push notification
【讨论】: