防止备份到iCloud,代码是否正确?

saj*_*wan 3 iphone backup home-directory ios icloud

我正在下载许多音频和视频文件并将它们存储在我的主目录中.现在我想"阻止备份到iCloud",所以我为我的每个文件的URL添加了以下代码

- (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL

{

    const char* filePath = [[URL path] fileSystemRepresentation];



    const char* attrName = "com.apple.MobileBackup";

    u_int8_t attrValue = 1;



    int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0);

    return result == 0;

}
Run Code Online (Sandbox Code Playgroud)

谁能告诉我这个代码适用于所有IOS版本.如果没有,请建议正确的方法来做到这一点.谢谢

Ole*_*ann 7

谁能告诉我这个代码适用于所有IOS版本.

不,它没有.苹果在其技术说明中引入了"不备份"的标志,明确指出

新的"不备份"属性仅供iOS 5.0.1或更高版本使用.

它们还告诉您需要为旧iOS版本执行的操作:

在iOS 5.0及更早版本中,应用程序需要存储其数据<Application_Home>/Library/Caches以避免备份.由于旧系统会忽略此属性,因此您需要确保您的应用程序符合您的应用程序支持的所有iOS版本上的iOS数据存储指南.