IOS,处理推送通知

时间:2015-02-25 00:32:10

标签: ios push-notification

当他不在应用程序(后台)时,有没有办法处理进入设备的推送通知?

让我的apns发送消息:“你好世界” 我想在应用程序处于后台时显示推送通知之前更改消息(不是由服务器,通过我的应用程序)。

2 个答案:

答案 0 :(得分:0)

你应该能够做到这一点。您可以获得静默推送通知。收到通知后,根据需要进行更改,然后使用您要显示的提醒安排本地通知。完全披露,我实际上没有尝试过这个。

答案 1 :(得分:0)

您需要使用Silent Push Notifications执行此操作,因为在使用正常推送通知时您无法更改消息(操作系统会在收到消息时显示消息)。

当您发送静音推送时,您可以在应用代理中处理它,然后安排本地通知:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {

    NSDictionary *apsPayload = [userInfo objectForKey:@"aps"];
    if ([userInfo[@"content-available"] boolValue] /* silent push */) {
        UILocalNotification *localNotification = [[UILocalNotification alloc] init];
        localNotification.alertBody = @"Hello Local World!";
        localNotification.fireDate = [NSDate date];
        localNotification.timeZone = [NSTimeZone defaultTimeZone];
        localNotification.soundName = UILocalNotificationDefaultSoundName;
        [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
    }
}