iPhone registerForRemoteNotificationTypes не генерирует ошибку, но не запускает делегат, который выдает маркер устройства

Я разрабатываю приложение для iPhone, которое требует push-уведомления. Я следовал инструкциям по созданию сертификатов и изменению идентификатора приложения. Я не совсем уверен, что сделал это правильно, но я следовал инструкциям. Есть идеи, как я могу проверить, все ли в порядке?

Когда я запускал эмулятор, я получал сообщение об ошибке, в котором говорилось, что эмулятор не поддерживает push-уведомления. Это было несколько ожидаемым.

КСТАТИ: Мне кажется, этот вопрос несколько раз. Это, кажется, всегда с сломанным в тюрьме телефоном. Мой телефон НЕ сломан.

Но когда я отлаживаю на iPhone, метод didRegisterForRemoteNotificationsWithDeviceToken никогда не срабатывает. Я буду очень признателен за помощь. Мой код следует.

-(void)applicationDidFinishLaunching:(UIApplication *)application 
{    
   rootController.delegate = self;
   [window addSubview:rootController.view];
   [window makeKeyAndVisible];

   [[UIApplication sharedApplication] 
   registerForRemoteNotificationTypes:
   (UIRemoteNotificationTypeAlert | 
     UIRemoteNotificationTypeBadge | 
     UIRemoteNotificationTypeSound)];
}

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 
{ 
   NSString *str = 
    [NSString stringWithFormat:@"%@",deviceToken];
    NSLog(str);
}

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err 
{ 
    NSString *str = [NSString stringWithFormat: @"Error: %@", err];
    NSLog(str);    
}

Ответы на вопрос(7)

Ваш ответ на вопрос