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