ios 应用容器与 icloud 同步

Posted

技术标签:

【中文标题】ios 应用容器与 icloud 同步【英文标题】:ios app containers sync with icloud 【发布时间】:2017-01-23 19:49:35 【问题描述】:

我正在构建一个包含自己的 iCloud 容器的应用程序。下面附上功能配置。

以下是 Info.plist 中的关键条目。

<key>iCloud.com.dearle.Ascert</key>
<dict>
  <key>NSUbiquitousContainerIsDocumentScopePublic</key>
  <true/>
  <key>NSUbiquitousContainerSupportedFolderLevels</key>
  <string>Any</string>
  <key>NSUbiquitousContainerName</key>
  <string>Ascert</string>
</dict>

据我了解,我放入应用程序容器中的任何内容都应显示在 iCloud 驱动器中名为 Ascert 的文件夹下,并且我应该能够从 iCloud 驱动器在我的应用程序中打开该文档。

我已经尝试了所有我能想到的方法,不幸的是我对 xCode 不是很有经验,所以我不确定我哪里出错了。

任何帮助将不胜感激。

【问题讨论】:

非常确定您的应用也需要配置已知的文件类型。 您好,感谢您这么快回复我。你能解释一下你的意思吗。我该怎么做? 嗯,深入挖掘,可能根本不是这样。你看过***.com/a/26947435/1214800吗? @brandonscript 我试了一下brandonscript,不幸的是没有成功。只是想说谢谢你的尝试。 XCode 让我感到困惑! @TonyDavidson 根据我对您的问题的理解,容器不会显示在您的 iCloud 驱动器上是吗? 【参考方案1】:

我也遇到了同样的问题,你做的设置是正确的。在运行 iCloud 功能代码之前,请尝试增加内部版本号和版本号。这对我有用。显然,只要不增加这些值,就不会拾取 iCloud 设置

【讨论】:

【参考方案2】:

不,它在 iCloud 驱动器中不可见。它将位于 iCloud/管理存储/容器名称中。 要在具有相同 Apple id 的不同设备之间同步文件,请使用 startDownloadingUbiquitousItemAtURL 方法。 Source

【讨论】:

以上是关于ios 应用容器与 icloud 同步的主要内容,如果未能解决你的问题,请参考以下文章

iOS 核心数据存储在 iCloud 中以与其他设备同步

iOS:NSUserDefaults 是不是与 iCloud 同步?

让 Ensembles Idiomatic OSX App 与 iCloud 同步

iCloud 容器默认 vs 自定义

iOS7 / Mavericks 应用程序 icloud coredata 首次同步慢

具有不同应用标识符的 2 个应用之间的 Icloud 同步