0

Я новичок в технологии 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]); 
    }  
} 

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

" Error in registration. Error: Error Domain=NSCocoaErrorDomain Code=3010 "remote notifications are not supported in the simulator" UserInfo=0x6e055a0 {NSLocalizedDescription=remote notifications are not supported in the simulator} "

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

Просьба помочь мне.

спасибо.

ответ

4

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

4

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

+0

Это верно, но если вы проверите ссылку, о которой я упомянул, вы обнаружите, что в показанном примере номер маркера извлекается в самом отладчике. Кроме того, какой должен быть способ получить то же самое? – Sarah 2010-12-02 06:44:17

+0

@Sarah Пожалуйста, отлаживайте устройство, которое есть все. Вы не можете тестировать push-уведомления на симуляторе. – 2010-12-02 06:49:00

Смежные вопросы