如何在应用启动后获取iOS推送通知令牌

时间:2014-11-25 17:41:52

标签: ios xcode ios7 ios8 push-notification

我正在编写一个注册推送通知的iOS应用程序。我需要定期/每当服务器请求时发送设备令牌。

- (void)application:(UIApplication *)application
    didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
   //send to server
}

但只有当应用程序启动时才会发生这种情况。除了启动之外,如何在应用程序的其他部分进行此回调,以便它到达上面的代码并将deviceToken发送到我的服务器?

我正在考虑这个问题(必须支持iOS8以及更低版本)

if( server requests token )
{
   if( [application respondsToSelector:@selector(registerUserNotificationSettings) ] )
   {
      [application registerForRemoteNotifications];
   }
   else
   {
      [application registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert );
   }
}

这是在应用程序中间(即应用程序启动后)再次获取deviceToken的正确方法。请帮忙

1 个答案:

答案 0 :(得分:0)

当调用 didRegisterForRemoteNotificationsWithDeviceToken 时,您可以在应用程序级别保存已注册的令牌。

在AppDelegate级别创建 @property 并创建功能,在您的服务器上注册此令牌>。然后在该功能中访问此属性,您可以调用该功能并在您的服务器上重新注册多次,而不是在 Apple 上重新注册 服务器