【问题标题】:How to detect if iCloud account on a device changed?如何检测设备上的 iCloud 帐户是否更改?
【发布时间】:2013-02-07 22:43:00
【问题描述】:

如何检测设备上使用的 iCloud 帐户是否更改?

一个用户从 设置 > iCloud 退出,另一个用户登录他/她的帐户。

如何在应用打开时检测到这种变化?

【问题讨论】:

    标签: ios objective-c macos icloud user-accounts


    【解决方案1】:

    只需为通知添加一个名为 NSUbiquityIdentityDidChangeNotification 的观察者

    [[NSNotificationCenter defaultCenter]
        addObserver: self
           selector: @selector (iCloudAccountAvailabilityChanged:)
               name: NSUbiquityIdentityDidChangeNotification
             object: nil];
    

    如果用户退出 iCloud,例如关闭“文档和数据” 在 Settings 中,ubiquityIdentityToken 方法返回 nil。启用 您的应用程序来检测用户何时退出并重新登录,注册 有关 iCloud 帐户可用性的更改。 - Apple 文档

    http://developer.apple.com/library/mac/#documentation/General/Conceptual/iCloudDesignGuide/Chapters/iCloudFundametals.html

    【讨论】:

    • 我简直不敢相信我在参考文档中找不到 ubiquityIdentityToken。非常感谢。
    • 用户也可以在您的应用未运行时注销或重新登录。您应该将 ubiquity 令牌的值保存在某处,并在您的应用启动时将当前值与之前保存的值进行比较。
    猜你喜欢
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 2021-12-05
    • 2012-06-15
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    相关资源
    最近更新 更多