Push-уведомление IOS

#ios #push-notification

#iOS #push-уведомление

Вопрос:

У меня эта ошибка:

Ошибка: Ошибка домена = NSCocoaErrorDomain Code = 3000 «не найдена допустимая строка прав доступа ‘aps-environment’ для приложения» userInfo =0x18cb70 {NSLocalizedDescription = не найдена допустимая строка прав доступа ‘aps-environment’ для приложения}

Я не могу в этом разобраться. Я все сделал.Я переустанавливал сертификаты тысячу раз, и у меня все еще есть эта ошибка.Я установил aps-environment в файле Entitlements.plist.Мой Push-сертификат Apple Development находится в связке ключей. В профилях подготовки включено push-уведомление. Я установил правильный пакет. Что я могу сделать.Мне нужны решения.Спасибо.

Комментарии:

1. Происходит ли это при регистрации для получения уведомлений, т.е. при вызове registerForRemoteNotificationTypes? Push-сертификат не имеет ничего общего с устройством и используется только сервером, который пытается отправить сообщение.

2. ДА. В этом случае возникает ошибка.

3. Смотрите другой вопрос, который я опубликовал в своем ответе. Это касается тех же проблем, с которыми вы сталкиваетесь.

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

Ответ №1:

Чего я не увидел в ответах на многие вопросы APNS, так это:

Если ваш проект имеет несколько целевых объектов, убедитесь, что вы выбрали целевой объект, который вы ЗАПУСКАЕТЕ, и изменили идентификатор подписи кода в этом целевом объекте!

Ответ №2:

Просто,

Удалите старый профиль подготовки и

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

Это наверняка сработает.

Ответ №3:

Я видел это однажды… вот что я сделал, чтобы это исправить:

  1. Нажмите на свой проект (чтобы получить доступ к его настройкам)
  2. Перейдите в «Настройки сборки»
  3. В разделе «Подпись кода» выберите точный профиль, который вы хотите использовать

У вас должен быть полный идентификатор приложения (не подстановочный). Если это XXXXXX.*, вам следует создать новый AppID, чтобы он стал XXXXXX.com.example.YourApp, создайте для него профиль и используйте его для подписи вашего приложения.

Ответ №4:

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

  1. Откройте свой предварительный профиль, который вы используете для создания приложения, в TextEdit.

  2. Убедитесь, что предварительный профиль состоит из ключа: «aps-environment». Оно может иметь 2 значения, т.е. «разработка» и «производство», в зависимости от среды профиля. Если нет, то вам придется создать новый предварительный профиль, добавив сертификат APNS к его AppID.

Если все вышеперечисленное на месте, попробуйте создать приложение. Надеюсь, это поможет.