Невозможно получить deviceToken - PullRequest
0 голосов
/ 30 ноября 2009

Я хочу использовать push-уведомления в своем приложении. Я создал уникальный идентификатор приложения и создал сертификат разработки push. Также создал профиль обеспечения с использованием этого уникального идентификатора приложения. Я поместил код для регистрации устройства в метод завершения приложения, чтобы Когда мое приложение закрылось, оно активировало push-уведомление, а при запуске отключило push-уведомление. Кстати, в настоящее время я использую метод ApplicationDidFnishLaunching и регистрируюсь для push-уведомлений. Приложение зарегистрировано для push-уведомлений, я думаю, потому что оно запрашивает разрешение push-уведомлений в alertview. Но я никогда не находил токен устройства. Приложение не вызывает метод. Кстати, я написал этот метод в ApplicationDelegate.

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NSLog(@"devToken=%@",deviceToken);
[self alertNotice:@"" withMSG:[NSString stringWithFormat:@"devToken=%@",deviceToken] cancleButtonTitle:NSLocalizedString(@"OK",@"") otherButtonTitle:@""];
}

, даже если я установил точку останова в этом методе, но он не вызывается. у меня iPhone 3GS джейлбрейкнут. Кто-нибудь знает, почему я не получаю DeviceToken.

Ответы [ 2 ]

1 голос
/ 30 ноября 2009

Когда вы звоните registerForRemoteNotificationTypes:, начинается процесс асинхронной регистрации, когда ваше приложение связывается с серверами Apple. Ваш собственный код продолжает выполняться, а это значит, что приложение будет закрыто. Скорее всего, регистрация не удалась, но даже если это произойдет, процесс больше не работает, а это значит, что application:didRegisterForRemoteNotificationsWithDeviceToken: нельзя вызвать.

Вместо того, чтобы пытаться отключать уведомления при каждом запуске приложения, вы должны просто игнорировать входящие уведомления в application:didReceiveRemoteNotification: Вам не нужно делать ничего особенного, когда приложение закрывается. Он по-прежнему будет зарегистрирован для получения уведомлений, и когда приложение не будет запущено, уведомления не будут игнорироваться.

0 голосов
/ 01 декабря 2009

Насколько я понимаю, Apple игнорирует запросы токенов от взломанных iPhone. Ненавижу это говорить, но я думаю, что это может быть вашей проблемой.

...