С выпуском Xcode 8 компания Apple представила новый способ управления конфигурацией подписи. Теперь у вас есть два варианта: Manual
и Automatic
.
Этот новый Automatic Signing
не работает так же, как в предыдущих версиях Xcode. Раньше, когда вы устанавливали профили подготовки Automatic
, Xcode использовал первый профиль обеспечения и сертификат на вашем компьютере, который соответствует идентификаторам и идентификатору пакета, который вы пытались использовать.
В Xcode 8, Automatic Signing
будет управлять профилями, разрешениями и сертификатами для вас, но только для Development
. Если вы выбираете автоматическое, вы должны использовать Development signing
и профили обеспечения, создаваемые Xcode.
На WWDC 2016 (Session 401 - What's new in Xcode app signing) они объясняют этот новый метод подписи и описывают некоторые «лучшие практики». Когда вы строите для распространения и используете Automatic Signing
или Manual
, вы должны архивировать для Development
, а затем экспортировать (от органайзера или инструментов командной строки xcodebuild -exportArchive
) до Distribution
. Организатор будет повторно подписывать ваше приложение на Distribution
, даже если оно было заархивировано за Development
.
Другая проблема, которую вы описываете, «Отсутствие права на уведомление о передаче Push» заключается в том, что Xcode 8 изменил способ применения прав. В предыдущих версиях Xcode вам не приходилось явно добавлять права APS Environment
, этого было достаточно, если у вашего профиля обеспечения было такое право. Убедитесь, что у вас установлена опция Push Notification
на вкладке Capabilities
и убедитесь, что ошибок там нет.
(Edit: это новое поведение является намеренным и описан в примечаниях к выпуску Xcode 8: https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-DontLinkElementID_44)
Xcode-не автоматически копировать АПС-среду права из резервов профилей во время сборки. Такое поведение предназначение. Чтобы использовать это право, включите Push Notifications в панели возможностей редактора проекта или вручную добавьте право в ваш файл прав. (28076333)
Да, на самом деле возможность уведомления была странно красной. Я нажал кнопку, и она тоже попала. Странное поведение. Я думаю, что мне придется представить двоичный файл, поскольку он идет без уведомлений. Во всяком случае, Apple не отказалась от моего двоичного кода. –
@pablobart, нормально ли, что право имеет значение «APS Entitlement -> development» после нажатия кнопки «Исправить проблему» в Capabilities? Я думаю о ценности распределения. – gaussblurinc
Вот видеозапись WWDC 2016 Session 401: https://developer.apple.com/videos/play/wwdc2016/401/ –