gpt4 book ai didi

swift - cloudkit:如何访问主要用户的属性?

转载 作者:行者123 更新时间:2023-11-28 07:11:04 24 4
gpt4 key购买 nike

我正在尝试制作一个应用程序,其中每个用户都会有个人头像、昵称等。

我不知道如何访问用户在 cloudkit 上的帐户。

我的解决方案是检索用户的 AppleID、查询 Cloudkit 并修改用户的属性……但我想应该有更好的方法来做到这一点。他们不是类似于 NSUserDefault 而是用于 cloudkit 吗?

最佳答案

你首先要找出当前登录的userId是什么。您可以通过在容器上执行 fetchUserRecordIDWithCompletionHandler 方法来做到这一点。然后,您可以通过在该容器上执行 discoverUserInfoWithUserRecordID 来获取更多(目前只有名字和姓氏)信息。

您可以使用额外的自定义字段扩展 Users 表,但我不建议这样做。 Users 表是一个特殊的系统表,有一些限制。最好用用户设置创建一个单独的 recordType。只需向用户表添加一个 CKReference 以便于访问。

您还必须注意,用户可以在您的应用程序运行期间注销并使用不同的 iCloud 帐户登录。您可以通过在应用程序启动后立即执行下面的代码来捕获它。当然你必须在你看到 NSLog 的地方实现你自己的逻辑

    var ubiquityIdentityDidChangeNotificationToken = NSNotificationCenter.defaultCenter().addObserverForName(NSUbiquityIdentityDidChangeNotification, object: nil, queue: nil) { _ in
NSLog("The user’s iCloud login changed: should refresh all user data.")
}

关于swift - cloudkit:如何访问主要用户的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28442035/

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