推送通知不适用于应用程序商店应用程序 - iphone

问题描述:

我已经创建了一个应用程序并将其上传到iTunes。推送通知现在不适用于此。在开发中它工作正常。 我也用这个命令来测试应用程序:推送通知不适用于应用程序商店应用程序 - iphone

协同设计-dvvvv --entitlements - /路径/到/应用

,它具有以下关键:

<的plist版本= “1.0”?>
<字典>
<键>应用程序标识符< /键>
<字符串> UFWA3A8K32.com.etubez.webmap < /字符串>
<键> APS-环境< /键>
<字符串>生产< /字符串>
<键>获得任务,允许< /键>
<假/>
<关键>钥匙扣存取组< /键>
<阵列>
<字符串> UFWA3A8K32.com.etubez.webmap
< /阵列>
< /字典>
< /的plist>

然后我试图创建即席分布证书,并试图安装到运行推动生产环境,但这些都没有工作。 php webservice返回一切OK:

Thu,03 Mar 2011 21:03:14 +0100 ApnsPHP [3231]:INFO:Trying ssl://gateway.push.apple.com:2195 ... Thu, ,03 Mar 2011 21:03:19 +0100 ApnsPHP [3231]:信息:连接到ssl://gateway.push.apple.com:2195。星期四,03三月2011 21:03:19 +0100 ApnsPHP [3231]:信息:发送消息队列,运行#1:1消息(s)留在队列中。星期四,03三月2011 21:03:19 +0100 ApnsPHP [3231]:状态:发送消息ID 1 [自定义标识符:消息徽章-3](1/3):253个字节。星期四,03三月2011 21:03:19 +0100 ApnsPHP [3231]:信息:断开连接。

但我没有收到任何推送通知。

我也尝试再次创建证书n再次3-4次,但不工作。 任何人都可以在这方面帮助我吗?

编辑:我正在使用这种方法来创建证书: http://code.google.com/p/apns-php/wiki/CertificateCreation 一个证书同时用于沙箱和生产开发。

非常感谢,
导航

+0

在开发和生产中是否有相同的日志? – malinois 2011-03-03 20:35:48

+0

是的。其实问题出在上面提供的链接上。如果想要为生产和沙箱使用相同的证书,就有建立证书的说明。但它不适合我。我必须为生产版本创建一个新证书,然后才能开始工作。非常感谢你们两位。 – 2011-03-15 12:14:33

我保持这个检查列表和我在一起。这有助于找到可能的原因。您也可以从设备获取APNS日志(如果您有权访问..)并查看是否有帮助。

APNS核对表

  • 提供商应该安装委托安全服务器CA根证书。这允许TLS/SSL验证完整的APNs服务器证书链。这个根证书可以从Entrust的网站下载。

  • 开发环境中的设备令牌不适用于产品推送服务。每个推送环境将为同一设备发出不同的令牌。如果一个无效的设备令牌被发送到错误的环境,推送服务会将其视为无效令牌并丢弃通知。

  • 如果您从您的设备中删除您的应用程序,然后发送推送通知给您,您会希望设备令牌被拒绝,并且无效的设备令牌应显示在反馈服务上。但是,如果这是设备上最后一个启用了推送的应用程序,则它不会显示在反馈服务中。这是因为在删除通知可以发送之前,删除最后一个应用程序会将推送服务的持久连接关闭。

  • 推送提供程序通常位于防火墙之后。要发送通知,您需要打开TCP端口2195。要获得反馈服务,您需要打开TCP端口2196。通过Wi-Fi连接推送服务的设备需要打开TCP端口5223。

  • 推送服务的IP地址范围可能会更改;预期供应商将通过主机名而不是IP地址进行连接。但是,整个17.0.0.0/8地址块已分配给Apple,因此您可以在防火墙规则中指定该范围。

  • 我们可以启用APNS日志记录,在设备上安装配置文件APNsLogging.mobileconfig,方法是将文件放在Web服务器上并使用设备上的Safari下载它的位置,或者将它作为电子邮件附件发送并打开在您的设备上的邮件附件。我们可以使用mdm来推送配置文件。

更多信息可查询here

+0

非常非常有用的信息,我没有在任何地方的文档中找到。谢谢独角兽! – averydev 2011-05-11 09:22:44

我有同样的问题,安装从App Store控制台应用程序,并发现了一个消息“没有有效的APS-环境” entilement字符串中找到了应用”

我忘了推送通知添加到授权文件等等它从应用商店下载时没有注册推送通知。

确保从您的设备上卸载该应用程序,然后安装AppStore版本。