2012-10-11 12 views
6

Ich poste Werte von Benutzername, Passwort und Devicetoken zu .net Webservice. Aber es hat keinen Geräte-Token-Wert erhalten. Ich verwende den folgenden Code.Wie bekomme ich Geräte-Token?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeAlert ]; 
} 

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 
{  
    NSLog(@"didRegisterForRemoteNotificationsWithDeviceToken: %@", deviceToken); 
    NSString *dt = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]; 
    dt = [dt stringByReplacingOccurrencesOfString:@" " withString:@""]; 
    self.DeviceToken=dt; 
    NSLog(@"~~~~devToken(dv)=%@",deviceToken); 
} 

- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error 
{  
    NSLog(@"Failed to get token, error: %@", error); 
} 

Aber in der Konsole zeigt es

Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x1a0810 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application

Jede Idee? Danke im Voraus!

Antwort

1

Haben Sie Push-Benachrichtigung in Ihre vorläufige Datei aktiviert?

Gehen Sie durch the tutorial zu überprüfen, ob Sie mit der rechten

Erstes getan haben versuchen Push-Benachrichtigung an das Gerät von Ihrem Mac zu senden, wie in Tutorial erwähnt. Sie erhalten eine pem-Datei auf Server-Seite benötigen, die Sie von iOS Portal :) erstellen müssen

+0

hi Ich habe den Geräte-Token, aber es konnte die Werte nicht an webservice posten.In der Konsole zeigt es -JSONValue fehlgeschlagen. Fehler-Trace ist: ( "Fehler Domain = org.brautaset.JSON.ErrorDomain Code = 3 \" Unbekanntes führendes Zeichen \ "UserInfo = 0x15e880 {NSLocalizedDescription = Unbekanntes führendes Zeichen}, was ist das Problem? – fathik

1

Ich gehe davon aus, dass Sie auf einem Gerät laufen/debuggen, da Sie einen anderen Fehler bekommen, wenn Sie versuchen, sich für ein Push-Token vom Simulator zu registrieren. Ich wollte das nur aus dem Weg schaffen.

Das, was normalerweise den angezeigten Fehler verursacht, ist, dass Push-Benachrichtigungen in dem von Ihnen ausgewählten Bereitstellungsprofil nicht aktiviert sind. Nun sind Sie möglicherweise zum iOS Provisioning Portal gegangen und haben Push für Ihre App ID aktiviert (auch wenn Sie Push für Ihr Entwicklungs- oder Vertriebsprofil aktiviert haben). Nachdem Sie dies jedoch getan haben, müssen Sie Ihr Bereitstellungsprofil für das Bereitstellungsportal öffnen und es "verunreinigen", um ein neues Bereitstellungsprofil zu erstellen, in dem die Push-Berechtigungen enthalten sind.

Wenn ich es "verschmutze", bedeute ich, reinzugehen und einige Einstellungen des Profils zu ändern, um eine Neuerstellung zu erzwingen. Sie werden wissen, ob Sie es "genug" verschmutzt haben, wenn Sie bei der Rückkehr zu Provisioning-Profilen vorübergehend für einige Sekunden in "Ausstehend" wechseln, bevor Sie wieder "Aktiv" werden und es herunterladen können.

Oh, und ich gerade diese, die auch beantwortet die Frage gefunden (aushelfen jemand, wenn ich es falsch, bitte verlinkt): Bundle Identifier and push certificate... aps-environment entitlement error

0
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 
{  
    NSLog(@"didRegisterForRemoteNotificationsWithDeviceToken: %@", deviceToken); 
    NSString *dt = [[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]; 
    dt = [dt stringByReplacingOccurrencesOfString:@" " withString:@""]; 
    self.DeviceToken=dt; 

} 
0

Um die Geräte Token, Run Anwendung in Gerät zu bekommen.

+0

Ich bekomme dieses Problem .. registerForRemoteNotificationTypes: wird in iOS 8.0 und höher nicht unterstützt. – CAN