Iphone - 多个应用程序,不同的应用程序 ID,相同的 token

标签 iphone objective-c push-notification

据我了解,如果一台设备上安装了多个具有不同 App ID 的应用程序,则为每个应用程序生成的推送通知 token 应该是唯一的。

在我的例子中,我有几个使用不同配置文件编译的应用程序,每个应用程序都基于不同的应用程序 ID(尽管其中一些具有相同的 Bundle Seed ID,有些则没有)。

我为每个应用程序生成开发推送通知 SSL 并导出 SSL 以生成 PEM。接下来,我下载配置文件并将其应用到 XCode。

当我尝试在我的设备上运行它时,我得到的结果是:

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

在所有应用程序上都是一个相同的设备 token 。我想知道这是为什么?

当我尝试通过我的服务器推送通知时,没有收到任何错误消息。但通知从未发送到已安装的设备。

请给我关于问题的建议。提前致谢。

最佳答案

无论是生产环境还是开发环境,每个应用程序的设备 token 都不是唯一的。您可能想知道,如果所有应用程序的设备 token 都相同,那么推送通知怎么可能路由到正确的设备和正确的应用程序?答案是应用程序的唯一捆绑 ID。 App Store 上的每个应用程序都有一个唯一标识符,例如:com.mycompanyname.dummyapp。当应用程序自行注册推送通知时,应用程序包 ID 和设备 token 都会在 Apple 的服务器上注册。

Willy,您可能要检查的最后一件事是,配置推送通知的第一步是从钥匙串(keychain)管理器创建 CertificateSigningRequest.certSigningRequest 文件。如果您有 2 个应用程序,则必须执行此步骤两次,这样您最终会得到 2 个不同的文件,这些文件将在 Apple 的门户中用于创建 SSL.cer 文件。您的问题可能是您使用了相同的 .certSigningRequest 来创建不同的 SSL.cer 文件,而不是使用不同的文件。

关于Iphone - 多个应用程序,不同的应用程序 ID,相同的 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7594931/

相关文章:

iphone - 将 NSDictionary 值传递给 NSString

javascript - 解析云代码推送通知不起作用

iphone - 如何准确找到iPhone项目中内存泄漏的位置

iphone - 如何使用 Cocoa Touch 发现网络设备?

ios - 将 enumerateObjectsUsingBlock 转换为快速枚举 - Swift

objective-c - 将 subview Controller 推到 UINavigationController 后崩溃

iOS:获取推送通知的所有消息

javascript - 将函数部署到 Firebase 时出错

iPhone - UIView 的背景颜色 - 使用具有透明度的 png?

iphone - 关于保留计数需要澄清