Gerar uma versão_string de major/minor/patch/build define para uso em uma plista
-
18-09-2019 - |
Pergunta
Eu tenho uma plata que é processada com um arquivo de cabeçalho pré -compilado e nele existe a versão "variável" usada algumas vezes em campos como cfbundlegetInfostring, ou seja, o valor para o key cfbundinggetInfostring é: myproduct versão_string copyright © 2009 mycorp
Em myheader.h (que é o conjunto de prefixos info.plist, eu gostaria de poder criar versão_string no formulário major.minor.patch.build onde eu tenho
#define MAJOR 1
#define MINOR 0
#define PATCH 0
#define BUILD 23
Por alguma razão, pareço ser incapaz de fazer isso. Eu posso estar apenas tendo um desses momentos
Solução
Acontece que, na verdade, é uma nota de tecnologia da Apple sobre isso e uma solução para o próprio problema que eu estava tendo. Então, para quem pode se deparar com isso e está tendo os mesmos problemas que eu estava conferindo Nota técnica TN2175: Informações de pré -processamento.plist arquivos no xcode usando o pré -processador C
Outras dicas
Pegue seu arquivo Plist e renomeie -o com uma extensão extra (talvez A P?). Adicionar #include "MyHeader.h"
até o início do arquivo e pré -processá -lo em sua construção com o pré -processador C (geralmente cpp
). Pode ser necessário filtrar extra #
Linhas, mas não vejo por que não funcionaria.
Por padrão, cpp
Deve a saída para o stdout, portanto, adicionar um comando como esse pode funcionar bem:
cpp myplist.plist.P | grep -v '^#' > myplist.plist