iOS 5.0.1:如何validation文件夹被标记为“不备份”iCloud?

我想设置Do not back upDocument Directory中的Document Directory夹。

我发现了“不要备份”的代码,但是如何validation该文件夹是否已被标记。

根据您链接的文档,如果您在该页面上设置方法的确切方式,则该方法将返回YES如果该属性标记正确)。

对于iOS 5.1,在模拟器中运行应用程序,然后在terminal中运行以下命令:

 xattr {filename} 

如果项目被正确标记为排除,则应该看到以下内容:

 com.apple.metadata:com_apple_backup_excludeItem 
  1. 打开模拟器
  2. 删除应用程序(应用程序审查团队运行代码1次,所以要确保你是从头开始)
  3. 现在在模拟器中运行你的代码,你的代码将把你的文件存储在你的硬盘上。
  4. 开放terminal
  5. cd / Users /(用户名)/ Library / Application Support / iPhone Simulator /(ios版本)/ Applications
  6. LS
  7. 您将看到随机文件夹名称列表,打开每个文件夹名称直到find您的应用程序文件夹
  8. for $(find *); 做du -sk $文件; xattr -l $文件; 回声 DONE
  9. 您将以应用程序的格式显示所有文件

    (文件大小)(文件名)
    (iCloud备份排除)

注意:如果没有列出,这意味着该文件将被备份(如果它在库或文件夹中)..如果你看到'com.apple.metadata:com_apple_backup_excludeItem:com.apple.MobileBackup',那么你是很好去。

在模拟器中运行应用程序,然后使用terminal对相关文件运行此命令:

 xattr -plxv com.apple.MobileBackup <file name> 

对于iOS 5.1或更高版本,此代码适合我。

  - (BOOL)addSkipBackupAttributeToItemAtPath:(NSString *)filePathString { NSURL *fileURL = [NSURL fileURLWithPath:filePathString]; assert([[NSFileManager defaultManager] fileExistsAtPath: [fileURL path]]); NSError *error = nil; BOOL success = [fileURL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:&error]; return success; }