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

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

Мы создали идентификатор приложения, сертификат распространения и профиль подготовки. Push Notifications изначально не были включены.

Теперь нам нужно внедрить Push-уведомления в приложении.

Мы включили Push-уведомления в приложении D, проверьте профиль подготовки, профиль обеспечения недействителен, обновили его и загрузили последний профиль обеспечения, чтобы использовать его в следующий раз.

Затем мы интегрируем API для Push-уведомлений через APNS в нашем коде.

После загрузки приложения в iTunesConnect мы получаем следующее письмо от Apple:

Уважаемый разработчик,

Мы обнаружили одну или несколько проблем с вашей недавней доставкой для "Swanvi". Ваша поставка прошла успешно, но вы можете исправить следующие проблемы при следующей поставке:

Отсутствие права на уведомление о передаче Push - ваше приложение, как представляется, включает API, используемый для регистрации в службе Apple Push Notification, но права на подпись приложения не включают права "aps-environment". Если ваше приложение использует службу уведомления Apple Push, убедитесь, что ваш идентификатор приложения включен для Push Notification в Portal Provisioning Portal и повторно отправлен после подписания вашего приложения с профилем распределения, который включает в себя право доступа "aps-environment". Дополнительную информацию см. В разделе "Профилактика и разработка" в Руководстве по программированию локального и Push Notification. Если ваше приложение не использует службу Apple Push Notification, никаких действий не требуется. Вы можете удалить API из будущих представлений, чтобы остановить это предупреждение. Если вы используете стороннюю структуру, вам может потребоваться обратиться к разработчику за информацией об удалении API.

После устранения проблем вы можете использовать Xcode или Application Loader для загрузки нового бинарного файла в iTunes Connect.

Мы повторно проверили идентификатор приложения. Push Notifications включены для разработки и производства.

В профиле Provisioning Profile отображается кнопка Push Notifications.

Почему мы получаем это предупреждение по электронной почте?

4b9b3361

Ответ 1

Вам нужно увидеть 2 вещи: профили обеспечения, используемые вашей учетной записью на Xcode и те, что указаны на developer.apple

Все о профилях предоставления.

ШАГ 1: перейдите на страницу https://developer.apple.com/account/ios/certificate/ и просмотрите профили Active Provisioning Active Pro для вашего приложения. Затем щелкните по нему и убедитесь, что Enabled Services Push Notification. Если это не так, нажмите на править и включите его, выполнив шаги, предоставленные Apple. Если он включен, то идеально.

distribution link

ШАГ 2: Удалите все Invalid профили Provisioning Profiles, которые вы видите связанные с приложением (только недействительные для вашего приложения). Я скажу вам, почему в следующих шагах.

ШАГ 3: перейдите к Xcode → Предпочтение → Просмотреть сведения (для вашей учетной записи) → [ДОПОЛНИТЕЛЬНО: чтобы убедиться, что недействительный отсутствует, rt-клик по любому профилю обеспечения, выберите "Показать в Finder", затем Delete/Move все профили обеспечения из этой папки.] Теперь нажмите "Загрузить все профили". Это заменит локальные профили обеспечения текущими. Нажмите DONE.

ШАГ 4: Перейдите в свое приложение Цели → Настройки сборки → В подписи кода, разверните профиль Provisioning Profile, чтобы отобразить вкладки Debug и Release. По умолчанию он будет включен автоматически (поэтому ваше приложение, вероятно, автоматически использует недопустимый профиль, который мы только что удалили на шаге 2). Для Release, чтобы быть на более безопасной стороне, выберите профиль Active Provisioning Profile с включенными Push-уведомлениями, как показано на шаге 1.

Это.

Теперь вы не должны получать электронные письма.

Ответ 2

@Djeeraj V.S. верно. Кордова добавила некоторую условную компиляцию, чтобы удалить это требование для приложений, которым не нужны Push-уведомления.

Вы можете прокомментировать код в Classes\AppDelegate.h в соответствии с этим ответом, но лучше добавить символ компиляции DISABLE_PUSH_NOTIFICATIONS через пользовательский интерфейс, чтобы вы могли продолжают пользоваться преимуществами будущих обновлений Кордовы.

Я родом из .NET, поэтому я знаком с условной компиляцией, но мне пришлось потратить немного времени на разработку того, как получить флаг компилятора, работающего в XCode.

Вызывает волшебное слово здесь: "Макропроцессорный макрос". Вот как это делается графически через пользовательский интерфейс (обратите внимание, что это так, как это сделано в XCode 6.1):

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

Надеюсь, что это поможет другим людям в той же ситуации.

Ответ 3

В моем случае я просто снова проверил страницу "Возможности" в свойствах проекта и нажал "Исправлена проблема" в соответствующем меню APNS. Теперь это должно выглядеть так enter image description here

XCode 11. Для обработки нажмите на кнопку Capability (+)

enter image description here

Ответ 4

У меня было такое же предупреждение, и вот как я его решил.

Прежде всего, когда вы архивируете свой проект под правами, если вы не видите aps-environment, и ваше приложение использует push-уведомления, вы получите предупреждение, упомянутое в вопросе.

ИСПРАВЛЕНИЯ ШАГИ

1- Убедитесь, что ваш профиль распространения действителен в Apple Portal.  - Если нет, то регенерируйте его. 2- Если ваш профиль распространения действителен, то в XCode перейдите к Предпочтения, а затем нажмите Просмотреть сведения. На данный момент в разделе Профилирование профилей убедитесь, что у вас нет недопустимых файлов для подготовки резервных копий. Если есть недопустимые, нажмите правой кнопкой мыши и переместите их в корзину. Если у вас нет действительного, загрузите его с портала. 3- Перейдите в Настройки сборки → Подписание кода, и для всего выберите профиль предоставления распределения.

На этом этапе, если вы архивируете, вы можете увидеть aps-environment в своих правах, и предупреждение не появится.

Ответ 5

В моем случае работала следующая практика. Xcode 9.2

  • Отключено Automatically manage signing, которое отображается в Build Target > Signing
  • Импортировать профиль подготовки вручную.

Ответ 6

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

Я решил проблему, полностью удалив платформу ios cordova platform rm ios, добавив ее снова cordova platform add ios и убедившись, что плагин был удален из файлов ios.json и fetch.json.