如何防止文件被备份到iCloud 和iTunes?
来源:互联网 发布:算法的概念ppt优质 编辑:程序博客网 时间:2024/05/03 09:08
应用有一些文件需要永久的存储在本地使应用支持离线功能。但是这些文件并不包含用户数据,无需备份。如何防止这些文件被备份。
在iOS上,应用负责确保只有用户数据而不包含应用数据被备份到iCloud和iTunes上。具体的步骤在不同的iOS 版本各有不同。所以对不同的版本进行区分描述。关于具体哪些数据不应该被备份,参见App Backup Best Practices section of the iOS App Programming Guide。
注意:应用应该避免将应用数据和用户数据和在相同的文件中。这样会增加不必要的备份大小并且被认为是违反iOS的数据存储指南。
iOS 5.1 以及更新
从iOS 5.1开始,应用可以使用NSURLIsExcludedFromBackupKey 或kCFURLIsExcludedFromBackupKey 文件属性来防止文件被备份。这些API是通过通过旧的,弃用的方式的直接设置额外属性。所有运行在iOS5.1的都应该使用这些API包防止文件被备份。
在iOS5 .1上防止文件被备份
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);
NSError *error = nil;
BOOL success = [URL setResourceValue: [NSNumber numberWithBool: YES]
forKey: NSURLIsExcludedFromBackupKey error: &error];
if(!success){
NSLog(@"Error excluding %@ from backup %@", [URL lastPathComponent], error);
}
return success;
}
iOS 5.0.1
如果你的应用必须支持iOS 5.0.1,你可以使用下面的方式来设置“不要备份”的拓展属性。当你创建无须备份文件或者文件夹时,将数据写入文件然后调用这个方法,传入一个文件URL。
下面的这些代码已经被弃用并只应该使用在iOS5.0.1及更早的版本上。当运行的iOS5.1上时,应用应用使用NSURL和CFURL键来进行描述。
在iOS 5.0.1上设置额外属性
#import <sys/xattr.h>
- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
assert([[NSFileManager defaultManager] fileExistsAtPath: [URL path]]);
const char* filePath = [[URL path] fileSystemRepresentation];
const char* attrName = "com.apple.MobileBackup";
u_int8_t attrValue = 1;
int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);
return result == 0;
}
iOS 5.0
无法在iOS5.0上防止数据被备份。如果你的应用必须支持iOS5.0,然你需要保持你的应用数据在Caches中来避免数据被备份。iOS将会在不需要的时候删除Caches目录中的数据。所以如果数据被删除的话应用将需要重新解压出这些数据。
- 如何防止文件被备份到iCloud 和iTunes?
- iOS如何防止文件被备份到iCloud 和iTunes?
- 如何防止文件被备份到iCloud 和iTunes?
- 如何防止文件备份到iCloud和iTunes
- iOS怎么防止文件被Icloud或者iTunes备份
- iOS文件,保存路径. 防止加到iCloud备份
- iOS避免文件被同步到iCloud或iTunes
- iPhone开发:如何阻止文件被iTunes和iCloud同步 How do I prevent files from being backed up to iCloud and iTunes?
- 如何阻止文件被iTunes和iCloud同步 How do I prevent files from being backed up to iCloud and iTunes?
- 教你如何恢复iPhone上删除的数据及iCloud和iTunes备份
- OS--阻止文件被iTunes和iCloud同步,Do Not Backup属性
- 如何避免用户目录被iCloud备份
- 从数据备份恢复来看,iCloud和iTunes到底有什么区别?
- 防止Document目录iCloud备份NSURLIsExcludedFromBackupKey
- 阻止文件不被上传到iCloud
- 转移itunes备份和资料库目录到其它硬盘分区
- iCloud上传备份和下载的Demo
- 加速访问apple系列itunes,iCloud备份加速等的方法
- serialize()与unserialize()不完全研究
- 中国移动的GPRS设置
- 高性能-杂
- 优秀IT技术文章
- ERStudio逆向工程生成ER模型
- 如何防止文件被备份到iCloud 和iTunes?
- Flv转swf
- 强大的正则表达式---平衡组
- [网警如何抓人] 别以为用VPN发帖我就找不到你
- java List 排序 Collections.sort() 对 List 排序
- 版本号定义规则
- C# 操作PDFCreator 引发 检索COM类工厂中CLSID为{}的组件时失败...
- 第四次国产手机革命是福是祸(转)
- 分页类常见错误