3

使用开发证书时推送通知工作正常。当我在我的临时分发中切换到生产证书时,应用程序无法注册推送通知。在 UIApplicationDelegate 中,既不didRegisterForRemoteNotificationsWithDeviceToken也不didFailToRegisterForRemoteNotificationsWithError被调用。此外,当我查看设备日志时,我发现了这一点:

Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'aps-environment' has value not permitted by a provisioning profile
Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'application-identifier' has value not permitted by a provisioning profile
Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'aps-environment' has value not permitted by a provisioning profile
Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'aps-environment' has value not permitted by a provisioning profile
Sep 30 12:47:09 Heshams-iPad amfid[483] <Error>: entitlement 'application-identifier' has value not permitted by a provisioning profile

我在配置文件中的权利密钥如下所示:

<key>Entitlements</key>
<dict>
    <key>application-identifier</key>
    <string>KUK8W9TW2G.com.startappz.ConversableDemo</string>
    <key>aps-environment</key>
    <string>production</string>
    <key>get-task-allow</key>
    <false/>
    <key>keychain-access-groups</key>
    <array>
        <string>KUK8W9TW2G.*</string>
    </array>
</dict>

我尝试从 Xcode 和门户中删除配置文件并重新创建它们,我还尝试撤销证书并重新创建它们。我什至更改了应用程序 ID,并从头开始做所有事情。

我也尝试过使用和不使用单独的权利文件进行构建。

更新

我现在正在使用分发配置文件在设备上进行调试。该应用程序现在在生产服务器上成功注册并接收推送通知,但仍然归档应用程序会中断推送通知。

所以现在我几乎可以肯定 Xcode 在归档应用程序时搞砸了。

4

2 回答 2

2

您是否更改了服务器中的 APNS 脚本?

ssl://gateway.sandbox.push.apple.com:2195 需要;ssl://gateway.push.aple.com:2195 和

development_certificate.pem 应该是;生产证书.pem

于 2012-09-30T12:16:41.527 回答
1

我猜对了,Xcode 在归档应用程序时确实搞砸了一些事情。选择“为企业或临时部署保存”后,代码签名身份下拉菜单显示我的团队名称为“(空)”。

在此处输入图像描述

刷新代码签名身份后,它现在可以正确显示,并且临时 ipa 现在可以在我的设备上正常注册并接收推送通知。

于 2012-10-01T09:15:01.650 回答