Missing Push Notification Entitlement解决方法
原委
最近提交APP到Apple Store审核,结果很快就收到Apple很"贴心"的邮件.原文如下:
Dear developer,
We have discovered one or more issues with your recent delivery for "APP Name". Your delivery was successful, but you may wish to correct the following issues in your next delivery:
Missing Push Notification Entitlement - Your app includes an API for Apple's Push Notification service, but the aps-environment entitlement is missing from the app's signature. To resolve this, make sure your App ID is enabled for push notification in the Provisioning Portal. Then, sign your app with a distribution provisioning profile that includes the aps-environment entitlement. This will create the correct signature, and you can resubmit your app. See "Provisioning and Development" in the Local and Push Notification Programming Guide for more information. If your app does not use the Apple Push Notification service, no action is required. You may remove the API from future submissions to stop this warning. If you use a third-party framework, you may need to contact the developer for information on removing the API.
After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to iTunes Connect.
Regards,
The App Store team
大意就是你的APP包含APS推送而打包文件中却没有正确配置.可能原因Apple也提供了:
1.Provisioning Portal开发者证书中心的配置文件可能有问题
2.工程配置文件未启用APS服务
解决方法
对应Apple提供的解决方案,首先检查证书中心.你的正式Profile和App ID应当设置正确,如下图所示:
![](http://upload-images.jianshu.io/upload_images/1688625-00bcb45ef0cc572a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000)
![](http://upload-images.jianshu.io/upload_images/1688625-30628aa515ea7f29.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000)
如果证书配置正确,再查看项目中的设置选项,是否激活远程推送:
![](http://upload-images.jianshu.io/upload_images/1688625-0e9ad8b49f824661.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000)
激活后项目中会多一个Entitlement文件,如下所示:
![](http://upload-images.jianshu.io/upload_images/1688625-8fc4fa2ebaf6212c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000)
检查一切无误后就可以再次打包到App Store了.