#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:
Я видел это однажды… вот что я сделал, чтобы это исправить:
- Нажмите на свой проект (чтобы получить доступ к его настройкам)
- Перейдите в «Настройки сборки»
- В разделе «Подпись кода» выберите точный профиль, который вы хотите использовать
У вас должен быть полный идентификатор приложения (не подстановочный). Если это XXXXXX.*, вам следует создать новый AppID, чтобы он стал XXXXXX.com.example.YourApp, создайте для него профиль и используйте его для подписи вашего приложения.
Ответ №4:
Перед созданием приложения проверьте приведенные ниже пункты:
-
Откройте свой предварительный профиль, который вы используете для создания приложения, в TextEdit.
-
Убедитесь, что предварительный профиль состоит из ключа: «aps-environment». Оно может иметь 2 значения, т.е. «разработка» и «производство», в зависимости от среды профиля. Если нет, то вам придется создать новый предварительный профиль, добавив сертификат APNS к его AppID.
Если все вышеперечисленное на месте, попробуйте создать приложение. Надеюсь, это поможет.