Получение ошибки из push-уведомления - PullRequest
47 голосов
/ 28 марта 2011

В моем приложении мне нужны push-уведомления.Я выполняю все инструкции из документов push-уведомлений.Но я получил ошибку из Push Notification:

Fail To Register For Remote Notifications With Error:
  Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment'
  entitlement string found for application" UserInfo=0x2340a0
  {NSLocalizedDescription=no valid 'aps-environment' entitlement string
  found for application}

Что я делаю не так?

Ответы [ 15 ]

44 голосов
/ 10 июля 2012

Создайте новый профиль обеспечения после включения Push, и он будет работать!

25 голосов
/ 11 декабря 2014

Я использую Xcode 6.1.1

Вам не нужно ничего удалять или создавать заново. Вам просто нужно заставить Xcode обновить ваши активные сертификаты (включая новый сертификат push-уведомлений).

Просто зайдите на Xcode> Настройки> Аккаунты> выберите свою учетную запись> выберите свою команду> Подробнее

Нажмите кнопку обновления в левом нижнем углу. (Также проверьте подпись кода в настройках сборки)

enter image description here

19 голосов
/ 27 февраля 2013

У меня была такая же проблема,

Я решил ее, убедившись в Встроенные настройки , Идентификатор подписи кода для отладка установлена ​​на правильное значение Профиль обеспечения

, в котором вы включили push-уведомления.

18 голосов
/ 28 марта 2011

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

Отметьте, например, этот учебник .

Даже после включения идентификатора приложения для push-уведомлений может потребоваться несколько часов для его работы.

8 голосов
/ 08 ноября 2012

Это сводило меня с ума. Я перепроверил все, но все еще получал ту же ошибку. Опробовал все остальные решения, приведенные в Интернете. Однако это помогло мне. Я создаю .mobileprovision файл, прежде чем включить APNS. Это была настоящая ошибка. Решение этой проблемы:

  1. Создать идентификатор приложения
  2. Включить APNS
  3. Затем создайте файл обеспечения

Если вы создали профиль обеспечения ранее и включили APNS, вам следует удалить файл обеспечения из любой точки вашей системы (XCode, цепочка для ключей, iTuneConnect). А затем снова создайте файл обеспечения.

2 голосов
/ 23 октября 2012

Это просто решило это для меня, поэтому я поделюсь.Если вы обновите свой идентификатор приложения, вы должны удалить профиль с вашего устройства, xcode и developer.apple.com.Затем создайте новый соответствующий профиль обеспечения, который будет обновлен с использованием новых параметров идентификатора приложения.Лучше всего назвать это как-то немного по-другому, чтобы вы знали, что выбираете правильный.

2 голосов
/ 05 января 2012

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

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

После того, как я удалил профиль обеспечения с портала и устройства, я создал новый, используя измененный идентификатор приложения. Скачал его, бросил на мое устройство, спасибо, мэм, это сработало. Надеюсь, что это поможет людям в будущем!

1 голос
/ 04 января 2017

Для меня -> перейти к настройкам проекта -> цель приложения -> Возможности

включить Push-уведомления!

1 голос
/ 11 июня 2014

enter image description here

Сделайте профиль правильным. Возможно, вы не настроили профиль.

1 голос
/ 30 марта 2012

Прежде всего, вам нужно запустить applcaiton на устройстве.

Это произойдет в xcode 3.2.6.Потому что, когда вы получаете все идеально.Но ваше приложение не регистрируется в вашем iphone, ipad или ipod.Вам необходимо создать файл Entitlement.plst.

  • Шаг: Сначала выберите ваш проект в xcode и создайте файл.Выберите файл с кодовым названием, названный по этому адресу authorlement.plist (по умолчанию).
  • Поместите его в папку ресурсов.
  • Щелкните правой кнопкой мыши в качестве редактора XML.
  • Затем откройте ваш файл обеспечения, например your_apllicationName.mobileprovision (который вы создали для сервера Apns) в режиме textedit.

Теперьскопируйте некоторые строки, подобные приведенным ниже, из своего профиля обеспечения в свой файл разрешений:

<key>application-identifier</key>
<string>xyz.com.company_name.app_name</string>
  <key>aps-environment</key>        
            <string>development</string>
    <key>get-task-allow</key>   
<true/>
    <key>keychain-access-groups</key>   
<array>
        <string>xyx.*</string>      
    </array>
  • Сохраните файл authorlement.plist.
  • Запустите приложение, которое вы уведомите сервером Apns.
...