将设备令牌存储在AppDelegate中,然后在ViewController中使用它

时间:2016-01-07 01:42:06

标签: ios objective-c appdelegate devicetoken

我正在尝试在我的AppDelegate中获取设备令牌,然后在稍后的ViewController中的函数中使用它。

我在AppDelegate中成功检索了设备令牌:

null

然后我试图在我的ViewController中的一个函数中使用它,但它打印为-(void)addDeviceToken{ NSString *deviceToken = [[NSUserDefaults standardUserDefaults] objectForKey:@"deviceToken"]; NSLog(@"%@", deviceToken); }

{{1}}

有谁知道如何让变量显示在这里?

1 个答案:

答案 0 :(得分:1)

令牌替换为 tokenAsString

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
NSString *tokenAsString = [[[deviceToken description]
                             stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]]
                            stringByReplacingOccurrencesOfString:@" " withString:@""];

[[NSUserDefaults standardUserDefaults] setObject: tokenAsString forKey:@"deviceToken"];
[[NSUserDefaults standardUserDefaults]synchronize];}