如果我不启用 iCloud 备份,我是否必须排除我的文档目录以防止文件备份到 iCloud 和 iTunes?
If I don't enable iCloud backup, will I have to exlude my document directory to prevent files from being backed up to iCloud and iTunes?
读完这个问题后,您肯定会想将其标记为重复。我知道以下排除文件或文件夹的解决方案。但是,如果我的应用程序不支持 Xcode 中 Capabilities
下的 iCloud documents
,我真的需要这样做吗?
以下是适用于我的情况的解决方案:
func addSkipBackupAttributeToItemAtURL(filePath:String) -> Bool
{
let URL:NSURL = NSURL.fileURLWithPath(filePath)
assert(NSFileManager.defaultManager().fileExistsAtPath(filePath), "File \(filePath) does not exist")
var success: Bool
do {
try URL.setResourceValue(true, forKey:NSURLIsExcludedFromBackupKey)
success = true
} catch let error as NSError {
success = false
print("Error excluding \(URL.lastPathComponent) from backup \(error)");
}
return success
}
如果我在 Xcode 中的 Capabilities
下禁用 iCloud documents
是否有必要,如下所示:
它们有两个不同的用途。
iCloud in Xcode 功能: 用于在您的应用程序中启用 iCloud 相关功能。
NSURLIsExcludedFromBackupKey: 默认情况下,用户数据通过 iOS 备份到 iCloud(如果用户选择 iCloud 备份)。只有用户数据而不是应用程序数据。
用户数据:使用您的应用创建的内容用户属于此类别
应用程序数据:您为应用程序功能下载或存储在文档目录中的images/videos/any其他文件
读完这个问题后,您肯定会想将其标记为重复。我知道以下排除文件或文件夹的解决方案。但是,如果我的应用程序不支持 Xcode 中 Capabilities
下的 iCloud documents
,我真的需要这样做吗?
以下是适用于我的情况的解决方案:
func addSkipBackupAttributeToItemAtURL(filePath:String) -> Bool
{
let URL:NSURL = NSURL.fileURLWithPath(filePath)
assert(NSFileManager.defaultManager().fileExistsAtPath(filePath), "File \(filePath) does not exist")
var success: Bool
do {
try URL.setResourceValue(true, forKey:NSURLIsExcludedFromBackupKey)
success = true
} catch let error as NSError {
success = false
print("Error excluding \(URL.lastPathComponent) from backup \(error)");
}
return success
}
如果我在 Xcode 中的 Capabilities
下禁用 iCloud documents
是否有必要,如下所示:
它们有两个不同的用途。
iCloud in Xcode 功能: 用于在您的应用程序中启用 iCloud 相关功能。
NSURLIsExcludedFromBackupKey: 默认情况下,用户数据通过 iOS 备份到 iCloud(如果用户选择 iCloud 备份)。只有用户数据而不是应用程序数据。
用户数据:使用您的应用创建的内容用户属于此类别
应用程序数据:您为应用程序功能下载或存储在文档目录中的images/videos/any其他文件