如果我不启用 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其他文件