Сгенерирование версии_стр от Major/Minor/Patch/Build определяет для использования в PLIST

StackOverflow https://stackoverflow.com/questions/1870020

Вопрос

У меня есть 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top