推送通知在 Ad-Hoc 配置文件下不起作用 - 尝试(几乎)一切
Posted
技术标签:
【中文标题】推送通知在 Ad-Hoc 配置文件下不起作用 - 尝试(几乎)一切【英文标题】:Push notification not working under Ad-Hoc profile - Tried (Almost) everything 【发布时间】:2013-02-06 06:17:50 【问题描述】:我在使用开发配置文件时成功地从 APN 取回了令牌。当移动到 Ad Hoc 时,我从来没有从 APNs 收到令牌,因此我无法将它发送到我们的通知服务器。在阅读了 *** 上的所有帖子和官方文档(即重新创建的配置文件、证书等)后尝试了任何方法 现在,我尝试使用
代码设计 -dvvvv --entitlements - MyApp.app
查看我如何签署应用程序的命令并收到以下内容
<dict>
<key>application-identifier</key>
<string>XXXXXXX.com.company.MyApp</string>
<key>aps-environment</key>
<string>production</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>XXXXXXX.com.company.MyApp</string>
</array>
</dict>
这是一个 Ad Hoc 代码符号吗?它不应该将UDID列表添加到配置文件中吗? 任何其他想法会是什么? 谢谢!
【问题讨论】:
【参考方案1】:A.会员中心 0。证书“ios 分发” 1。为分发启用推送通知的 AppID 2。证书“APNs 生产 iOS” 3。 AdHoc 分发配置文件(每个 AppID 唯一) 4。下载证书“APN production iOS”并单击要添加到钥匙串访问的文件
B.xcode 6.1.1 1.使用AppId配置项目 2。 product/archive/export/Save for Ad Hoc Development -- 签名身份应为“iOS -Distribution”,“Provisioning Profile”应为 AdHoc Distribution Profile 3。导出ipa文件
C.itunes 12.0.1.26 1.将ipa文件添加到itunes/Applications 2.将设备连接到iTunes iTunes/设备(iTunes 左上角)/设置/应用程序/将应用程序更改为“将安装” 3.同步 4.启动应用并获取推送通知令牌
D.KeyChain 访问 - 将证书“APN production iOS”中的密钥导出到 .p12 --> app_prod_apn_key.p12 使用密码 123456
E.JavaPNS 2.2(或其他工具——使用苹果生产服务器) -运行以下命令: java -cp JavaPNS_2.2.jar:log4j-1.2.17.jar:bcprov-jdk15on-151.jar javapns.test.NotificationTest app_prod_apn_key.p12 123456 xxxxxxxx75556f8b56da29082da5f0f05d3cac1166fc84b7efd411b7fxxxxxxx 生产复合体>
【讨论】:
【参考方案2】:遇到同样的问题 如果您没有注意到任何人,请更改您的服务器代码上的推送 url APNs 使用 AdHoc 的生产配置文件,对于生产,您必须删除 url 中的 sandbox,如下所述
if ($production)
$gateway = 'gateway.push.apple.com:2195';
else
$gateway = 'gateway.sandbox.push.apple.com:2195';
参考:http://codular.com/sending-ios-push-notifications-with-php
【讨论】:
【参考方案3】:对于临时,您应该将发布证书与生产 APN 一起使用。如果它仍然不起作用,请尝试检查您是否可以连接到生产 APN 端口和 ips 范围。 "Apple Technical note"
【讨论】:
【参考方案4】:确保您的生产推送证书与您的临时构建中的应用 ID 匹配。如果您有一个 .PEM 文件,请打开它并确保它在顶部提到“Apple Production IOS Push Services”,然后是与您的临时构建完全相同的包标识符。
【讨论】:
以上是关于推送通知在 Ad-Hoc 配置文件下不起作用 - 尝试(几乎)一切的主要内容,如果未能解决你的问题,请参考以下文章