Получение ошибки из push-уведомления

В моем приложении мне нужны push-уведомления. Я выполняю все инструкции из документов 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} 

Что я делаю неправильно?

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

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

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

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

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

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

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

Я решил убедиться, что в « Встроенных настройках» идентификация подписи кода для отладки настроена на соответствующий профиль Provisioning Profile

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

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

Проверьте это руководство , например.

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

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

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

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

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

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

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

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

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

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

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

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

 application-identifier xyz.com.company_name.app_name aps-environment development get-task-allow  keychain-access-groups  xyx.*  для application-identifier xyz.com.company_name.app_name aps-environment development get-task-allow  keychain-access-groups  xyx.*  
  • Сохраните файл license.plist.
  • Запустите приложение, которое вы сообщите сервером Apns.

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

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

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

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

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

перейдите по адресу : https://developer.apple.com/ios/manage/provisioningprofiles/index.action, проверьте статус вашего сертификата предоставления, в худшем случае просто создайте новый, загрузите его и снова назначьте его вашему проекту.

Убедитесь, что какой тип обеспечения вы используете, «разработка» или «распределение»,

Я тоже такой же. Вот как я решил.

1) Удаленные профили подготовки в ~/Library/MobileDevice/Provisioning Profiles

2) Удаленные профили из аккаунта разработчика

3) Созданы и установлены новые профили

Обратите внимание, что регенерация профилей не решалась .

хорошо, немного неловко, но иногда вы тратите часы на самые идиотские ошибки –

поэтому я запускаю приложение в режиме DEBUG вместо AD-HOC .

чтобы изменить это, выполните:

схема -> Изменить схему …

выберите «Выполнить» слева и перейдите на « Ad-Hoc dist» в разделе « Конфигурация сборки» .

* Конечно, вам необходимо иметь подходящий профиль обеспечения adhoc при установке сборки \ подписи кода, а также соответствующий сертификат APNS, прикрепленный к нему при создании профиля подготовки.

** как только вы запустите его, он будет раздавлен, потому что он не работает в режиме DEBUG, но вы все равно можете запустить его с устройства.

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

Если вы управляете несколькими приложениями на одном сервере, то рассмотрите следующие факты.

Вам нужно обработать отдельный закрытый ключ как файл p12 для подготовки файла pem, и этот закрытый ключ генерируется в приложении keychain при создании файла .certSigningRequest . Таким образом, эта CSR может быть повторно использована для того же приложения по истечении срока действия, но для любого другого приложения требуется отдельный раздел.

Я получил ту же ошибку в XCode 4.6.1, она работала для меня, тогда я удаляю предыдущие профили APNS из Mac и повторно загружаю профиль APNS Provisioing из центра участников. В настройках сборки в целевом режиме идентификация подписи кода должна выполняться только в режиме отладки, так как разработчик iphone для выпуска помещает как нуль или удаляет разработчика или дистрибутив.

  • Objective-C объявлены атрибуты @property (неатомные, скопированные, сильные, слабые)
  • iPhone: как получить символ местной валюты (т. е. «$» отменить «AU $»)
  • Можно ли ссылаться на переменную со строкой и int?
  • Точечная нотация и обозначение сообщений для объявленных свойств
  • Всегда ли инициализируются ints?
  • Значение по умолчанию BOOL
  • Использование -performSelector: против просто вызова метода
  • Как передать несколько параметров в Objective-C?
  • Создание абстрактного classа в Objective-C
  • У декларируемых свойств требуется соответствующая переменная экземпляра?
  • Проверка типа объекта Objective-C?
  • Interesting Posts

    LINQ to Entities поддерживает только листинг EDM примитивных или перечисляемых типов с интерфейсом IEntity

    Как включить проверку орфографии Firefox на однострочных текстовых блоках навсегда?

    Есть ли способ изменить время вращения стола рабочего стола Windows 7?

    Открыть реестр прямо на данный ключ?

    Псевдонимы T * с char * разрешены. Разрешено ли это другим способом?

    Заземление: важно ли это для ноутбуков

    Как использовать UrlFetchApp с учетными данными? Скрипты Google

    didFinishPickingMediaWithInfo return nil фото

    Как имитировать запрос HTTP HTTP POST и результат захвата в C #

    Использование calc () с таблицами

    Можно ли использовать ПК в качестве внешнего накопителя через USB?

    Откройте Dns на моем маршрутизаторе, давая проблемы

    Обход «Мастер нового оборудования» / Установка Windows для автоматической установки драйверов

    Как вернуть случайную ассоциацию файлов

    Эффективный способ фильтрации одного фрейма данных по диапазонам в другом

    Давайте будем гением компьютера.