Как заменить системные настройки пользовательскими настройками в файле info.plist? - PullRequest
1 голос
/ 06 марта 2019

В пределах info.plist существует системная настройка: Просмотр внешнего вида строки состояния контроллера .

enter image description here

Это логическая опция, выделенная серым цветом.

Но в моем проекте я использую много целей и мне нужно определить этот параметр для каждой цели. Итак, я определил User Defined Setting так:

enter image description here

Но когда я пытаюсь заменить ON на $(CUSTOM_STATUS_BAR_APPEARANCE_ENABLED), это не работает, потому что тип является логическим. Если я принудительно изменю это свойство в файле plist следующим образом:

<key>UIViewControllerBasedStatusBarAppearance</key>
<string>$(CUSTOM_STATUS_BAR_APPEARANCE_ENABLED)</string>

это все еще не работает. Зачем? Как я могу это сделать БЕЗ создания разделенных списков?

1 Ответ

1 голос
/ 06 марта 2019

Вы можете попробовать с пользовательским Run Script - во время сборки скрипт может изменить значение bool в Info.plist -> в ваших условиях оно должно быть таким:

INFOPLIST="${PRODUCT_SETTINGS_PATH}"
/usr/libexec/PlistBuddy -c "Set :UIViewControllerBasedStatusBarAppearance NO" "${INFOPLIST}"

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

...