Немного похож на Когда это сделаноRegisterForRemoteNotificationsWithDeviceToken называется?.
Когда пользователь первый установил приложение, и он запрашивает, принимать ли уведомление, вызывается ли didRegisterForRemoteNotificationsWithDeviceToken
, если пользователь принимает его?
В настоящее время я вызываю registerForRemoteNotificationTypes
после того, как пользователь успешно выполнил вход или создал учетную запись.
В последующих запусках делегат didRegisterForRemoteNotificationsWithDeviceToken
вызывается даже без вызова registerForRemoteNotificationTypes
в AppDelegate.
Если я следую документам и примерному примеру:
Запросив токен устройства и передавая его провайдеру каждый раз, когда запускается ваше приложение, вы помогаете гарантировать, что у провайдера есть текущий токен для устройства.
- (void)applicationDidFinishLaunching:(UIApplication *)app {
// other setup tasks here....
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:...
}
Но, запросив токен при запуске приложения, делегат будет вызываться дважды.
Необходимо несколько вопросов и ясности:
-
Чтобы началось первоначальное приглашение, необходимо вызвать вызов
registerForRemoteNotificationTypes
для появления приглашения? Но делегат будет вызываться дважды, если я вызову его вручную в AppDelegate. Предполагается, что это так? -
Если пользователь принимает начальное приглашение, будет ли
didRegisterForRemoteNotificationsWithDeviceToken
вызываться автоматически? Или мы должны ссылатьсяregisterForRemoteNotificationTypes
в AppDelegate? Но тогда делегат будет дважды вызван для будущих запусков? -
Если пользователь отрицает и позже принимает его через настройку, что происходит?
UPDATE
0. Для того, чтобы начальное приглашение произошло, необходимо вызвать вызов registerForRemoteNotificationTypes
для появления приглашения? Но делегат будет вызываться дважды, если я вызову его вручную в AppDelegate. Разве это так? Это неверно. Обнаружилось, что в AppDelegate было сделано 2 registerForRemoteNotiicationTypes
.