Почему я не могу получить токен устройства из симулятора в swift5? - PullRequest
0 голосов
/ 24 сентября 2019

Я занимаюсь разработкой iOS с помощью swift.Моя проблема в том, что я не могу получить значение токена устройства из симулятора.Это нормально?Я должен сделать пуш-тест.Возможно ли принудительное тестирование только на физическом устройстве?

AppDelegate

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        self.window = UIWindow(frame: UIScreen.main.bounds)
        // Override point for customization after application launch.
        //create the notificationCenter
       let center  = UNUserNotificationCenter.current()
       center.delegate = self
        // set the type as sound or badge
       center.requestAuthorization(options: [.sound,.alert,.badge]) { (granted, error) in
            // Enable or disable features based on authorization
        }
        application.registerForRemoteNotifications()
        return true
    }

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        let token = deviceToken.map{ String(format: "%02x", $0) }.joined()
        Log.Info("Registration succeeded!")
        Log.Info("Token: \(token)")
    }

    func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
        Log.Warning("Registration failed!")
    }

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Как сказал @SPatel, его можно протестировать только на реальном устройстве.Я надеюсь, что это улучшится в будущем

0 голосов
/ 24 сентября 2019

Прежде всего, вы не можете проверить push-уведомления на симуляторе.Для тестирования push-уведомлений вам потребовалось физическое устройство.

Симулятор не предоставляет токен устройства.только физическое устройство предоставляет маркер устройства в методе делегирования уведомления.

Пожалуйста, подтвердите, если это поможет вам.

...