我在一台设备上有两个应用程序.对于iOS 7,两个应用程序都发送不同的设备令牌,但对于iOS 6,这两个应用程序都发送相同的设备令牌.
根据我的理解,设备令牌必须与一个设备中的所有应用程序相同.iOS7与iOS 6有什么不同吗?
我在同一设备上看到为同一个应用返回的不同令牌:
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
安装之间.
例如,首次安装后,它将返回令牌"A",如果我删除应用程序并重新安装它将返回令牌"B".我在iOS 9最新测试版上看到了这种行为,并想知道这是设计还是漏洞.
据我所知,如果设备上安装了多个具有不同App ID的应用程序,则为每个应用程序生成的推送通知令牌应该是唯一的.
在我的例子中,我有几个使用不同配置文件编译的应用程序,每个应用程序都基于不同的应用程序ID(尽管其中一些具有相同的Bundle Seed ID,有些则没有).
对于每个应用程序,我生成了开发推送通知SSL并导出SSL以生成PEM.接下来,我下载配置文件并将其应用于XCode.
当我试图在我的设备上运行它时,我得到的是:
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
Run Code Online (Sandbox Code Playgroud)
所有应用程序都是一个相同的设备令牌.我想知道为什么会这样?
当我试图通过我的服务器推送通知时,没有收到任何错误消息.但通知从未传递给已安装的设备.
请给我关于这个问题的建议.提前致谢.