仅在使用生产证书时无法注册推送通知

使用开发证书时,推送通知工作正常。 当我在专门分配中切换到生产证书时,应用程序无法注册推送通知。 在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 

configuration文件中的我的权利密钥看起来像这样:

 <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和门户删除configuration文件,并重新创build它们,我也尝试撤消证书并重新创build它们。 我甚至改变了应用程序ID,并从头开始做所有事情。

我也尝试build立有和没有单独的权利文件。

更新

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

所以现在我几乎可以肯定,Xcode在归档应用程序时会搞砸了一些东西。

你有没有改变你的服务器的APNS脚本?

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

development_certificate.pem应该是; production_certificate.pem

我猜对了,Xcode在归档应用程序时确实搞砸了。 select“Save for Enterprise or Ad-Hoc Deployment”后,代码签名标识下拉菜单显示我的团队名称为“(null)”。

在这里输入图像说明

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