如何解决CKAccountChanged通知仅收到一次
我想在iCloud帐户状态更改时在我的iOS应用中收到通知,因此我通过注册
NotificationCenter.default.addObserver(self, 选择器:#selector(iCloudAvailabilityChanged), 名称:Notification.Name.CKAccountChanged, 对象:无)
确实,当我后台我的应用程序,并在“设置”中翻转该应用程序的iCloud开关,然后返回并显示我的应用程序时,我会在applicationWillEnterForeground之后收到通知。
但是,如果我重复此操作,请第二次使我的应用程序后台运行,拨动开关,然后再次使我的应用程序前台,则不会收到通知。如果我第三次,第四次等等,也不会。
这种行为有时不会发生在我身上,但总是发生在我身上,我尝试在不同的设备上进行操作,并且都是一样的。
我使用iOS 13和Swift 5。
这是预期的行为,还是一个错误,或者我做错了什么?谢谢您的帮助!
解决方法
正如我在上面的评论所暗示的,我认为您可能会拨错开关。据我了解,CKAccountChanged
会在您更改以下两项内容之一时触发:
- 在设备上登录/注销iCloud 。
- 打开/关闭iCloud Drive (在
Settings > iCloud Profile > iCloud > iCloud Drive
中)
我还没有读过任何关于更改特定应用程序的iCloud可用性将触发CKAccountChanged
的信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。