保存应用程序的数据,如果我更新应用程序,不要丢失它们

时间:2012-10-16 14:21:09

标签: objective-c save

如果我有一个应用程序的本地数据,假设一个本地高分,我存储游戏的所有分数。 如果我发布了应用程序的更新,我将丢失所有数据。 我用这种方法保存数据:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"defaultStage.dat"];

char cstr[512]={0};
[filename getCString:cstr maxLength:512 encoding:NSASCIIStringEncoding];

defaultStage=1;
FILE *pFile=fopen(cstr, "wb");
// and save with fprintf    

有一种方法可以“永久”保存数据,以免在重新安装或更新应用时丢失?

2 个答案:

答案 0 :(得分:0)

您可以选择在iOS / Mac OS X下保存数据。您可以先查看Core dataNSUserDefaultsNSFileManager。检查您要保存的数据量,并查看哪个数据符合您的需求。

答案 1 :(得分:0)

保存到Documents目录不应该在更新时丢失数据,很奇怪。真的吗?至于删除和重新安装应用程序,无法在手机本地保存数据(即在应用程序的沙箱中删除应用程序时删除)。您需要使用iCloud或远程Web服务器。

为了保存高分,我建议您使用NSUserDefaults,当您更新应用时也不会删除它。

编辑:我假设您谈论的是iOS,而不是OS X

相关问题