【问题标题】:NSFileManager ubiquityIdentityToken returns nil unexpectedly?NSFileManager ubiquityIdentityToken 意外返回 nil?
【发布时间】:2014-09-25 04:02:06
【问题描述】:

我在我的应用程序中使用这个 iCloud 库:https://github.com/iRareMedia/iCloudDocumentSync

在运行 iOS 8 的 iPhone 上,我运行应用程序,并且 ubiquityIdentityToken 返回一个值,一切正常。但是在我运行 iOS 7.0.4 的 iPad 上,它返回 nil。

我在 iPad 上确保了几件事:

  1. iPad连接wifi,可以正常上网

  2. iCloud 实际上是在 iPad 上设置的。我可以看到这一点,因为它在“设置”中这么说,并且 iCloud 选项卡在 Safari 中有效。

  3. 文档和数据选项实际上已启用

  4. Xcode 通过功能 iCloud 选项卡自动设置 iCloud,它可以在我的 iPhone 上使用相同的设置。

有什么原因会发生这种情况吗?似乎很难相信它可以在一台设备上运行,而不能在下一台设备上运行。任何帮助将不胜感激。

【问题讨论】:

    标签: ios ipad icloud nsfilemanager


    【解决方案1】:

    我不确定这是否是您的问题,但 Apple 在 What's New in iOS 8 中确实提到 iOS 8 中用户的 iCloud 数据与 iOS 7 不兼容:

    “当文档和数据在用户设备和服务器之间传输时,iCloud 基础架构更加健壮和可靠。当用户安装 iOS 8 并使用 iCloud 帐户登录设备时,iCloud 服务器会执行一次性迁移该用户帐户中的文档和数据。此迁移涉及将文档和数据复制到应用程序容器目录的新版本。此新容器仅适用于运行 iOS 8 或 OS X v10.10 的设备。运行旧操作系统的设备系统将继续访问原始容器,但在该容器中所做的更改不会出现在新容器中,反之亦然。”

    编辑:

    要查看这是否是您的问题,您应该在两台 iOS 8 设备上进行测试,并与两台 iOS 7 设备进行比较。如果您在相同版本的 iOS 上仍然遇到同样的问题,那么还有其他问题。

    【讨论】:

    • 提出来是件好事,但实际上这是我在上面自己的回答中解释的权利问题。 :)
    【解决方案2】:

    我知道 iOS 8 仍处于保密协议下,所以这个答案在这里不能像我希望的那样具体,但我只想说以下内容。这个答案:https://stackoverflow.com/a/24584019/394736 指向这个链接:https://devforums.apple.com/thread/229509 并在 iOS 7 和 iOS 8 设备上为我修复了它!

    【讨论】:

      猜你喜欢
      • 2014-12-15
      • 1970-01-01
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 2018-02-03
      相关资源
      最近更新 更多