Aps-environment всегда развивается

Я создал идентификатор приложения с включенным APNS, и я настроил как сертификат разработки, так и производства

Теперь, когда я создаю права, он всегда отображает развитие. Даже если я изменил профиль Provisioning на ITunes-развертывание, права будут отображаться как разработка

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
</dict>
</plist>

Ответы

Ответ 1

Вы не можете использовать производственный сертификат при отладке/разработке. Даже если вы сделаете это, тогда, когда вы "Архивируете", XCode автоматически настроит его на производство (ссылка Apple). Это можно увидеть, когда вы пытаетесь отправить свое приложение в iTunes connect для TestFlight/Review или для adHoc развертывания.

Xcode 8: Xcode 8

Xcode 9: Xcode 9

Ответ 2

Известная ошибка в Xcode, в которой вручную установка этого параметра на "production" приводит к тому, что Xcode отображает ошибку рядом с вашей конфигурацией прав с помощью кнопки "Fix Issue". Нажатие на него возвращает его в "development". Это не. Как я уже сказал, это известная проблема, и я считаю, что я подал радар, когда впервые обнаружил его.

Он был исправлен в Xcode 8.3 beta 2. В то же время вручную установите его в 'production', а затем проигнорируйте ошибку Xcode, ваш проект будет работать нормально.

Ответ 3

XCode 10.2:

Если вы измените свою цель на "Универсальное устройство iOS" до "Архивирования", она установит для переменной aps-environment значение "production". Если вы архивируете с целевым устройством, установленным на вашем устройстве, оно будет архивироваться с переменной aps-environment, установленной на развитие.