如何防止文件被备份到iCloud 和iTunes?

简介:

应用有一些文件需要永久的存储在本地使应用支持离线功能。但是这些文件并不包含用户数据,无需备份。如何防止这些文件被备份。

在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目录中的数据。所以如果数据被删除的话应用将需要重新解压出这些数据。










本文转自 arthurchen 51CTO博客,原文链接:http://blog.51cto.com/arthurchen/1125762,如需转载请自行联系原作者

目录
相关文章
|
搜索推荐 iOS开发
你对于iTunes的了解有多少?
这篇文章将探讨读者对于iTunes的了解程度。iTunes是一款由苹果公司开发的多媒体管理软件,早期主要用于音乐的购买和管理,后来扩展到电影、电视节目和应用程序等领域。它在数字音乐销售和下载方面起到了重要作用,并且与苹果的iPod和iPhone等设备密切相关。本文将提供一些关于该软件的基本知识。
159 0
|
存储 监控 安全
EasyRecovery2023电脑磁盘文件数据恢复软件下载
EasyRecovery具有磁盘诊断、数据恢复、文件修复等特点的硬盘数据恢复工具,E-mail修复等功能。使用了EasyRecovery,您可以将数据库、电子表格、Word文档,Zip文件很容易找到。打开EasyRecovery软件完成后,您需要选择文件的原始存储位置,然后开始快速或深度扫描文件。扫描完成后,您可以看到分类清晰的文件类型。EasyRecovery下载:http://t.csdn.cn/UFfHG
164 34
|
Web App开发 存储 缓存
imazing是什么?为什么选择 iMazing?
mazing是什么软件? iMazing是一款第三方的苹果iOS设备管理软件。 大家将iPhone、iPad或iPod连接到电脑后,可以用它进行音乐传输、照片传输、数据备份等操作。 iMazing的作用,和苹果官方的iTunes非常类似。
268 0
imazing是什么?为什么选择 iMazing?
|
文件存储 数据安全/隐私保护 Windows
EasyRecovery Photo16最新试用版数据恢复软件
EasyRecovery Photo16是一款支持Mac/Wind平台进行恢复图片的专业工具,尤其是各种流行单反相机RAW格式文件,以及超大型视频文件等,摄影爱好者使用。EasyRecovery是一款非常专业的硬盘数据恢复工具,可以帮你恢复丢失的数据,重建文件系统。Easyrecovery提供完善的数据恢复解决方案,如删除文件恢复、格式化恢复和分区丢失恢复。即使你是电脑新手,你也能很快使用这个软件。 文件大小为24.44MB,适用系统为Win10/Win8/Win7,以下为介绍或使用方法。
206 0
|
存储 文件存储
Easyrecovery2023好用的移动硬盘数据恢复软件下载
在日常工作中,移动硬盘可以帮助用户存储重要的文件资料,作为可移动的存储设备,在外出工作时携带起来也比较的方便,而且它的存储空间大,不会出现数据文件过大而无法储存的情况。今天小编就来和大家分享一下,在使用移动硬盘过程中可能遇到的问题,移动硬盘数据丢失怎么恢复,移动硬盘数据恢复需要多长时间。 移动硬盘体积小易携带,读写速度快,许多人喜欢将一些重要数据保存在移动硬盘中。在使用移动硬盘的过程中,我们会遇到一些问题,今天小编就和大家聊一聊,移动硬盘数据删除后还能恢复吗,移动硬盘数据删除了怎么恢复。
187 0
|
存储 文件存储
easyrecovery2023数据恢复软件下载及操作教程分享
误删了重要文件?电脑中毒数据丢失?本想拷贝却手抖格式化了?那可以试试easyrecovery,这是一款十分强大的电脑数据恢复软件,界面简洁明了,操作也是十分的简单,只需要根据文字提示来进行操作即可进行使用,无任何难度。同时该软件支持帮助用户恢复办公文档、文件夹、电子邮件、照片、音频、视频等各种数据,并就算是你电脑中的回收站数据都被你清空了也没事,easyrecovery全都可以帮你解决,而且就算是恢复硬盘、录像数据、U盘都不成问题,十分强大,可以很好的满足用户们的数据恢复需求。easyrecovery下载:http://t.csdn.cn/uzD0k
212 0
|
存储
EasyRecovery2023易恢复永久版数据恢复软件下载
Ontrack EasyRecovery2023易恢复一款数据文件恢复软件,号称最好的数据恢复软件!可以全面恢复删除丢失数据,能对电脑误删文件恢复,格式化硬盘数据恢复,手机U盘数据恢复等等,威力非常的强大!支持恢复不同存储介质数据:硬盘、光盘、U盘/移动硬盘、数码相机、手机、Raid文件恢复等,能恢复包括文档、表格、图片、音视频等各种文件。
231 0
|
编解码 安全 Java
EasyRecovery易恢复2023最新免费版数据恢复软件下载
EasyRecovery是一款操作简单、功能强大数据恢复软件,通过easyrecovery可以从硬盘、光盘、U盘、数码相机、手机等各种设备中恢复被删除或丢失的文件、图片、音频、视频等数据文件。快速扫描已删除的文件,或对更难恢复的文件执行更深入的扫描 资源猫网小编在浏览该网站时,页面整洁美观,感兴趣的用户,欢迎下载,实际体验!
380 0
如何阻止 iCloud 同步某个文件夹?
如何阻止 iCloud 同步某个文件夹?
292 0
如何阻止 iCloud 同步某个文件夹?