iOS: указать идентификатор подписи кода с файлом .xcconfig

Я работаю над приложением iOS в команде нескольких разработчиков. У всех нас есть наши сертификаты разработчика, относящиеся к одному профилю разработки. Когда я создаю приложение, над которым мы работаем, чтобы проверить его на устройстве, мне нужно явно указать идентификатор подписи кода для использования. В противном случае, если я выбираю автоматический селектор профилей, я получаю ошибку несоответствия подписи кода при загрузке приложения в службы, такие как HockeyApp. Действительно, когда я выбираю автоматический селектор профилей, он, как представляется, выбирает профиль подготовки IOS Team Provisioning вместо профиля разработки для конкретного приложения, которое я создаю.

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

Поэтому я пытаюсь настроить файл .xcconfig, где каждый из членов команды укажет, какую идентификационную информацию для подписи кода использовать. Этот файл не был бы версией, поэтому каждый мог бы установить свою подпись подписи кода явно, не вызывая проблем для других разработчиков в одной команде.

Мне удалось включить файл .xcconfig в мой проект, и он обрабатывается во время фазы сборки. Тем не менее, я не смог написать файл .xcconfig, который решает проблему подписи кода. Я попытался поместить следующую строку в мой файл .xcconfig:

CODE_SIGN_IDENTITY = iPhone Developer: Firstname Name (XXXXXXXXXX) 

где Имя Имя (XXXXXXXXXX) является результатом копирования / вставки идентификатора подписи кода, который я хочу использовать из настроек сборки в файл .xcconfig. Позже я понял, что все мои идентификаторы подписи кода для всех моих профилей разработки (по одному для каждого приложения или идентификатора пакета) дают тот же результат, когда я копирую / вставляю их из настроек сборки в файл .xcconfig.

Я искал способ их отличить, но мне не удалось найти тот, который работает. У вас есть представление о том, как я могу решить эту проблему?

Я также попытался использовать модификатор [sdk = iphoneos *], без успеха.

Я хотел бы избежать использования различных конфигураций сборки, потому что я чувствую, что мне придется объединить изменения, внесенные в основную конфигурацию, в новую конфигурацию сборки, которая будет сделана только с целью использования правильного идентификатора подписи кода. Тем не менее, я не знаком с тем, как построение конфигураций работает в XCode, поэтому не стесняйтесь обучать меня этому, если вы считаете, что это может быть хорошим решением.

Спасибо!

Вместо того, чтобы выбирать CODE_SIGN_IDENTITY, что в конечном счете не имеет значения, вы могли бы указать PROVISIONING_PROFILE и оставить Xcode подписать его с любым совпадением идентичности. Это то, что мы делаем для нашей внутренней системы сборки

Укажите профиль с помощью:

PROVISIONING_PROFILE = cb65516b-ee34-4334-95d6-6fba5f2df574

где длинным шестнадцатеричным номером является UUID профиля. Если вы заглянете в профиль обеспечения, вы обнаружите, что большая часть его – ASCII, хотя это двоичный файл, и у него есть такой раздел

UUID
395525c8-8407-4d30-ABBD-b65907223eec

У нас есть эта работа (так делают и другие ). Не включайте часть между фигурными скобками, только часть имени перед ней. Если вам нужно различать, я бы рекомендовал назвать ваши личности по-разному (например, включив ссылку на имя клиента или название проекта, для которого вы используете идентификатор).

Просто добавьте это в xcconfig. *

CODE_SIGN_IDENTITY = Разработчик iPhone: Имя Имя (XXXXXXXXXX)

Попробуйте это для CODE_SIGN

Затем перейдите в «Настройки сборки» => «Подписание кода» => «Профиль предоставления» => «Левая кнопка мыши» => Выберите «Другое …» => введите «$ (унаследовано)» => Наслаждайтесь!

введите описание изображения здесь

Скажите, пожалуйста, если что-то не работает для вас. Надеюсь, поможет.

Давайте будем гением компьютера.