22

我想设置Do not back up到我的文件夹中Document Directory

我找到了“不备份”的代码,但我如何验证该文件夹是否被标记。

4

5 回答 5

21

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

xattr {filename}

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

com.apple.metadata:com_apple_backup_excludeItem 
于 2012-06-30T08:12:50.193 回答
12

根据您链接的文档,如果您完全按照他们在该页面上列出的方式设置方法,则YES如果属性标记正确,该方法将返回。

于 2011-11-14T04:26:34.433 回答
12
  1. 打开模拟器
  2. 删除应用程序(应用程序审核团队运行代码 1 次,因此请确保您从头开始)
  3. 现在在模拟器中运行您的代码,您的代码会将您的文件存储在您的硬盘上。
  4. 打开终端
  5. cd /Users/(用户名)/Library/Application Support/iPhone Simulator/(ios版本)/Applications
  6. ls
  7. 您将看到一个随机文件夹名称列表,打开每个文件夹,直到找到您的应用文件夹
  8. 对于 $(find *) 中的文件;做du -sk $文件;xattr -l $文件;回声;完毕
  9. 您将看到应用程序中的所有文件,格式为..

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

注意:如果未列出任何内容,则意味着该文件将被备份(如果它在 Library 或 Documents 文件夹中).. 如果您看到 'com.apple.metadata:com_apple_backup_excludeItem: com.apple.MobileBackup' 那么您就是很好走。

于 2012-10-26T03:09:04.720 回答
10

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

xattr -plxv com.apple.MobileBackup <file name>
于 2012-03-04T11:03:01.700 回答
2

对于 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;
    }
于 2013-07-18T12:21:47.893 回答