我从 apns 开始,我们在应用程序委托中有一个方法,我们在其中接收 apns 令牌。我想将它发送到我的服务器,但前提是它与上次收到的令牌不同(我认为这是正确的做法?)。
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSString* newToken = [[NSString alloc] initWithData:deviceToken encoding:NSUTF8StringEncoding];
NSString* oldToken = [[NSUserDefaults standardUserDefaults] stringForKey:@"lastToken"];
if ([newToken isEqualToString:oldToken]) {
// Nothing to do, token hasn't changed.
}
else {
// 1) Send token up to my server.
// 2) On successful send, overwrite local copy of token.
}
}
我在服务器上用来发送 apns 消息的库最终希望将令牌作为字符串(我正在使用javapns)。所以我需要在某个时候转换它。我还想将其作为字符串存储在本地。有一个更好的方法吗?
最后,这两个字符串都会被自动释放吗?
谢谢