gpt4 book ai didi

ios - NSUbiquityIdentityDidChangeNotification 和 SIGKILL

转载 作者:IT王子 更新时间:2023-10-29 05:49:05 26 4
gpt4 key购买 nike

swift 1.2Xcode 6

长期倾听者,初来乍到者。

你好,

直截了本地说:“要处理 iCloud 可用性的变化,请注册以接收 NSUbiquityIdentityDidChangeNotification 通知。”

这是他们提供的用于实现此目的的代码:

[[NSNotificationCenter defaultCenter]

addObserver: self

selector: @selector (iCloudAccountAvailabilityChanged:)

name: NSUbiquityIdentityDidChangeNotification

object: nil];

我在我的应用程序中将其 Swiftified 用于:

var observer = NSNotificationCenter.defaultCenter().addObserverForName
(NSUbiquityIdentityDidChangeNotification, object: nil, queue: NSOperationQueue.mainQueue()
){...completion block...}

来源:https://developer.apple.com/library/ios/documentation/General/Conceptual/iCloudDesignGuide/Chapters/iCloudFundametals.html#//apple_ref/doc/uid/TP40012094-CH6-SW6

实现这个的正确方法是什么?它会进入 AppDelegate 吗?当应用程序被发送到后台时,我们是否移除观察者?

我遇到的问题是,当 Ubiquity Token 更改时,应用程序无论如何都会终止,因为用户已更改 iCloud 设置。

你们是如何设法订阅这个通知的,如果你们不这样做,你们会做什么来跟踪当前登录的 iCloud 用户?

谢谢!

最佳答案

简答

要在用户使用您的应用程序登录或退出 iCloud 时在 iOS 中收到通知,请使用 CKAccountChangedNotification,而不是 NSUbiquityIdentityChanged

长答案

我也一直在努力让它发挥作用。我记得在 WWDC16 的一次演讲中,他们推荐使用类似这样的东西。。但是,从他们提供的示例代码中,我只能找到 NSUbiquityKeyIdentityChanged,我无法开始工作。

所以我回到了the video (it's from 2015) .这就是我看到他们引用 CKAccountChangedNotification 的地方——它完全按预期工作:

  • 从 Xcode 在模拟器上启动您的应用
  • 退出到模拟器上的“设置”应用
  • 登录(或注销)iCloud 帐户
  • 返回您的应用程序(点击模拟器主屏幕上的图标)
    • 收到通知。
  • 再次退出设置应用
  • 注销(或登录)到 iCloud 帐户
  • 再次返回您的应用
    • 收到另一个通知。

关于ios - NSUbiquityIdentityDidChangeNotification 和 SIGKILL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29546400/

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