Ios 在不同状态下接收推送通知

Ios 在不同状态下接收推送通知,ios,push-notification,multitasking,application-state,Ios,Push Notification,Multitasking,Application State,我知道这个话题已经被讨论过了,但是我一直看到相互矛盾的语句,我只是越来越迷路了 我只想知道当我的应用程序在后台收到推送通知时会发生什么 我知道: 在前景中- 应用程序:DidReceiveMotonification:被调用,并且没有警报、徽章或声音 虽然没有发射—— 显示/播放警报、徽章和/或声音,如果用户点击通知的“查看/打开”(操作)按钮,则会启动应用程序,并调用application:didFinishLaunchingWithOptions:并传递通知负载,如果用户关闭通知并点击应用程

我知道这个话题已经被讨论过了,但是我一直看到相互矛盾的语句,我只是越来越迷路了

我只想知道当我的应用程序在后台收到推送通知时会发生什么

我知道:

在前景中- 应用程序:DidReceiveMotonification:被调用,并且没有警报、徽章或声音

虽然没有发射—— 显示/播放警报、徽章和/或声音,如果用户点击通知的“查看/打开”(操作)按钮,则会启动应用程序,并调用application:didFinishLaunchingWithOptions:并传递通知负载,如果用户关闭通知并点击应用程序图标,调用相同的方法,但不传递有关通知的信息

在背景中- 这就是我困惑的地方。我需要知道在后台运行或暂停是否会产生影响,在任何情况下调用什么方法,以及是否显示/播放警报、徽章和/或声音

谢谢。

你可能会觉得这很有用

基本上,你可以在application:didReceivereMotentification:使用以下代码来判断你的应用程序是否刚刚进入前台:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    if ( application.applicationState == UIApplicationStateActive )
        // app was already in the foreground
    else
        // app was just brought from background to foreground
    ...
}