从iCloud到文档的文件无法在其他设备上读取

时间:2018-10-26 22:40:26

标签: ios swift icloud file-manager

我在我的应用程序中同步iCloud Drive和本地存储(“文档”文件夹)。但是有1个错误。

1)设备1(或2)->将文件从文档复制到iCloud容器

2)设备1(或2)->从iCloud容器读取文件到文档-一切正常。

但是:

1)设备1->将文件从文档复制到iCloud容器

2)设备2->将文件从iCloud容器复制到文档-并出现bug。通常所有文件都已复制,但已损坏,我无法在“文档”中打开它(但可以看到)。

在以下屏幕上,在当前设备上创建了1和3个文件,在其他设备上创建了2、4和5个文件,并与iCloud容器同步。还有更多:通常文件大小(1和3)-32kb,损坏的文件-2kb。

enter image description here

enter image description here

我的代码(我将此功能用于从文档复制到iCloud以及从iCloud复制到文档):

    private static func copyFilesFrom(url: URL, toURL: URL, folder: String) {

    let fileManager = FileManager.default

    do {

        let newDir = toURL.appendingPathComponent(folder)
        if !fileManager.fileExists(atPath: newDir.absoluteString) {

            try fileManager.createDirectory(at: newDir,
                                            withIntermediateDirectories: true,
                                            attributes: nil)

        } else {
            print("Already created catalog with folder: \(folder)")
        }

        let dirs = try fileManager.contentsOfDirectory(atPath: url.appendingPathComponent(folder).path)

        for dir in dirs {
            do {
                try fileManager.copyItem(at: url.appendingPathComponent(folder).appendingPathComponent(dir),
                                         to: newDir.appendingPathComponent(dir))
            } catch {
                print(error)
            }
        }
    } catch {
        print(error)
    }
}

0 个答案:

没有答案