Нет ответа на запрос токена устройства на симуляторе - PullRequest
0 голосов
/ 02 декабря 2010

Я новичок в технологии iphone, сейчас я работаю с приложением, в котором мне нужно реализовать push-уведомление.

Я перешел по ссылке:

http://mobiforge.com/developing/story/programming-apple-push-notification-services#comment-7850

Кроме того, использовался следующий код:

 NSLog(@"Registering for push notifications...");
    [[UIApplication sharedApplication]
  registerForRemoteNotificationTypes:
 (UIRemoteNotificationTypeAlert |
  UIRemoteNotificationTypeBadge | 
  UIRemoteNotificationTypeSound)];

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

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

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{
    for (id key in userInfo) 
 {
        NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);
    }    
}

Дело в том, что когда я запускаю программу, я должен получить токен устройства в окне отладчика, как в коде, вместо этого я получаю ошибку, как:

"Ошибка в регистрации. Ошибка: Ошибка Domain = NSCocoaErrorDomain Code = 3010" удаленные уведомления не поддерживаются в симуляторе "UserInfo = 0x6e055a0 {NSLocalizedDescription = удаленные уведомления не поддерживаются в симуляторе}"

Как мне решить эту проблему?

Пожалуйста, помогите мне.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 02 декабря 2010

Поскольку симулятор не поддерживает его ... В примере он отображает идентификатор устройства в консоли.Консоль отображает обратную связь от устройства.Информацию получает не консоль, а устройство, отправляющее информацию обратно.Таким образом, только то, что консоль отображает информацию на вашем Mac, не означает, что ваш Mac способен напрямую получать эту информацию.Иногда это должно быть отправлено устройством.Попробуйте запустить его на устройстве.

4 голосов
/ 02 декабря 2010

Сообщение об ошибке самоочевидно, вы должны попытаться отладить приложение на реальном устройстве, а не на симуляторе, так как push-уведомления не поддерживаются для получения на симуляторах.

...