我正在编写一个注册推送通知的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的正确方法。请帮忙
答案 0 :(得分:0)
当调用 didRegisterForRemoteNotificationsWithDeviceToken 时,您可以在应用程序级别保存已注册的令牌。
在AppDelegate级别创建 @property 并创建功能,在您的服务器上注册此令牌>。然后在该功能中访问此属性,您可以调用该功能并在您的服务器上重新注册多次,而不是在 Apple 上重新注册 服务器。