【问题标题】:Forcing or "encouraging" iCloud to upload changes to a file强制或“鼓励”iCloud 上传对文件的更改
【发布时间】:2013-11-26 04:19:29
【问题描述】:

我有一个 Mac 和 iOS 应用程序,它使用 iCloud 通过单个“鞋盒”文件共享数据。

大多数情况下,更改会以高效且迅速的方式正确同步。但是,每隔一段时间(尤其是现在),我在一台设备上所做的更改都会坐在那里。

我在我的 Mac 上对共享数据文件进行了更改,并且数据已保存到磁盘。但是,我不知道是系统未能上传数据到iCloud,还是iOS设备未能检查新数据,但我在玩弄我的拇指。

下面的 5KB 文件是应该更改的文件。无论我在 Mac 应用程序中进行多少更改,在测试期间每隔一段时间,iCloud 都会停止同步更改。如果我走开 20 分钟然后回来,它可能会重新开始。

进一步:如果我在 Xcode 中运行 Mac 应用程序并密切关注同一个文件,即使我对文件进行了更改并且可以确认磁盘上的文件(在 Finder/ Terminal) 实际上正在发生变化,Xcode 中的 iCloud 面板也不会很快接受这些变化:

请注意,我的 Mac 上的本地文件系统上的相同 5KB 文件已更改(在 9:01),但 iCloud 只是没有接收到它。此文件中有实际的内容更改,而不仅仅是修改日期更改。

所以,我想找到一种方法:

  1. 以编程方式触发同步,甚至使用 Xcode。我知道可以使用模拟器触发 iCloud 同步,但这仅在 iOS 上测试时有效,而且我更喜欢在实际硬件上进行测试。或者,

  2. 确定谁(或什么)对未共享的数据“有过错”。我从一开始就关注 iCloud 文档,确保我使用协调写入来保存更改等。这只是一个非常间歇性的事情,iCloud 会打瞌睡,让测试非常令人沮丧。

【问题讨论】:

  • 没有“立即同步”API。它只是起作用,除非它不起作用。但是你至少可以通过使用developer.icloud.com 来解决更改是否上传的问题,以查看 iCloud 认为文件的样子。
  • 啊-该链接非常有用!我用两部 iPhone 进行了一些测试——这两款设备确实都在将更改推送到云端,但只有一台设备成功收到通知,并将它们拉下来。 (即使他们都运行同一个应用程序的完全相同的版本。) Womp womp!
  • 如果它让你感觉更好(它不会)我观察到苹果应用程序同样不活跃。例如,页面可能会或可能不会立即同步(我已经看到需要几分钟)。当我使用 Mac 时,我会看到我的旧文本,几分钟后,它会“自动”更新。当您拥有 100,000 字的文档时,这可能会非常可怕。

标签: ios xcode macos cocoa icloud


【解决方案1】:

我意识到,当您将任何商店迁移到现有的 iCloud 商店时,iCloud 商店会添加这些数据并强制同步到 iCloud 中的版本。所以我将一个空商店迁移到我现有的 iCloud 商店,并强制同步!

【讨论】:

    【解决方案2】:

    我认为您不能触发所选文件的同步,但您可以使用此工具“brctl”查看幕后情况(或诊断)(在 OSX 上),以诊断可能是什么.

    命令行命令:

    $ brctl
    

    例如像这样使用它

    brctl log --wait --shorten
    

    或 brctl诊断

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 2011-04-10
      • 2015-07-27
      • 2012-11-27
      • 2014-04-30
      • 1970-01-01
      • 2019-08-22
      相关资源
      最近更新 更多