在我的应用程序中,我有以下流程。当它启动时,它会询问是否接收推送通知。如果单击“是”,它将获取 deviceToken 并将其存储为 NSUserDefault。该应用程序的一部分正在发出请求。这些请求被添加到一个带有 deviceToken 部分的 XML 文件中,以便 PHP 脚本稍后可以根据 XML 中的 deviceToken 发送请求通知。
我最近实现了:
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
[appDomain release];
这样用户就可以清除一些他们可能不再需要的其他 NSUserDefaults。问题是这也清除了 deviceToken。我如何才能再次获取 deviceToken,而不必使用我在 App Delegate 中拥有的 didRegister 代码?