Удалить ключи без данных из Info.plist - PullRequest
1 голос
/ 21 марта 2019

У меня есть приложение для iOS, которое имеет следующий ключ в Info.plist

<key>UISupportedExternalAccessoryProtocols</key>
    <array>
        <string>$(MYAPP_EXTERNAL_ACCESSORIES)</string>
    </array>

У нас есть клиентская и коммерческая версия приложения, только последняя получает назначенное здесь значение (bluetooth-принтер). При архивации для клиента мы получаем следующую ошибку в процессе загрузки в iTunes Connect:

ERROR ITMS-90110: "This bundle is invalid. The key UISupportedExternalAccessoryProtocols in the Info.plist file must be an array of non-empty strings."

Я нашел способы изменить Info.plist с помощью скрипта (добавление / удаление чего-либо из существующего ключа), но не как полностью удалить ключ для некоторых конфигураций сборки или если он пуст.

Что было бы лучшим решением для этого?

Спасибо.

1 Ответ

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

Вы указываете, что уже знаете, как работать со скриптом сборки. Инструмент, который вы хотите использовать в вашем скрипте: plutil:

plutil -insert <keypath> -<type> <value> <path_to_file>

или

plutil -remove <keypath> <path_to_file>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...