Сгенерирование версии_стр от Major/Minor/Patch/Build определяет для использования в PLIST
-
18-09-2019 - |
Вопрос
У меня есть plist, которая обрабатывается с помощью предварительно скомпилированного файла заголовка, и в нем есть «переменная», используемая несколько раз в таких полях, как CfbundlegetInfoString, то есть значение для ключа cfbundlegetInfoString: myproduct version_string Copyright © 2009 MyCorp
В myheader.h (который является набором в качестве заголовка PREFIX Info.plist, который я хотел бы иметь возможность построить версию_string в форму major.minor.patch.build, где у меня есть
#define MAJOR 1
#define MINOR 0
#define PATCH 0
#define BUILD 23
По какой -то причине я, кажется, не способен сделать это. Я мог бы просто иметь один из этих моментов
Решение
Оказывается, на самом деле есть Apple Tech Note и решение самой проблемы, с которой я столкнулся. Итак, для любого, кто может столкнуться с этим и испытывает те же проблемы, которые я проверял Техническая примечание TN2175: предварительная обработка файлов info.plist в XCode с использованием препроцессора C
Другие советы
Возьмите свой файл PLIST и переименуйте его с дополнительным расширением (возможно, P?). Добавлять #include "MyHeader.h"
к началу файла и предварительно обрабатывать его в своей сборке с препроцессором C (обычно cpp
) Вам может потребоваться профильтровать дополнительно #
Линии, но я не понимаю, почему это не сработает.
По умолчанию, cpp
должен вывести в stdout, поэтому добавление такой команды может работать нормально:
cpp myplist.plist.P | grep -v '^#' > myplist.plist