直到将我的应用程序提交到App Store(并且现在可用)后,我才意识到这一点,即发行 token 和生产 token 之间存在差异。在开发过程中,推送通知对我有用,但是从App Store下载后,它不起作用。

我已启用用于开发和分发的推送通知。我已经创建了启用了推送通知的适当的开发和发行配置文件。

我有一些问题是:

现在该应用程序已在应用商店中,我是否可以在.php文件中做任何事情以允许推送通知而无需提交其他更新,即将APNS服务器位置从开发更改为生产?

我是否必须更改在AppDelegate.m中获取 token 的方式?现在我在didRegisterForRemoteNotificationsWithDeviceToken中有这个:

NSString *token = [ [deviceToken description] stringByTrimmingCharactersInSet: [NSCharacterSet characterSetWithCharactersInString:@"<>"] ];

// Remove spaces from the token
token = [token stringByReplacingOccurrencesOfString:@" " withString:@""];

如何在Xcode中测试生产模式?我已经创建了一个临时证书。

谢谢

最佳答案

您只需要对php脚本进行两​​项更改,其余的将起作用:

  • 将目的地更改为gateway.push.apple.com:2195而不是gateway.sandbox.push.apple.com:2195`。
  • 使用生产证书(而不是开发证书)签署推送通知。

  • 其余的应该工作正常。生产 token 将相应发送生产推送通知。

    关于ios - 如何使推送通知在iOS的生产环境中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28620842/

    10-13 07:15