Xcode 8 возможности push-уведомлений и настройки файла прав

при использовании xcode 8 выполнение настройки push-уведомления, в отличие от xcode 7, xcode 8 нужен разработчик включите переключатель возможностей push-уведомлений (расположен на TARGETS -> AppName -> Capabilities следующим образом рис ), push notifications capabilities

затем он будет генерировать AppName.файл прав следующим образом

//AppName.entitlements
<key>aps-environment</key>
<string>development</string>

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

//AppName.entitlements
<key>aps-environment</key>
<string>production</string>

тогда возможности показывают предупреждение

Capabilities warning

и кажется, независимо от того, какое строковое значение указано в aps-среде, мы все еще можем получить токен устройства push в application:didRegisterForRemoteNotificationsWithDeviceToken:

Итак, какова правильная настройка прав на push-уведомление? спасибо

3 ответов


Я боролся с этим сегодня в Xcode 8 GM. После отключения настройки, удаления профиля подготовки портала разработчика и его регенерации и повторного включения Настройки я смог устранить предупреждение в Xcode. Имейте в виду, что я не возился с файлом прав. Я оставил его в среде разработки, и после архивирования я получил правильную настройку aps-environment (production).

кажется, Xcode все еще очень глючит даже в GM


моя проблема заключалась в том, что мой клиент pusher устарел и будет успешно нажимать только на токены отладки. Другая проблема, над которой я все еще работаю, заключается в том, что я мог экспортировать приложение только через тренажерный зал с включенным legacy-api, это не устанавливало apns-среду как "производство" и оставляло ее как "развитие" в " embedded-mobile.файл положение'. Однако мне удалось успешно развернуть приложение через Xcode organiser для работы с apns(prod).


Я думаю, что лучшее решение-открыть пакет проекта и открыть project.pbxproj

изменить CODE_SIGN_ENTITLEMENTS

CODE_SIGN_ENTITLEMENTS = "your-app/production.entitlements";