Не получается токен устройства APNS на ios 13 - PullRequest
2 голосов
/ 07 октября 2019

У меня проблема с маркером устройства APNS. До этого я использовал Xcode 10.2 и iOS 12.1. В этот момент я получал токен устройства в методе делегата

-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

Я регистрируюсь на APNS вот так, и он работал нормально.

UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
    center.delegate = self;
    [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){
                if(!error){
                    [[UIApplication sharedApplication] registerForRemoteNotifications];
                }
    }];

Теперь, когда установлена ​​iOS 13 дляНа моем устройстве iPhone и с использованием Xcode 11 метод делегата didRegisterForRemoteNotificationsWithDeviceToken не вызывается. Невозможно понять эту проблему. Я уже провел исследование по этому вопросу, я знаю, что есть некоторые изменения в получении токена от метода делегата, но в моем случае метод делегата даже не вызывается. Опять же, это нормально работает для iOS 12.

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Просто перезагрузите свой iPhone. Это так просто, и в 90% случаев это решит вашу проблему.

0 голосов
/ 07 октября 2019

Это связано с отсутствием DeviceSupport в вашей установке XCode для версии платформы, используемой вашим устройством развертывания.

В моем случае платформа 13.1 отсутствовала. Чтобы решить проблему, просто добавьте DeviceSupports в папку

Xcode.app / Contents / Develper / Platforms / iPhoneOS.platform / DeviceSupport

Вы можете загрузить отсутствующий DeviceSupport из: https://github.com/iGhibli/iOS-DeviceSupport/tree/master/DeviceSupport

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...