Wie man Device-Token in didFinishLaunchingWithOptions
Ich rufe device-token in meiner ersten viewcontroller
. Und kann ich nicht bekommen, weil Device-token ist null. Hier unten ist mein code in appdelegate
:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeBadge];
return YES;
}
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
token = [[deviceToken description] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"<>"]];
token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"Device Token ---%@", token);
[[NSUserDefaults standardUserDefaults] setObject:token forKey:@"DeviceToken"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
Wenn ich rufe in Viewcontroller :
NSString *token= [[NSUserDefaults standardUserDefaults] objectForKey:@"DeviceToken"];
token ist null.
- versuchen Sie es am simulator?
- Versuchen Sie es mit dem echten Gerät.
- Überprüfen Sie Ihre provisioning-Profilen und bauen im realen Gerät.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies funktionierte perfekt für mich, in meinem Gerät.
Finden Kulss' Antwort SO Beantworten:
Wie kann ich meine konvertieren-device-token (NSData) in ein NSString?
Sollten Sie analysieren die bytes nicht der Beschreibung.
Ersten
Fügen Sie diese in
Application.h
versuchen, diese mit meinem Freund....
Happy Coding!!!!
Fügen Sie zwei Methoden didRegister und didFailToRegister, und bestätigen Sie are u getting ein Anruf in didRegister oder in didFailedToRegister.
und versichern sind u immer erfolgreich die ur-device-token. Oder u, r Fehler beim registerForRemote...
Können Sie versuchen, diese
Kann Ihnen helfen.
Zuerst registrieren der Benachrichtigung, dann erhalten Sie toke in
didRegisterRemoteNotification
Sollten Sie Ihre provisioning-Profil. Auch sollte die App so konfiguriert werden, dass die push-Benachrichtigung auf dem developer-portal.
Führen Sie diese Schritte aus, um dies zu tun.
Wird es funktionieren.
versuchen Sie, diese..
nach Ihrer abgeschlossenen Transaktionen, die Sie möchten, token-Nummer in dem view-controller. also für die, die versuchen zu machen oder ändern, die root-view-controller wieder in appDelegate durch die Methode, wie dies in
AppDelegate.m
.in dieser Methode
dieser Aussage geholfen zu rufen
didRegisterForRemoteNotificationsWithDeviceToken
wieder und speichern Sie das token in einen Gegenstand wieNSUserDefaults
und Sie können verwenden Sie es in Ihrem viewController. Es funktioniert für mich. Sie können versuchen, diese. Am besten Glück.