如何在iOS的制作中使推送通知正常工作?

时间:2015-02-20 02:43:40

标签: ios objective-c apple-push-notifications

直到我将我的应用程序提交到App Store(现在已经可用)之后我才意识到这一点,即分发和生产令牌之间存在差异。在开发过程中,推送通知对我有用,但从App Store下载后,它没有用。

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

我遇到的一些问题是:

我的.php文件中有什么我可以做的,现在应用程序在应用程序商店中,允许推送通知而不提交另一个更新,即将APNS服务器位置从开发更改为生产?

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

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

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

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

由于

3 个答案:

答案 0 :(得分:2)

您只需对php脚本进行两​​处更改,其余内容将有效:

  1. 将目的地更改为gateway.push.apple.com:2195,而不是gateway.sandbox.push.apple.com:2195`。
  2. 使用生产证书而非开发证书签署推送通知。
  3. 其余的应该可以正常工作。生产令牌将相应地发送生产推送通知。

答案 1 :(得分:1)

  • 首先使用adhoc证书导出ipa文件并将其安装在您的iphone上。
  • 通过这种方式,您可以测试您的生产证书但您无法直接通过xcode测试(运行)。
  • 检查您的php端邮件是否成功发送。

答案 2 :(得分:0)

我意识到我没有将ck.pem文件(证书和密钥的组合)上传到服务器上。

现在已经修好了。