在plist中保存真的很安全吗?

时间:2014-09-29 22:42:54

标签: ios objective-c iphone save plist

我正在开发ios游戏,我想知道plist中的保存是否安全? 我有一些问题,如果用户在保存发生的时候退出应用程序,我真的不知道答案的例子吗?

我发现plist非常有用且易于使用i存储例如关于用户界面的许多坐标和信息但是在这些文件上我只读取信息。 在其他plist中,我存储了一些数据,例如高分,静态,每次游戏结束或用户购买新商店配件时需要刷新并保存新值的数据。

如何处理例如由于保存错误导致的损坏文件。我可以在新的plist上制作一个副本每个奇怪的游戏,并有一个文件,可以重新加载而不是丢失,但它似乎是一个糟糕的解决方案和愚蠢但我不想创建一个用户可以丢失所有的应用程序数据因为保存失败而从开始就开始游戏。

我读了一些这样的链接(Saving game score locally on iOS device...is security needed?),但我更喜欢保留plist文件而不是使用NSUserDefaults因为我有很多数据要保存。

我想到了一个解决方案,用户可以像这样在plist的云上存储副本 他删除了可以访问他的偏好的应用程序,或者如果保存失败以自动检索有效文件,但它看起来很奇怪,我从不在那种东西上工作。

我阅读了更多帖子,我真的需要这里的建议,希望我不会重复一个问题。

1 个答案:

答案 0 :(得分:0)

快速,简便,可靠的解决方案是使用PARSE库。我会使用Parse Core框架。它会为你节省很多麻烦。 https://parse.com/products/core#howitworks

代码示例:

// Create a new Parse object
PFObject *post = [PFObject objectWithClassName:@"Post"];
[post setObject:@"Hello World" forKey:@"title"];

// Save it to Parse
[post saveInBackground];

他们甚至可以选择在您不确定Wifi / 3G连接的情况下保存事件

// Create the object.
PFObject *gameScore = [PFObject objectWithClassName:@"GameScore"];
gameScore[@"score"] = @1337;
gameScore[@"playerName"] = @"Sean Plott";
gameScore[@"cheatMode"] = @NO;
[gameScore saveEventually];