0

Ich bin Neuling auf iPhone-Technologie, jetzt arbeite ich mit einer Anwendung, wo ich Push-Benachrichtigung implementieren muss.Keine Antwort für Gerät Token Anfrage auf dem Simulator

folgte ich den Link:

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

Auch verwendet, um den folgenden Code ein:

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]); 
    }  
} 

Sache ist, wenn ich das Programm ausführen, i Device-Token im Debugger-Fenster bekommen soll , nach dem code, stattdessen bekomme ich fehler wie:

" 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} "

Wie soll ich dieses Problem lösen?

Bitte helfen Sie mir aus.

Vielen Dank.

Antwort

4

Weil der Simulator es nicht unterstützt ... Im Beispiel zeigt es die Gerätekennung in der Konsole an. Die Konsole zeigt die Rückmeldung vom Gerät an. Es ist nicht die Konsole, die die Informationen erhält, sondern das Gerät, das die Informationen zurücksendet. Nur weil die Konsole Informationen auf Ihrem Mac anzeigt, heißt das nicht, dass Ihr Mac diese Informationen direkt erhalten kann. Manchmal muss es vom Gerät gesendet werden. Versuchen Sie es auf einem Gerät auszuführen.

+0

Ok..ich wusste das nicht. Vielen Dank für die Erklärung. – Sarah

+0

Ich postete dies nach Madhups Antwort, vor allem, weil es so aussieht, als ob Sie etwas Verwirrung darüber haben, was die debuggin-Konsole macht. – Beaker

+0

Ja, es war alles Verwirrung. – Sarah

4

Die Fehlermeldung ist selbsterklärend, Sie sollten versuchen, die App auf einem echten Gerät nicht auf dem Simulator zu debuggen, da Push-Benachrichtigungen nicht unterstützt werden, um auf den Simulatoren empfangen zu werden.

+0

Das stimmt, aber wenn Sie den Link, den ich erwähnt habe, überprüfen, werden Sie feststellen, dass im Beispiel die Tokennummer im Debugger selbst abgerufen wird. Also, wie sollte man das gleiche holen? – Sarah

+0

@Sarah Bitte Debug auf dem Gerät, das ist alles. Sie können keine Push-Benachrichtigungen im Simulator testen. –