欢迎来到天天文库
浏览记录
ID:34461758
大小:28.60 KB
页数:4页
时间:2019-03-06
《如何防止文件被备份到icloud和itunes》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、呼叫中心专家http://www.focustar.net如何防止文件被备份到iCloud和iTunes?应用有一些文件需要永久的存储在本地使应用支持离线功能。但是这些文件并不包含用户数据,无需备份。如何防止这些文件被备份。在iOS上,应用负责确保只有用户数据而不包含应用数据被备份到iCloud和iTunes上。具体的步骤在不同的iOS版本各有不同。所以对不同的版本进行区分描述。关于具体哪些数据不应该被备份,参见AppBackupBestPracticessectionoftheiOSAppPr
2、ogrammingGuide。 注意:应用应该避免将应用数据和用户数据和在相同的文件中。这样会增加不必要的备份大小并且被认为是违反iOS的数据存储指南。 iOS5.1以及更新 从iOS5.1开始,应用可以使用NSURLIsExcludedFromBackupKey或kCFURLIsExcludedFromBackupKey文件属性来防止文件被备份。这些API是通过通过旧的,弃用的方式的直接设置额外属性。所有运行在iOS5.1的都应该使用这些API包防止文件被备份。在iOS5.1上防止文件被备份-
3、(BOOL)addSkipBackupAttributeToItemAtURL:(NSURL*)URL呼叫中心专家http://www.focustar.net{assert([[NSFileManagerdefaultManager]fileExistsAtPath:[URLpath]]);NSError*error=nil;BOOLsuccess=[URLsetResourceValue:[NSNumbernumberWithBool:YES]forKey:NSURLIsExcludedFr
4、omBackupKeyerror:&error];if(!success){NSLog(@"Errorexcluding%@frombackup%@",[URLlastPathComponent],error);}returnsuccess;} iOS5.0.1如果你的应用必须支持iOS5.0.1,你可以使用下面的方式来设置“不要备份”的拓展属性。当你创建无须备份文件或者文件夹时,将数据写入文件然后调用这个方法,传入一个文件URL。 下面的这些代码已经被弃用并只应该使用在iOS5.0.1及更早的
5、版本上。当运行的iOS5.1上时,应呼叫中心专家http://www.focustar.net用应用使用NSURL和CFURL键来进行描述。在iOS5.0.1上设置额外属性#import-(BOOL)addSkipBackupAttributeToItemAtURL:(NSURL*)URL{assert([[NSFileManagerdefaultManager]fileExistsAtPath:[URLpath]]);constchar*filePath=[[URLp
6、ath]fileSystemRepresentation];constchar*attrName="com.apple.MobileBackup";u_int8_tattrValue=1;intresult=setxattr(filePath,attrName,&attrValue,sizeof(attrValue),0,0);returnresult==0;} 呼叫中心专家http://www.focustar.netiOS5.0无法在iOS5.0上防止数据被备份。如果你的应用必须支持iOS5
7、.0,然你需要保持你的应用数据在Caches中来避免数据被备份。iOS将会在不需要的时候删除Caches目录中的数据。所以如果数据被删除的话应用将需要重新解压出这些数据。本文由http://www.focustar.net整理分享。
此文档下载收益归作者所有