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 备份的主要内容,如果未能解决你的问题,请参考以下文章
在我们的应用程序中以编程方式禁用 Documents 目录的备份
IOS - 如何以编程方式阻止从另一个应用程序打开一个应用程序?