Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS 5.0.1:如何验证文件夹是否标记为;“请勿备份”;为了iCloud?_Iphone_Ios_Ios4_Icloud - Fatal编程技术网

Iphone iOS 5.0.1:如何验证文件夹是否标记为;“请勿备份”;为了iCloud?

Iphone iOS 5.0.1:如何验证文件夹是否标记为;“请勿备份”;为了iCloud?,iphone,ios,ios4,icloud,Iphone,Ios,Ios4,Icloud,我想设置不备份到文档目录中的我的文件夹 我找到了的代码,但如何验证文件夹是否已标记。根据您链接的文档,如果您将方法设置为在该页面上正确列出,则如果属性标记正确,该方法将返回YES。根据您链接的文档,如果您准确设置了该方法在该页面上的显示方式,则如果属性标记正确,该方法将返回YES。在模拟器中运行应用程序,然后使用终端针对相关文件运行此命令: xattr -plxv com.apple.MobileBackup <file name> xattr-plxv com.apple.Mob

我想设置
不备份
文档目录中的我的文件夹


我找到了的代码,但如何验证文件夹是否已标记。

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

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

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

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

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

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

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

xattr {filename}
如果项目正确标记为排除,则应看到以下内容:

com.apple.metadata:com_apple_backup_excludeItem 

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

xattr {filename}
如果项目正确标记为排除,则应看到以下内容:

com.apple.metadata:com_apple_backup_excludeItem 
  • 开放式模拟器
  • 删除应用程序(应用程序审阅团队将代码运行1次,因此请确保您是从零开始的)
  • 现在在模拟器中运行您的代码,您的代码将在硬盘上存储您的文件
  • 开放式终端
  • cd/用户/(用户名)/库/应用程序支持/iPhone模拟器/(ios版)/应用程序
  • ls
  • 您将看到一个随机文件夹名称列表,打开每个名称,直到找到您的应用程序文件夹
  • 对于文件,单位为$(查找*);dodu-sk$文件;xattr-l$文件;回响完成
  • 您将以..

    (文件大小)(文件名)
    (iCloud备份排除)
  • 注意:如果未列出任何内容,则表示将备份文件(如果文件位于库或文档文件夹中)。。相反,如果您看到“com.apple.metadata:com\u apple\u backup\u excludeItem:com.apple.MobileBackup”,那么您就可以开始了

  • 开放式模拟器
  • 删除应用程序(应用程序审阅团队将代码运行1次,因此请确保您是从零开始的)
  • 现在在模拟器中运行您的代码,您的代码将在硬盘上存储您的文件
  • 开放式终端
  • cd/用户/(用户名)/库/应用程序支持/iPhone模拟器/(ios版)/应用程序
  • ls
  • 您将看到一个随机文件夹名称列表,打开每个名称,直到找到您的应用程序文件夹
  • 对于文件,单位为$(查找*);dodu-sk$文件;xattr-l$文件;回响完成
  • 您将以..

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

  • 注意:如果未列出任何内容,则表示将备份文件(如果文件位于库或文档文件夹中)。。如果您看到'com.apple.metadata:com\u apple\u backup\u excludeItem:com.apple.MobileBackup',那么您就可以开始了。

    对于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;
        }
    

    对于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;
        }
    

    好啊但从我发现的文档中,重要的是:新的“请勿备份”属性将仅由iOS 5.0.1或更高版本使用。在iOS 5.0及更早版本上,应用程序需要将数据存储在/Library/cache中,以避免备份数据。由于此属性在较旧的系统上被忽略,您需要确保您的应用程序在您的应用程序支持的所有版本的iOS上都符合iOS数据存储指南。
    因此,我需要将文件夹位置更改为library以获得Apple批准。您的应用程序可以检查操作系统版本并执行相应的操作。如果我错了,请纠正我。似乎有三种情况:5.0之前、5.0和5.0.1。对于5.0.1,您可以将文件夹标记为“脱机数据”。在5.0中,iCloud存在,但没有“请勿备份”解决方案,因此您必须将数据放入库/缓存中,并在其中清除:(.5.0之前没有iCloud,AFAIK数据不会从文档或缓存中清除,因此将数据放在缓存中也可能是安全的。@Michael我的理解是,对于5.0之前和5.0之前,您可以将数据放在脱机状态(可以下载或以其他方式重新创建的数据,但用户希望在脱机状态下可靠可用)在/Documents目录或/Library/Private Documents目录中。它将被备份到5.0版本,但这没关系。@NikolaiSander-您是否验证了它在5.0之前和5.0版本中是否可以通过苹果的批准?我已经为5.0.1设置了“不备份”标志,但我真的不想仅仅为5.0版本提供解决方案。好的。但是从文件I found
    重要提示:新的“请勿备份”属性将仅由iOS 5.0.1或更高版本使用。在iOS 5.0或更早版本上,应用程序需要将其数据存储在/Library/Caches中以避免备份。由于此属性在较旧的系统上被忽略,因此您需要确保您的应用程序符合应用程序支持的所有iOS版本上的iOS数据存储准则s、 
    因此,我需要将文件夹位置更改为library以获得Apple批准。你的应用程序可以检查操作系统版本并执行相应操作。如果我错了,请纠正我。似乎有三种情况:5.0之前、5.0之前和5.0.1。对于5.0.1,你可以将文件夹标记为“脱机数据”。在5.0中,iCloud存在,但没有“不备份”解决方案,因此您必须将数据放在库/缓存中,然后将其清除:(.5.0之前没有iCloud,并且AFAIK数据不会从文档或缓存中清除,因此在这里将数据放在缓存中可能也是安全的。@Michael我的理解是,对于5.0之前和5.0之前,您可以将数据放在脱机状态(可以下载或以其他方式重新创建的数据,但