Missing Push Notification Entitlement解决方法

Posted free-thinker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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应当设置正确,如下图所示:

技术图片
App ID
技术图片
Profile

如果证书配置正确,再查看项目中的设置选项,是否激活远程推送:

技术图片
设置为On

激活后项目中会多一个Entitlement文件,如下所示:

技术图片
Entitlement

检查一切无误后就可以再次打包到App Store了.

以上是关于Missing Push Notification Entitlement解决方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 laravel-push-notification 向 Android 发送推送通知

laravel-push-notification 在响应正文中返回 html 标记

重复本地通知在 react-native-push-notification 中不起作用

:自定义push notification sound

资料整理:基于node push server实现push notification

在Push Notification Android上下载文件