在使用开发证书时推送通知功能正常。但是当我切换到生产证书进行自定义发布时,应用程序无法注册推送通知。在UIApplication委托中,既没有调用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在归档应用程序时出了问题。