Подтвердить что ты не робот

Отсутствие права на уведомление Push Push

Я получил предупреждение от Apple после отправки бинарной сборки.

    Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature 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.

Я не пользуюсь Push-уведомлениями или сторонними структурами, такими как Coredova, но я не уверен, почему я получаю это предупреждение снова и снова. Я прошел через следующие ссылки, но во всем мире это проблема сторонних разработчиков.

Я не хочу включать службу push-уведомлений, поскольку я не буду использовать ее в своем приложении. Любая помощь будет оценена, чтобы исправить это предупреждение. Спасибо заранее.

Примечание. Уже несколько раз я пытался удалить и воссоздать свои профили и сертификаты.

Отсутствует предупреждение о запрете Push Notification

Отсутствие прав на уведомление о выпуске

Предоставление уведомлений IOS Missing Push

4b9b3361

Ответ 1

Я вполне уверен, что это ошибка в системе проверки яблок. Вчера я загрузил приложение и получил это сообщение. Это приложение обновлено не менее 30 раз без каких-либо проблем. В последней версии я не добавил код push-уведомлений, и я не использую никаких фреймворков, таких как PhoneGap или Cordova, которые могли бы вызвать это сообщение. Он не отображается под уведомлениями на устройстве.

Я искал приложение для push-уведомления, не найдя ничего:

grep -r "registerUserNotificationSettings".
grep -r "registerForRemoteNotificationTypes".

Наконец, я попытался загрузить предыдущую версию, которая была одобрена в июле (и не создала письмо). На этот раз я получил предупреждение для этой версии. Поэтому я думаю, что Apple ошибается, и я буду оценивать свои шансы и надеюсь, что она будет одобрена, несмотря на предупреждение.


EDIT: нашел ответ от сотрудников Apple в Apple Developer Forum:

"Это уведомление является предупреждением, а не отказом.

Средство проверки приложений проверяет реализацию приложения метода UIApplicationDelegate: didRegisterForRemoteNotificationsWithDeviceToken: в приложении. Вы получите предупреждение, которое вы описали, если ваш делегат приложения реализует этот метод и нет права доступа aps-environment.

Возможно, что сторонняя библиотека, которую вы используете, реализовала этот метод, даже если ваше приложение ничего не делает с push-уведомлениями. В этом случае вы можете просто игнорировать предупреждение. Это значит, что разработчики, которые используют push-уведомления, знают, могли ли они неправильно подписывать свое приложение.


EDIT 2: теперь у меня есть два разных приложения, которые были одобрены без каких-либо проблем, несмотря на создание предупреждающего сообщения электронной почты

Ответ 2

Вот несколько вещей, которые вы можете проверить дважды:

Центр разработчиков Apple

В разделе Идентификаторы > Идентификаторы приложений Push Notifications не должны включаться, если вы их не реализуете.

Центр разработчиков Apple: службы приложений

При каждом включении или отключении службы вам придется генерировать новое мобильное обеспечение. Убедитесь, что Push-уведомления Push не указаны в ваших приложениях с поддержкой:

введите описание изображения здесь

Настройки целевого проекта Xcode

На вкладке "Возможности" вашего целевого приложения Push Push Notifications следует отключить.

Кроме того, в фоновом режиме не должно быть режима удаленных уведомлений.

введите описание изображения здесь

Делегат приложения

Наконец, убедитесь, что у вас нет регистрации делегата приложения для удаленных уведомлений и что он не реализует какие-либо методы делегирования удаленного уведомления. Вы должны убедиться, что следующие методы не вызываются или не выполняются:

  • registerForRemoteNotifications() (registerForRemoteNotificationTypes() до iOS 8.0)
  • unregisterForRemoteNotifications()
  • isRegisteredForRemoteNotifications()
  • application(_:didRegisterForRemoteNotificationsWithDeviceToken:)
  • application(_:didFailToRegisterForRemoteNotificationsWithError:)
  • application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
  • application(_:handleActionWithIdentifier:forRemoteNotification:completionHandler:)
  • application(_:didReceiveRemoteNotification:)

Надеюсь, что это поможет!

Ответ 3

Для меня тоже выглядит ошибка от Apple. Последняя версия моего приложения также получила предупреждение, но была одобрена в течение недели. В этой новой версии я использую чрезвычайно простой виджет Today. Таким образом, мне нужно связать инфраструктуру NotificationCenter. Виджет сообщает некоторые данные из содержащего приложения. Для этого он просто использует NSUserDefaults, которые совместно используются через права на группы приложений. Ничего отдаленного, как сложно, как push-уведомление.

Apple пишет, что push-уведомление можно использовать для управления виджетами Today:

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

Возможно, по этой причине, включая инфраструктуру NotificationCenter, вызывают предупреждение, хотя и ошибочно.

Ответ 4

Я получаю тот же адрес электронной почты, но, похоже, это только предупреждение, и моим приложениям удалось получить одобрение в магазине.

У меня есть приложение, которое я обновлял за последние 2 года, у него нет push-уведомлений, и до сих пор все было хорошо до моего недавнего выпуска, когда я получил это предупреждение. После контакта с Apple кажется, что это всего лишь предупреждение, и его не следует рассматривать. Я думаю, что это ошибка на их стороне, поэтому, надеюсь, они будут исправлены в следующем обновлении Xcode.

Ответ 5

Перейдите в Target > Capabilities,

Push-уведомление должно быть включено без каких-либо проблем, и также должен быть включен фоновый режим.

Ответ 6

Я бы начал с поиска кода для registerForRemoteNotificationTypes или registerUserNotificationSettings, которые оба используются для регистрации для push-уведомлений (в зависимости от версии ОС).

Если вы найдете один из них, это проблема. Вы должны удалить их, если вы не используете уведомления.

Возможно, проблема заключается в том, что вы используете локальные уведомления и случайно регистрируетесь для удаленных уведомлений?

Ответ 8

Я получил это предупреждение, просто обновив несколько пакетов (FacebookSDK является одним из них). Я предполагаю, что один из них реализует UIApplicationDelegate метода UIApplicationDelegate application:didRegisterForRemoteNotificationsWithDeviceToken: именно поэтому я буду просто игнорировать предупреждение с этого момента.