2016-10-18 5 views
5

У меня есть 3 разных конфигурации сборки, настроенных для моего проекта iOS Xcode. enter image description hereXcode - как установить различные идентификаторы пакетов для разных конфигураций сборки?

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

enter image description here

INFO section-

enter image description here

BUILD Настройки-

enter image description here

Когда я обновить идентификатор пакета непосредственно в общем разделе, значение в настройках сборки -> Идентификатор набора продуктов получает переопределение для всех конфигураций сборки.

Пожалуйста, предложите мне лучший способ справиться с этим!

ответ

4

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

PRODUCT_BUNDLE_IDENTIFIER = com.mycomp.hockey 

Вы должны убедиться, что вы не изменить эти параметры xcconfig в настройках сборки Xcode проекта (соответствующее значение не должно быть выделено жирным шрифтом).

Если вы хотите переключаться между идентификаторами связки на лету, вам может понадобиться создать одну схему для каждой конфигурации сборки. Таким образом вы можете просто выбрать соответствующую схему в селекторе схемы Xcode (рядом с кнопкой build/run).

enter image description here

Чтобы создать новую схему, просто выберите New scheme из селектора схемы и выбрать имя, например, MyApp [Hockey]. Затем отредактируйте схему и выберите предпочтительную конфигурацию сборки для каждого шага, например, MyApp [Hockey] для этапа Archive.

enter image description here

Вы заметите, что идентификатор расслоения на целевой информационном экране будет меняться в зависимости от выбранной схемы. Иногда вам нужно переключиться на другую вкладку параметров вашего проекта, а затем вернуться на вкладку «Информация» до того, как изменится идентификатор пакета (одна из многих ошибок Xcode).

Мы используем тот же подход для всех наших проектов.

Надеюсь, что это поможет.

+0

@ JensMeder- Спасибо за ваш ответ. Я еще не использую отдельный файл xconfig. Но звучит как хороший подход. Я попробую. Одно сомнение: когда у вас есть отдельный файл xconfig для каждой схемы, какое значение вы указываете в общем разделе -> поле идентификатора пакета? –

+0

Короткий ответ: ничего ;-). Длительный ответ. То, что вы видите в поле Идентификатор Bundle на вкладке General, фактически является значением из ваших настроек сборки.Всякий раз, когда вы изменяете значение в настройках сборки или файле xcconfig, значение на вкладке «Общие» также изменится. Вы можете попробовать это самостоятельно, изменив значение идентификатора связки в настройках сборки, и вы увидите, что общее значение изменится и на это новое значение. –

+0

Спасибо! Если вы видите скриншоты в моем вопросе, у меня есть разные значения для Product Bundle Identifier для разных конфигураций сборки. Но первое значение (т. Е. Com.mycomp.xyz) заполняется в общем разделе. Это нормально? –

Смежные вопросы