相关疑难解决方法(0)

获取推送通知令牌 - iOS 10,Swift 3

如何从iOS 10中的新xCode 8,Swift 3获取设备令牌?

这里注册通知的代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        DispatchQueue.main.async {
            let settings = UIUserNotificationSettings(types: [.badge, .sound, .alert], categories: nil)
            UIApplication.shared.registerUserNotificationSettings(settings)
        }
        return true
    }

func application(_ application: UIApplication, didRegister notificationSettings: UIUserNotificationSettings) {
        if notificationSettings.types != UIUserNotificationType() {
            application.registerForRemoteNotifications()
        }
    }
Run Code Online (Sandbox Code Playgroud)

这里得到令牌,但是我收到错误"无法使用类型'(UnsafeRawPointer)'"的参数列表调用类型'UnsafePointer'的初始化程序:":

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        let chars = UnsafePointer<CChar>((deviceToken as NSData).bytes)
        var token = ""

        for i in 0..<deviceToken.count {
            token += String(format: "%02.2hhx", arguments: [chars[i]])
        }

        print("Registration …
Run Code Online (Sandbox Code Playgroud)

notifications push-notification swift3 ios10

19
推荐指数
4
解决办法
2万
查看次数

标签 统计

ios10 ×1

notifications ×1

push-notification ×1

swift3 ×1