Ank*_*ava 5 iphone objective-c nsfilemanager ios icloud
我有一个已经在运行的企业应用程序,它在文档文件夹中存储了很多文档。我希望禁用 Documents 文件夹内所有这些文档和文件夹的 iCloud 备份。问题是文件夹内的内容不断动态变化,kCFURLIsExcludedFromBackupKey为每个文件添加的想法
听起来有点困难,因为我的代码中有多个类可以写入文档目录。
有什么办法可以禁用整个文档文件夹及其子文件夹的上传。
也许文件正在动态更改,因为它们是从服务器或类似设备定期更新的?如果是这样,那么答案是将您的文件存储从<Application_Home>/Documents目录移动到<Application_Home>/Library/Caches目录。这些文件将不会被备份。如果需要,这当然仅适用于可以在将来重新下载或重新创建数据的情况。
有关概述,请参阅此 Apple 文档:https : //developer.apple.com/icloud/documentation/data-storage/index.html
在您的应用程序的 appDelegate 中,使用以下方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
Run Code Online (Sandbox Code Playgroud)
添加此代码
NSArray *urlArray = [[NSFileManager defaultManager] URLsForDirectory: NSDocumentDirectory inDomains: NSUserDomainMask];
NSURL *documentsUrl = [urlArray firstObject];
NSError *error = nil;
BOOL success = [documentsUrl setResourceValue: [NSNumber numberWithBool: YES]
forKey: NSURLIsExcludedFromBackupKey error: &error];
if(!success){
NSLog(@"Error in disabling %@ from backup %@", [documentsUrl lastPathComponent], error);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3128 次 |
| 最近记录: |