iOS:以编程方式阻止 iCloud 备份

Posted

技术标签:

【中文标题】iOS:以编程方式阻止 iCloud 备份【英文标题】:iOS: programmatically prevent iCloud backup 【发布时间】:2018-11-26 20:15:33 【问题描述】:

如果用户已启用该功能,我如何以编程方式防止将 Documents 目录中的文件备份到 iCloud?我假设有两种途径:从 ios 设备备份和从 Mac 上的 iTunes 备份备份。我看到人们建议使用 setxaddr 来防止备份到 Mac,但是如何防止 iOS 自动将文件内容发送到 iCloud?

【问题讨论】:

【参考方案1】:

例子:

var myFileURL = // file URL
var rv = URLResourceValues()
rv.isExcludedFromBackup = true
try? myFileURL.setResourceValues(rv)

【讨论】:

【参考方案2】:

https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/PerformanceTips/PerformanceTips.html#//apple_ref/doc/uid/TP40007072-CH7-SW17

https://developer.apple.com/library/archive/qa/qa1719/_index.html

检查这些链接。希望它能指导您解决手头的问题。

在 iOS 5.1 及更高版本中,将支持文件存储在 /Library/Application Support 目录中,并使用 setResourceValue:forKey:error: 方法将 NSURLIsExcludedFromBackupKey 属性添加到相应的 NSURL 对象。 (如果您使用 Core Foundation,请使用 CFURLSetResourcePropertyForKey 函数将 kCFURLIsExcludedFromBackupKey 键添加到您的 CFURLRef 对象。)应用此属性可防止将文件备份到 iTunes 或 iCloud。如果您有大量的支持文件,您可以将它们存储在自定义子目录中,并将扩展属性应用于该目录。

【讨论】:

以上是关于iOS:以编程方式阻止 iCloud 备份的主要内容,如果未能解决你的问题,请参考以下文章

阻止 iCloud 备份

在我们的应用程序中以编程方式禁用 Documents 目录的备份

IOS - 如何以编程方式阻止从另一个应用程序打开一个应用程序?

(iCloud) 如何以编程方式备份​​/恢复 iTunes 等所有应用程序的数据?

如何以编程方式阻止黑莓应用程序?

如何使用终端默认情况下阻止Mac应用保存到iCloud