iphone启动选项

use*_*268 7 iphone push-notification apple-push-notifications

推送通知后我没有获得任何启动选项; 继承了我的代码,但非NSLogs似乎在调试区域打印.

UILocalNotification *localNotif =
[launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

if (localNotif) {
    NSString *itemName = [localNotif.userInfo objectForKey:@"aps"];
    NSLog(@"Custom: %@", itemName);
} else {
    NSLog(@"//////////////////////////");

}
Run Code Online (Sandbox Code Playgroud)

当我打开应用程序时(通过按下推送通知上的视图)它会转到didReceiveRemoteNotification脚本,我不确定这是否意味着发生..

谢谢阅读.

Jil*_*ouc 17

您的应用程序会通过多个路径接收推送通知,具体取决于收到应用时的应用状态.

如果您的应用未启动(甚至未在后台暂停),launchOptions则将包含通知有效负载(密钥UIApplicationLaunchOptionsRemoteNotificationKey).

如果它已在后台运行或暂停,则应用程序将通过application:didReceiveRemoteNotification:您的应用程序代表接收通知.

本地通知的过程相同(应用程序中的UIApplicationLaunchOptionsLocalNotificationKey:didFinishLaunchingWithOptions:和application:didReceiveLocalNotification:)