缺less推送通知权利警告

我们已经创build了一个App ID,分发证书和configuration文件。 推送通知最初未启用。

我们现在需要在应用程序中实现推送通知。

我们在应用程序D中启用了推送通知,检查供应configuration文件,供应configuration文件无效,进行了更新,并下载了最新的供应configuration文件以供下次使用。

然后,我们将通过APNS的推送通知API集成到我们的代码中。

在iTunesConnect上传应用程序后,我们收到以下来自苹果的电子邮件:

亲爱的开发者

我们已经发现了一个或多个与您最近交付“Swanvi”有关的问题。 您的交货成功,但您可能希望在下一次交货时更正以下问题:

缺less推送通知权利 – 您的应用程序似乎包含用于注册Apple推送通知服务的API,但应用程序签名的权利不包含“aps-environment”权利。 如果您的应用程序使用Apple推送通知服务,请确保您的应用程序ID在供应门户中启用了推送通知,并在使用包含“aps-environment”权利的分发供应configuration文件签署应用程序后重新提交。 请参阅本地和推送通知编程指南中的“供应和开发”了解更多信息。 如果您的应用程序不使用Apple推送通知服务,则不需要执行任何操作。 您可以从将来的提交中删除API来停止此警告。 如果您使用第三方框架,则可能需要联系开发人员以获取有关删除API的信息。

纠正问题后,您可以使用Xcode或Application Loader将新的二进制file upload到iTunes Connect。

我们已经重新检查了应用程序ID。 推送通知已启用开发和生产。

在供应configuration文件中,显示推送通知选项。

为什么我们通过电子邮件得到这个警告?

您需要查看两件事情 :Xcode上帐户使用的configuration文件和developer.apple上的configuration文件

其全部关于configuration文件。

第1步 :转到https://developer.apple.com/account/ios/certificate/并查看您的应用程序所需的;Active iOS分发预配configuration文件。 然后点击它,并确保已Enabled Services已启用Push Notification 。 如果没有,则点击编辑并按照Apple提供的步骤启用它。 如果启用,那么完美。

分配链接

第2步:删除您看到的与应用程序相关的任何Invalid供应configuration文件(仅适用于您的应用程序的Invalid供应configuration文件)。 我会告诉你为什么在以下步骤。

第3转到Xcode – >首选项 – >查看详细信息(用于您的帐户) – > [可选:要确定无效的一个已经消失,rt-点击任何供应configuration文件,select“显示在Finder”,然后删除/移动所有configuration文件从该文件夹。]现在单击下载所有configuration文件。 这将用当前的configuration文件replace本地configuration文件。 点击完成。

第4步:转到您的应用程序目标 – >构build设置 – >在代码签名中,展开Provisioning Profile以显示Debug and Release选项卡。 默认情况下,它将处于自动(这就是为什么你的应用程序可能会自动使用我们刚刚在步骤2中删除的无效configuration文件)。 对于Release ,为了保证安全,请select启用推送通知的Active提供configuration文件,如步骤1所示。

而已。

你现在不应该收到任何邮件。

@Djeeraj VS是正确的。 cordova添加了一些条件编译,以消除不需要推送通知的应用程序的这一要求。

您可以根据此答案注释Classes\AppDelegate.h的代码,但最好通过UI添加编译符号DISABLE_PUSH_NOTIFICATIONS ,以便继续从未来的Cordova升级中获益。

我来自.NET的背景,所以我熟悉条件编译,但不得不花费一点时间了解如何让编译器标志在XCode中工作。

原来这里的魔术字是“预处理器macros”。 以下是如何通过UI以graphics方式完成的(请注意,这是在XCode 6.1中完成的方式):

在这里输入图像说明

希望这可以帮助其他人在相同的情况下。

在我的情况下,我刚刚检查项目属性中的“能力”页面,并按下相应的APNS菜单中的“固定问题”。 现在它看起来像这样 在这里输入图像说明

我有同样的警告,这是我如何解决它。

首先,当你存档你的项目时,如果你没有看到API环境,并且你的应用使用了推送通知,那么在授权下,你会得到问题中提到的警告。

修正步骤

1-确保您的分发configuration文件在Apple的门户中有效。 – 如果不是,则重新生成。 2-如果您的分发configuration文件有效,那么在XCode中,导航到首选项 ,然后单击查看详细信息 。 此时,在配给configuration文件下 ,请确保您没有无效的分发configuration文件。 如果有无效的,请右键单击并将其移至垃圾箱。 如果您没有有效的,请从Portal中下载。 3转到生成设置 – >代码签名,并select分配供应configuration文件。

此时,如果您存档,则可以在权利中看到aps-environment,并且警告电子邮件不会发送。