如何在iOS应用中检索和处理远程推送通知内容

pia*_*hai 2 iphone apple-push-notifications ios

当应用程序没有运行时,我试图获取远程通知信息,所以我被告知我可以从以下地址获取:

UILocalNotification *localNotification  = [launchOptions 
                   objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey] 
Run Code Online (Sandbox Code Playgroud)

在方法中:

- (BOOL)application:(UIApplication *)application 
               didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Run Code Online (Sandbox Code Playgroud)

,但仍然无法获得信息.

然后我使用alertView在iPhone上显示信息(没有Xcode启动),仍然无法获取信息.

任何其他问题会导致这个?如果您有任何想法,请告诉我.

pia*_*hai 5

如何检索和处理远程通知:

应用正在运行

userInfo下面方法中已经包括推送通知

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
}
Run Code Online (Sandbox Code Playgroud)

应用没有运行

在两种情况下,launchOptions中key的值包括推送通知:

1.屏幕被锁定,当收到远程推送通知时,屏幕点亮,用户解锁屏幕,然后直接启动应用程序.

2.用户点击下拉菜单上的通知以启动应用程序.如果用户直接点击该应用,则通知将会消失并错过.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   [launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey] description];
}
Run Code Online (Sandbox Code Playgroud)