ios – NSUbiquityIdentityDidChangeNotification和SIGKILL

ios – NSUbiquityIdentityDidChangeNotification和SIGKILL,第1张

概述Swift 1.2 Xcode 6 长时间听众,第一次来电. 你好, 直接从马的口中说:“要处理iCloud可用性的变化,请注册以接收NSUbiquityIdentityDidChangeNotification通知.” 以下是他们为实现此目的而提供的代码: [[NSNotificationCenter defaultCenter]addObserver: self selector: Swift 1.2
Xcode 6

长时间听众,第一次来电.

你好,

直接从马的口中说:“要处理iCloud可用性的变化,请注册以接收NSUbiquityIDentityDIDChangeNotification通知.”

以下是他们为实现此目的而提供的代码:

[[NSNotificationCenter defaultCenter]addobserver: self   selector: @selector (iCloudAccountAvailabilityChanged:)       name: NSUbiquityIDentityDIDChangeNotification     object: nil];

我在我的应用程序中使其变得:

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

src: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全部内容,希望文章能够帮你解决ios – NSUbiquityIdentityDidChangeNotification和SIGKILL所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1101049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存