关于在ios中保存来自远程通知的信息

问题描述 投票:1回答:2

我有一个带有结构的推送通知

{
    "aps":
    {
        "alert": "Hello, world!",
        "sound": "default",
        "funcId": "abc"  <-- this key i add more
    }
}

我想存储键“ funcId”]]的值,以便在应用程序收到通知(状态为背景或被杀死的应用程序)后使用,例如:

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
   NSString *sFuncID = [[userInfo objectForKey:@"aps"] objectForKey:@"funcId"];
   [[NSUserDefaults standardUserDefaults] setValue:sFuncID forKey:Key_ID_notification];
   [[NSUserDefaults standardUserDefaults] synchronize];
}

我曾尝试使用NSUserDefaults来存储此值,但是当应用程序处于状态后台并杀死了该值时,不会存储。如何存储从远程通知中获取的值以在应用重新启动时使用?

感谢所有支持!

我有一个带有struct {“ aps”:{“ alert”:“ Hello,world!”,“ sound”:“ default”,“ funcId”:“ abc”的推送通知]]]

ios notifications push-notification save apple-push-notifications
2个回答
1
投票
您将必须使用2种不同的方法来处理推送通知,因此,您将必须用2种不同的方法来保存值。在将值/对象保存到NSUserDefaults之前,您还需要确保

userInfo

not nil

1
投票
您没有权限,因此无法保存到NSUserDefaults。

使用NSFileManager创建另一个文件,并设置适当的文件许可权。

© www.soinside.com 2019 - 2024. All rights reserved.