UIApplication.registerForRemoteNotifications()必须仅从主线程调用

王冠:

Xcode 9(iOS 11)向我显示了注册推送(远程)通知时的错误/警告。

这是错误消息

在此处输入图片说明

这是代码,我已经尝试过:

let center  = UNUserNotificationCenter.current()
center.delegate = self
center.requestAuthorization(options: [.sound, .alert, .badge]) { (granted, error) in
        if error == nil{
              UIApplication.shared.registerForRemoteNotifications()
        }
 }

错误/警告行:

UIApplication.shared.registerForRemoteNotifications()

如何解决呢?

Wasim K. Memon:

swift4

您可以使用以下方法解决此问题

DispatchQueue.main.async {
  UIApplication.shared.registerForRemoteNotifications()
}

希望这会有所帮助...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

方法publishProgress必须从辅助线程中调用,目前推断线程是主线程

主线程检查器:在后台线程上调用的UI API:-[UIApplication applicationState]

-[UIApplication委托]必须仅从主线程调用

Swift的UIApplication子类

Android错误:必须从主线程调用recreate()

我的应用程序是否使用UIApplication.shared.openURL调用HTTPS?

UIApplication.delegate必须仅在主线程中使用

委托UIApplication的属性

UIApplication没有共享成员

主线程检查器:在后台线程上调用的UI API:-[UIApplication委托]

UIApplication无法打开URL

必须从主线程调用方法,当前推断的线程为worker

什么是FNFPlayer?它从后台线程访问UIApplication applicationState

必须仅从主线程使用ImageView

MvvmCross-如何从UIApplication Xamarin.iOS对Mvx View进行导航调用

QCoreApplication :: processEvents-为什么必须仅从主线程调用它?

从后台线程访问[UIApplication sharedApplication]可以吗?

如何访问UIApplication子类函数

[UIApplication sendEvent:]是否在NSRunLoop中执行?

UIApplication sharedApplication两次调用

Android:Volley:为什么必须从主线程调用volley imageLoader?

Apple Watch上的UIApplication.sharedApplication()。beginIgnoringInteractionEvents()

如何使用UIApplication和openURL并从foo:// q = string的“ string”上调用swift函数?

Unity Firebase SetCurrentScreen 必须从主线程调用

从 UIApplication 继承类中导航

类“UIApplication”和“FBSDKApplicationDelegate”的多重继承

UIApplication applicationState 只能在主线程中使用

Swift - 从主线程访问 UIApplication.shared.statusBarOrientation

在 iOS 中执行`UIApplication.shared.registerForRemoteNotifications()` 的幕后会发生什么?