Вопрос: Xcode 8.0 Автоматическое управление поведением подписи


Алло,

Я некоторое время использовал параметр «Автоматическое управление подписью». Тем не менее, когда я делаю это в недавней версии Xcode 8.0, он заставляет меня использовать идентификатор подписи кода разработчика даже для выпуска и распространения в настройках сборки, что само по себе довольно странно. И когда я отправляю относительный двоичный файл, я получаю от Apple сообщение о страшном пропущенном письме с уведомлением о недопустимом Push Notification. Чтобы компенсировать это, я отключил автоматическую опцию и возвратил вручную, указав профили, и это позволило мне сохранить профиль распространения в дистрибутиве Build Setting и сохранить мне предупреждающее письмо от Apple.

Почему автоматическое управление работает таким образом и что делать, чтобы настроить его поведение?


15


источник


Ответы:


С выпуском Xcode 8 Apple представила новый способ управления конфигурацией подписи. Теперь у вас есть два варианта Manual а также Automatic,

Этот новый Automatic Signing не работает так же, как в предыдущих версиях Xcode. Прежде, когда вы установите Automatic профили обеспечения, Xcode использовал первый профиль обеспечения и сертификат на вашем компьютере, который соответствует идентификаторам и идентификатору пакета, который вы пытались использовать.

В Xcode 8, Automatic Signing будет управлять профилями, правами и сертификатами для вас, но только для Development, Если вы выберете автоматический, вы будете вынуждены использовать Development signing и профили подготовки, создаваемые Xcode.

На WWDC 2016 (сеанс 401 - Что нового в подписке на приложение Xcode)  они объясняют этот новый метод подписи и описывают некоторые «лучшие практики». Когда вы строите для распространения и использования Automatic Signing или Manual вам следует архивировать Development и затем экспортировать (из инструментов органайзера или командной строки xcodebuild -exportArchive) в виде Distribution, Организатор будет повторно подписывать ваше приложение для Distribution даже если он был заархивирован для Development,

Другая проблема, которую вы описываете, «Отсутствие права на уведомление Push Push» заключается в том, что Xcode 8 изменил способ применения прав. С предыдущими версиями Xcode вам не нужно было явно добавлять APS Environment было достаточно, если бы у вашего профиля обеспечения было такое право. Убедитесь, что у вас есть Push Notification возможность включена в Capabilities и убедитесь, что ошибок там нет.

(Изменить: это новое поведение преднамеренно и описано в примечаниях к выпуску Xcode 8: https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-DontLinkElementID_44 )

Xcode 8 автоматически не копирует права доступа aps-environment   из профилей подготовки во время сборки. Это поведение   намеренным. Чтобы использовать это право, активируйте Push Notifications   в панели возможностей редактора проекта или вручную добавить   право на ваш файл прав. (28076333)


45