缺少推送通知权利,我的应用程序不包含它
Posted
技术标签:
【中文标题】缺少推送通知权利,我的应用程序不包含它【英文标题】:Missing Push Notification Entitlement and my app doesn't include it 【发布时间】:2015-09-11 09:03:25 【问题描述】:最近我成功上传了一个支持推送通知的应用程序,然后我想更新商店中根本不包含推送通知的其他应用程序,我不想在其中包含此功能。当我总是提交它时,它会说:
缺少推送通知权利 - 您的应用似乎包含 用于向 Apple Push Notification 服务注册的 API,但 应用签名的权利不包括“aps-environment” 权利。如果您的应用使用 Apple Push Notification 服务, 确保您的 App ID 在 配置门户,并在使用 包含“aps-environment”的分发配置文件 权利。参见本地和推送中的“配置与开发” 通知编程指南了解更多信息。如果你的应用有 不使用 Apple 推送通知服务,无需任何操作。 您可以从以后的提交中删除 API 以停止此警告。 如果您使用第三方框架,您可能需要联系 开发者获取有关删除 API 的信息。
我不知道 Xcode 发生了什么,这个问题太令人困惑了,检查一下:
【问题讨论】:
你的应用是在coredova平台开发的吗? 我正在使用 mac @DipenPanchasara @Aaoli thax,我已经发布了答案,请检查一下。 请检查此link 答案。这可能是苹果检查系统中的错误。 【参考方案1】:如果您的 ad-hoc 配置文件具有 aps-environment 键,这意味着您的应用在 Apple Provisioning Portal 中已正确配置。您需要做的就是删除本地计算机上的 App Store 分发配置文件,然后从 Provisioning Portal 重新下载并安装分发配置文件。这个新的应该包含 aps-environment 键。
确保您已从门户中的个人资料中删除了 aps-environment 密钥。
【讨论】:
@AaoIi 干得好。如果您觉得我的回答有用,请接受。 您要删除哪个配置文件?我以前使用推送通知的那个?或我要提交的其他应用程序?还是一般的 X* ?每个人都说删除它等等?请提供更多详细信息和说明,直到现在我才能解决此问题!谢谢 不,您需要删除分发/临时的临时配置文件和证书【参考方案2】:请确保您的代码不包含以下方法:
- (void) application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;
- (void) application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error;
以及注册通知的方法调用:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound];
如果这些方法不存在,请重新创建分发配置文件并使用它重新构建您的应用程序。
【讨论】:
首先我的应用程序中没有这些方法,我尝试创建配置文件并使用它签署应用程序或分发配置文件并使用它签署应用程序,iTunes Connect 正在向我发送同样的问题:(【参考方案3】:如果您想在应用中启用推送通知,您需要创建固定的 bundleID,例如:"com.appname.app"
和配置文件。
通配符捆绑包 ID 和配置文件不适用于推送通知,因为有效负载需要固定地址才能交付。
所以请尝试使用固定的 BundleID 和配置文件。
【讨论】:
【参考方案4】:您可能已经引入了可用于推送通知的第 3 方 SDK。这并不一定意味着您需要发送推送通知。这就是为什么它只是一个警告,你不应该关心。 Apple 会告诉你这件事,以防你真的想发送推送通知。
【讨论】:
那么这些库中的哪一个需要推送通知,我最近更新到最新的 Admob sdk 7.4.1,是吗? AFNetworking、SDWebImage、GoogleMobileAdsSdkios、SWRevealViewController ?以上是关于缺少推送通知权利,我的应用程序不包含它的主要内容,如果未能解决你的问题,请参考以下文章