gpt4 book ai didi

ios - 使用 [NSFileManager URLForUbiquityContainerIdentifier :] and [NSFileManager ubiquityIdentityToken]? 之间的主要区别是什么

转载 作者:可可西里 更新时间:2023-11-01 04:42:16 26 4
gpt4 key购买 nike

我正在尝试为我的应用程序添加 iCloud 支持,并且一直在关注 Apple 自己的 iCloud Design Guide .该指南说我应该通过调用 [NSFileManager ubiquityIdentityToken] 检查用户凭据。它还说我应该检查 [NSFileManager URLForUbiquityContainerIdentifier:] 以使应用程序的无处不在的容器可用。

我遇到的问题是 ubiquityIdentityToken 返回 nilURLForUbiquityContainerIdentifier: 不是。因为后者返回了正确的 URL,所以我假设我的配置文件和权利设置正确。我还仔细检查了我运行该应用程序的设备是否启用了 iCloud,它是否已登录并启用了文档和数据。

为什么一种方法暗示没有 iCloud 连接而另一种方法暗示没有?

更新:我注意到,如果我调用 ubiquityIdentityToken,如果我在 调用 URLForUbiquityContainerIdentifier: 后调用它,它会返回一个值。然而,如果我的应用程序使用键值存储而不是无处不在的容器,ubiquityIdentityToken 将如何工作?

最佳答案

ubiquityIdentityToken 是 Apple 引入的新事物,允许应用程序检查用户是否登录到 icloud。这是一种非常快速的方法来查明同一用户是否在两次应用程序激活之间登录/用户是否实际上已登录等。

可以在主线程上运行,速度极快。这将使您能够就您的应用程序逻辑做出决定。

需要注意的关键是它可以在主线程上运行,而且速度非常快。

您通常会获得此 token ,将其存储在您的应用中,然后在您的应用从后台返回时再次比较它。

这样,您可以确保它是同一个用户等等。

如果返回 nil,则表示用户未登录 iCloud。

之前要检查用户是否登录,有一个单独的调用,但您必须在另一个线程上异步运行它。我猜,他们看到了用户登录 iCloud、暂停他们的应用程序、登录另一个帐户并返回到您的应用程序的情况。这将使您能够非常有效和轻松地检查这些东西。但是 token 没有任何用户身份信息。

关于ios - 使用 [NSFileManager URLForUbiquityContainerIdentifier :] and [NSFileManager ubiquityIdentityToken]? 之间的主要区别是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13770974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com