簡體   English   中英

在iPhone 5和iPhone SE中獲取空設備令牌

[英]Getting empty device token in iPhone 5 and iPhone SE

我沒有在iPhone 5(10.2.1)和SE(10.3.1)以及其他5個相關設備中獲取設備令牌,但是在所有iPhone 6(包括加號,SE)以及7和7+中也成功獲得了令牌。

這是我的注冊代碼

func registerForPushNotification(let application: UIApplication) {
    let notificationTypes: UIUserNotificationType = [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound]
    let pushNotificationSettings = UIUserNotificationSettings(forTypes: notificationTypes, categories: nil)
    application.registerUserNotificationSettings(pushNotificationSettings)

    application.applicationIconBadgeNumber = 0

    if pushNotificationSettings.types != .None {
        application.registerForRemoteNotifications()
    }
}

這是我收集令牌的代碼

func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {

    let characterSet: NSCharacterSet = NSCharacterSet( charactersInString: "<>" )
    let deviceTokenString: String = ( deviceToken.description as NSString )
        .stringByTrimmingCharactersInSet( characterSet )
        .stringByReplacingOccurrencesOfString( " ", withString: "" ) as String
    print( deviceTokenString )
}

有幫助嗎?

我在AppDelegate處理過didRegisterUserNotificationSettings

像這樣

func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) {
    if notificationSettings.types != [] {
        application.registerForRemoteNotifications()
    }   
}

這解決了@Lion提出的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM