Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IOS,处理程序推送通知_Ios_Push Notification - Fatal编程技术网

IOS,处理程序推送通知

IOS,处理程序推送通知,ios,push-notification,Ios,Push Notification,有没有办法在处理程序不在应用程序(后台)中时推送通知到设备 假设我的APN发送消息:“你好,世界” 当应用程序在后台时,我想在设备显示推送通知之前更改消息(不是通过服务器,而是通过我的应用程序)。您应该能够做到这一点。您可以获得静默推送通知。当您收到通知时,根据您的意愿对其进行更改,然后安排一个本地通知,其中包含您希望显示的警报。完全公开,我实际上没有尝试过这一点。您需要使用,因为在使用普通推送通知时无法更改消息(收到消息时,操作系统将显示消息) 当您发送静默推送时,您只需在应用程序代理中处理它

有没有办法在处理程序不在应用程序(后台)中时推送通知到设备

假设我的APN发送消息:“你好,世界”
当应用程序在后台时,我想在设备显示推送通知之前更改消息(不是通过服务器,而是通过我的应用程序)。

您应该能够做到这一点。您可以获得静默推送通知。当您收到通知时,根据您的意愿对其进行更改,然后安排一个本地通知,其中包含您希望显示的警报。完全公开,我实际上没有尝试过这一点。

您需要使用,因为在使用普通推送通知时无法更改消息(收到消息时,操作系统将显示消息)

当您发送静默推送时,您只需在应用程序代理中处理它,然后安排本地通知:

- (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];
    }
}