缺less推送通知权利

提交二进制文件后,我收到了来自Apple的警告邮件。

Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. 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. 

我没有使用推送通知或任何第三方框架如Coredova,但我不知道为什么我一次又一次得到这个警告。 我已经通过了以下链接,但到处都是第三方框架问题。

我不想启用推送通知服务,因为我不打算在我的应用程序中使用它。 任何帮助将不胜感激修复这个警告。 提前致谢。

注:已经有好几次我尝试删除并重新创build我的configuration文件和证书。

缺less推送通知权利警告

缺less推送通知权利

IOS丢失推送通知权利

我很确定这是苹果检查系统中的一个错误。 我昨天上传了一个应用程序,得到这个消息。 这个程序已被更新至less30次,没有任何问题。 我没有在最新版本中添加任何推送通知代码,也没有使用任何可能导致此消息的框架,如PhoneGap或Cordova。 它不会出现在设备上的通知下。

我search了推送通知代码的应用程序没有find任何东西:

grep -r“registerUserNotificationSettings”。
grep -r“registerForRemoteNotificationTypes”。

我终于尝试上传7月份批准的以前的版本(并且没有生成电子邮件)。 这次我也收到了这个版本的警告邮件。 所以我认为,苹果是错的,我会抓住机会,希望尽pipe有警告,它也会被批准。


编辑:在苹果开发者论坛find苹果员工的答复:

“这个通知只是一个警告,不是拒绝。

应用程序validation器检查应用程序中的UIApplicationDelegate方法应用程序的实现:didRegisterForRemoteNotificationsWithDeviceToken:。 如果您的应用程序委托实现了此方法,并且没有aps环境授权,您将得到您所描述的警告。

即使您的应用程序没有对推送通知执行任何操作,您正在使用的第三方库也可能实现了该方法。 在这种情况下,你可以忽略这个警告。 在那里让使用推送通知的开发人员知道他们是否可能错误地对应用程序进行了签名。“


编辑2:我现在有两个不同的应用程序已批准,没有任何问题,尽pipe生成警告电子邮件

这里有一些你可能想要仔细检查的东西:

苹果开发者中心

在“ 标识符” >“ 应用程序ID ”部分中,如果您未实施推送通知,则不应启用推送通知

苹果开发者中心:应用服务

每次启用或禁用服务时,都必须生成新的移动设置。 确保推送通知未在您的应用程序启用的服务中列出:

在这里输入图像说明

Xcode项目目标设置

在应用程序目标的Capabilities选项卡中, 推送通知应该被closures。

另外,在后台模式下 ,不应该有任何远程通知模式。

在这里输入图像说明

应用程序委托

最后,确保你的应用程序委托没有注册远程通知,也没有实现任何远程通知委托方法。 您应该确保以下方法不被调用或实现:

  • registerForRemoteNotifications()iOS 8.0之前的registerForRemoteNotificationTypes()
  • unregisterForRemoteNotifications()
  • isRegisteredForRemoteNotifications()
  • application(_:didRegisterForRemoteNotificationsWithDeviceToken:)
  • application(_:didFailToRegisterForRemoteNotificationsWithError:)
  • application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
  • application(_:handleActionWithIdentifier:forRemoteNotification:completionHandler:)
  • application(_:didReceiveRemoteNotification:)

希望有所帮助!

我收到了同样的电子邮件,但似乎只是一个警告,我的应用程序设法得到批准的商店。

我有一个应用程序,我在过去的2年里一直在更新,它没有推送通知,直到我最近发布的时候,我都得到了这个警告。 联系苹果后,似乎这只是一个警告,不应该考虑。 我认为这是他们身上的一个错误,所以希望他们能在下一次Xcode更新中得到解决。

转到目标>function,

应该启用推送通知而没有任何问题,后台模式也应该启用。

我将首先searchregisterForRemoteNotificationTypesregisterUserNotificationSettings的代码,它们都用于注册推送通知(取决于操作系统的版本)。

如果你发现其中之一,那就是问题所在。 如果您不使用通知,则需要将其删除。

也许问题在于你使用本地通知,并意外注册远程通知?

经过1个月的深入研究和探索,这对我来说很有效: 缺less推送通知权利警告

对我来说,看起来像是来自苹果的错误。 我的应用程序的最新版本也得到了警告,但在一周内得到批准。 在这个新版本中,我使用了一个非常简单的Today小部件。 因此,我必须链接NotificationCenter框架。 小部件报告来自包含应用程序的一些数据。 为此,只需使用通过App Groups权利共享的NSUserDefaults。 没有任何东西像推送通知那么复杂。

苹果公司写道,推送通知可以用来pipe理今天的小部件:

https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/NotificationCenter.html

也许由于这个原因,包括通知中心框架确实引起了警告,虽然错误。