5

我正在使用 Titanium 2.0.2 创建一个 iPhone 应用程序,除其他外,它必须能够接收推送通知。我做了以下

一个。在我的 Apple Developer 帐户中创建 AppID b。为 Push 配置 AppID。使用新创建的 AppID 创建了一个新的配置文件 d. 为了好的措施编辑了该配置文件 - 鉴于我听说第一次没有正确获取 AppID 推送信息的报告

有了所有这些,我开始使用 Ti.Network.registerForPUshNotifications 为我的应用程序注册 Push,并编写了成功、错误和回调方法。我密切关注 Titanium Kitchen Sink 演示中的示例。

完成这一切后,我完全预料到了以下结果之一

  1. 注册成功,我收到了我卡在 Success 回调中的警报消息。
  2. 注册失败,我在错误回调中收到警报消息

令我惊讶的是,根本没有发生任何事情 - 就像 registerForPushNotifications 调用进入以太并且很好......消失了

为了更加确定,我按照http://maniacdev.com/2011/05/tutorial-ios-push-notification-services-for-beginners/上的优秀教程创建了一个简单的 XCode 项目。该应用程序向 APNS 注册,我使用我的 iPad 和http://itunes.apple.com/us/app/consolelog/id415116252?mt=8捕获分配的 remoteDeviceUUID 。然后,我从 ManicDev 改编了 simplepush.php 脚本,并在我的本地 WAMP 服务器上运行它。它通过 APNS 并存入我的第一条 PUSH 消息。但它永远不会出现在我的 iPad 上!

为了完整起见,我应该提到我正在借助 TestFlightApp 在我的 iPad 上进行开发构建。

那么我在这里做错了什么?

一个。为什么 Titanium 根本不想做任何事情来响应 RegisterForPushNotifications?湾。我的示例 XCode 应用程序永远不会收到推送通知吗?

我将非常感谢对此提供的任何帮助。

4

2 回答 2

1

给遇到此帖子的任何人的说明。小心在 WiFi 防火墙路由器后面的 iPad 上测试推送通知。大多数路由器会阻止访问 APNS 使用的端口。我花了太多时间试图在我的代码中找到一个“错误”,结果却发现根本没有。将设备放在路由器上的 DMZ 中可能会有所帮助,但并不可靠——至少对于我的 Sitecom 路由器来说不是。

于 2012-07-12T13:26:41.030 回答
0

就推送通知而言,Test Flight 使用的临时构建是“生产”而不是开发,因此很可能您的服务器需要使用生产 APNS 服务器密钥进行配置才能使其工作。

于 2012-05-23T13:30:28.390 回答