У меня есть приложение для отправки, когда оно было отклонено, и я получил сообщение
Отсутствует право на получение push-уведомлений. Кажется, ваше приложение зарегистрировано в службе push-уведомлений Apple, но права подписи приложения не включают право «aps-environment». Если ваше приложение использует службу Apple Push Notification, убедитесь, что ваш идентификатор приложения включен для push-уведомлений на портале Provisioning Portal, и повторите отправку после подписания вашего приложения с профилем обеспечения распространения, который включает право «aps-environment».
Я проверил свою специальную подготовку и там обнаружил aps-environment и production, однако, когда я открываю свое распределение, я не нахожу их.
Является ли это причиной появления этого сообщения об ошибке и отказа от Apple, как это исправить?
источник
убедитесь, что ваше push-уведомление ID включено на производственной стороне
как показано на картинке
из производственного раздела создайте два сертификата с вашим идентификатором (push-уведомление включено)
Сертификат App Store и Ad Hoc
Сертификат SSL (песочница) службы Apple Push Notification
В разделе «Распространение» создайте профиль App Store с вашим идентификатором.
пока вы загружаете свою корзину, вы должны проверить, какой профиль подготовки используется и иметь много прав
это все случаи вызывают эту проблему, надеюсь, это будет полезно для вас
источник
В XCode 8 вам необходимо включить push на вкладке «Возможности» на вашей цели, помимо включения всего, что связано с положениями и сертификатами: Xcode 8 «право на aps-environment отсутствует в подписи приложения» при отправке
Мой блог об этом здесь .
источник
Я получил это сообщение по другой причине - я отправил приложение через Xcode, не создав предварительно профиль распространения App Store специально для приложения. Я считаю, что Xcode автоматически использует подстановочный профиль App Store, если он у вас установлен. Но для приложения, использующего push-уведомления, требуется собственный профиль.
Исправление заключается в создании нового профиля распространения в App Store для приложения. Затем вы загружаете его, перетаскиваете в Xcode и изменяете свой проект Build Settings> Code Signing> Release, чтобы использовать новый профиль.
источник
Следуя ответу @Vaiden, в Xcode 8 вы можете решить эту проблему, выбрав цель и нажав «Исправить проблему». Конечно, вам все равно нужно настроить push-уведомления на портале Apple Developer (вы можете немного упростить процесс, используя новую опцию «Автоматическое управление подписью», которая избавит вас от хлопот по загрузке профилей обеспечения).
источник
Для тех, кто сталкивается с этой проблемой и на самом деле использует push-уведомления в своих приложениях:
Наши push-сертификаты недавно истекали, поэтому мы создали новые push-сертификаты dev / prod стандартным способом, изложенным Apple (я не буду вдаваться в подробности здесь, в Интернете есть много информации об этом при обновлении. ваши push-сертификаты на следующий год использования).
Однако после этого возникла проблема в этом вопросе. Независимо от того, что мы сделали, мы получили это письмо от Apple после отправки нашего приложения. Когда мы проверили настройки нашего профиля обеспечения распространения в Центре участников Apple, все выглядело нормально (push был включен для нашего идентификатора приложения для prod / dev, и наш профиль обеспечения распространения все еще был подключен к этому идентификатору приложения, мы буквально только что создали новые push-сертификаты еще на один год, что является стандартной практикой).
Наконец, вот что решило эту проблему для меня:
Я знаю, что это не так подробно, как должно быть, поскольку в нем должны быть скриншоты, я постараюсь обновить его снимками экрана, когда смогу, но пока что у меня сейчас нехватка времени и я хотел получить кучу что я там делал. Также очень вероятно, что некоторые или большая часть описанных мною шагов не являются необходимыми. Я помещаю их здесь, потому что я их выполнил, и они, возможно, привели к окончательному решению.
источник
убедитесь, что ваш идентификатор приложения включен или отключен на сайте developer.apple.com на портале подготовки iOS. Если нет, то включите его, настройте сертификат Push SSL для идентификатора приложения. Загрузите его и переустановите в связке ключей еще раз, затем загрузите свой профиль распространения. в вашей библиотеке Xcode
источник
Я также столкнулся с этой проблемой, даже если я вообще не использовал push-уведомления в своем приложении. Создание нового профиля подготовки также не сработало для меня. Я сделал следующее:
1.Создайте новый сертификат только для Ad hoc и App Store.
2. Затем создайте профиль распространения с этим сертификатом и интегрируйте профиль с Xcode.
Затем вновь представленная сборка с этим профилем утверждается без предупреждения.
источник
В моем случае даже я создал myapp.profile и вручную установил его в xcode, и когда я выбрал «показать в поисковике», нашел embedded.mobileprovision и проверил, есть ли в файле aps-environment, ошибка была все еще там.
Затем я пошел в центр разработчиков и обнаружил, что статус XC: myapp.profile недействителен. Я обновил его и установил XC: myapp.profile, и он работал нормально.
Я думаю, что xcode пытается управлять профилем, и вам нужно проверить профиль обеспечения, когда вы отправляете свой двоичный файл в хранилище, и убедитесь, что он правильный. И, согласно другим ответам, это может быть вызвано разными причинами, поэтому это может действительно раздражать.
ОБНОВИТЬ:
После того, как вы подписались с помощью загруженного профиля и подтвердили, что он
aps-environment
был там, когда вы пытаетесь отправитьApp Store
, вы сможете изменить профиль и объект подписи кода на автоматический иiOS Developer
. Надеюсь, это можно улучшить в Xcode 7.источник
Это было то, что исправило это для меня. (Я уже пробовал включать / выключать возможности, воссоздавать профиль обеспечения и т. Д.).
На вкладке « Параметры сборки» в разделе « Права на подпись кода» мой файл .entitlements не был связан со всеми разделами. Как только я добавил его в раздел Any SDK, ошибка была устранена.
источник
Чтобы решить эту проблему для «извлеченного» приложения, я перешел на вкладку возможностей, включил push, а затем снова отключил. В результате из файла .entitlements был удален параметр APNS «Права».
источник
У меня была та же проблема, и моим решением было добавить право на push-уведомления из Target -> Capabilities.
источник
Это случилось со мной внезапно, потому что срок действия моего профиля распространения приложения истек. Вместо этого Xcode начал использовать профиль с подстановочными знаками, для которого не было включено право на push-уведомления. Я не получил никакого предупреждения. Исправить было легко; Мне просто нужно было сгенерировать другой профиль распространения для моего приложения в Apple Developer Member Center, загрузить его и дважды щелкнуть для установки в Xcode.
источник
Здесь есть несколько действительно хороших предложений.
Ссылаясь на последний снимок экрана, предоставленный Миной после первоначального архивирования моего приложения, профиль обеспечения, упомянутый во время загрузки, содержал подстановочный знак (XC. *). Это не верно.
Чтобы решить эту проблему, потребовались значительные усилия. Мне пришлось выполнить комбинацию предложений, которые предоставили Саймон Вудсайд и Мина Фози.
Если у вас есть какие-либо существующие сертификаты и профили обеспечения, связанные с вашим проектом, сейчас самое время удалить их все локально и отозвать их все удаленно. Дайте себе начало новой жизни.
Подробное предложение Мины Фаузи превосходно. Выполнение предложения Мины, если оно выполнено правильно, должно позаботиться о вас в Интернете.
Введите предложение Саймона. Две вещи, которые мне нужно было проверить в моем проекте. Используя XCode, перейдите сюда:
ПРОЕКТ -> НАСТРОЙКИ ЗДАНИЯ -> ПОДПИСАНИЕ КОДА
Просмотрите свойства идентификатора подписи кода и профиля обеспечения . Убедитесь, что вы установили эти два свойства в соответствии с именем вашего проекта. Не позволяйте XCode автоматически выбирать за вас и не используйте какую-либо общую идентификацию подписи кода (например, Iphone Developer).
Убедитесь, что вы действительно можете установить приложение на свои устройства, прежде чем принимать решение об архивировании.
источник
Самая большая проблема , что у меня есть после включения
Push Notification
отCapabilities
и переделке всех сертификатов является то , что имя Target и имя папки , где хранилась проект состоит из 2 -х строк , разделенных пробелом. После удаления пробела все заработало нормально!источник
У меня возникла эта проблема, потому что мой файл прав был искажен из-за предыдущего ручного редактирования. Я удалил неправильно отформатированный синтаксис записи о правах, затем я мог щелкнуть «исправить» на вкладке возможностей, и Xcode добавил право в мой файл.
Вот пример правильно отформатированного файла прав ("
Runner.entitlements
"):источник
ИСПРАВЛЕННАЯ ИДЕЯ Привет, ребята, я сделал приложение и не использовал функции push-уведомлений, но я все равно получил электронное письмо. После проверки сертификатов, идентификаторов и профилей идентификатора пакета, который я использовал для создания своего приложения в магазине Apple, подключиться на портале разработчика Apple, я понял, что push-уведомления включены.
Что вам нужно сделать:
перейдите на сайт входа для разработчиков Apple, где вы можете управлять своими сертификатами как 2. выберите вкладку «Сертификаты, идентификаторы и профили» справа 3. теперь выберите «Идентификаторы» 4. и идентификатор пакета из списка справа 5. теперь прокрутите вниз, пока не увидите push-уведомление. 6. выключите его. 7. заархивируйте сборку и повторно загрузите ее в Apple Store Connect.
Надеюсь, поможет!
источник