将 iCloud Drive 读入 iOS,写入 iCloud Drive,使其在 Mac 上可见

Read iCloud Drive into iOS, write to iCloud Drive so it is visible on Mac

我正在努力完成以下任务:

  1. 使用 Mac 从 iCloud 驱动器中读取一个 .csv 文件。这适用于 UIDocumentPickerViewController。
  2. 处​​理 iOS 中的文件 - 这工作正常
  3. 在 iCloud 驱动器中为我的应用程序创建文档目录,这样它就可以从 Mac 中看到 - 不工作
  4. Write/Save 将处理后的文件输出到 UbiquityContainer,以便它在 Mac 上可见。 - 不工作。

我有这个设置来创建文档目录。

    override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view, typically from a nib.
    if let iCloudDocumentsURL = FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents") {
        if (!FileManager.default.fileExists(atPath: iCloudDocumentsURL.path, isDirectory: nil)) {
            do {
                try FileManager.default.createDirectory(at: iCloudDocumentsURL, withIntermediateDirectories: true, attributes: nil)
                print("Created Directory at \(iCloudDocumentsURL)")
            } catch {
                print("Error Creating Directory: \(error)")
            }
        }
        print("\(#function):\(#line) iCloudDocumentsURL =\n\(iCloudDocumentsURL)")
        self.iCloudDocumentsURL = iCloudDocumentsURL
    }

我已经打开了权利和一个 plist 条目如下:

<dict>
<key>iCloud.com.mycompany.SubLunch</key>
<dict>
    <key>NSUbiquitousContainerIsDocumentScopePublic</key>
    <true/>
    <key>NSUbiquitousContainerName</key>
    <string>SubLunch</string>
    <key>NSUbiquitousContainerSupportedFolderLevels</key>
    <string>One</string>
</dict>

我可以看到文件正在此处写入:

file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~mycompany~SubLunch/Documents/LRA%20Order%20Detail%20Results.csv

但我的 Mac.

上的 iCloud Drive 没有任何变化

我已经用brctl log --wait --shorten查看了activity,我可以看到输出。

我做错了什么?

提前致谢

我找到了答案,您需要在完成修改后将文件导出到服务器。然后你会得到文档选择器,让你选择在 iCould Drive 中的存储位置。