游戏中关键数据存储的疑惑,求答疑
在做一个ios上的单机游戏,想知道怎么长久保存用户的金币数、关卡记录等?
苹果说,ios 5.01以上“用户创建的数据,或其它不能重新生成的数据”可以放在document下,设置not back up就不会被备份,我这种数据属于这个范畴吗?
ios5.01之前的呢?使用NSUserDefault接口,存在libs/preferrence下可行吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
方法是
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
const char* filePath = [[URL path] fileSystemRepresentation];
const char* attrName = "com.apple.MobileBackup";
if (&NSURLIsExcludedFromBackupKey == nil)
{
// iOS <= 5.0.1.
u_int8_t attrValue = 1;
int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
}
else
{
// iOS >= 5.1
// First try and remove the extended attribute if it is present
int result = getxattr(filePath, attrName, NULL, sizeof(u_int8_t), 0, 0);
if (result != -1) {
// The attribute exists, we need to remove it
int removeResult = removexattr(filePath, attrName, 0);
if (removeResult == 0) {
NSLog(@"Removed extended attribute on file %@", URL);
}
}
return [URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:nil];
}
}
给NSFileManager 加一个category就好了。
使用coredata 就好了吧 。数据放在document下 有一个方法可以设置 not back up, 5.0的目前我测过的 和5.0.1一个方法是能达到效果的。5.0之前的话 不会自动备份到icloud。