缺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,并且警告电子邮件不会发送。