Variáveis ​​Xcode

103

No Xcode, sei que você pode obter variáveis PROJECT_DIRpara usar em algumas situações, como uma fase de construção de script de execução. Estou me perguntando se é possível obter o tipo de compilação (ou seja, Release ou Debug ). Alguma ideia?

Allyn
fonte

Respostas:

147

A melhor fonte é provavelmente a documentação oficial da Apple . A variável específica que você está procurando é CONFIGURATION.

smorgan
fonte
8
Eu amo a maneira como o Xcode se recusa a mostrar essa página se você digitar "configurações de construção" em uma caixa de pesquisa - você obtém o outro tipo de configuração de construção, sem nenhuma referência a essas variáveis. Idem se você colocar "variáveis ​​de construção". Alguém deveria ensinar a Apple como escrever um algoritmo de pesquisa :)
Adam
23
Se você está tentando criar uma "fase de construção de script de execução", você pode iniciar este script digitando "env" (sem as aspas) como a primeira linha de seu script bash shell (ou o comando equivalente para o shell que você ' está usando) e construa seu projeto. Isso produzirá todas as variáveis ​​de ambiente que estão disponíveis para você. Você pode usar isso em conjunto com a documentação para ter certeza de que está obtendo os dados esperados.
Ryan H.
3
Acho que perdi meia hora tentando encontrar a documentação listando / explicando as variáveis ​​de ambiente disponíveis para scripts. Enviei uma solicitação de "melhoria" perguntando por que eles não podiam simplesmente colocar um daqueles botões redondos de interrogação com um link para a página de ajuda adequada. Ótima sugestão HZC, embora eu desejasse que não fosse necessário.
Brian de
3
Também é triste que o $ PROJECT_DIR básico não seja mencionado em nenhum lugar desse documento oficial. Eu acho que é apenas um alias (melhor nomeado) para $ SRCROOT.
Ricardo Sanchez-Saez
4
A Apple gosta de reorganizar periodicamente toda a sua documentação e quebrar todos os links existentes. Alguém terá que caçar o novo link.
smorgan
20

Aqui está uma lista das variáveis ​​de ambiente . Eu acho que você pode querer CURRENT_VARIANT. Veja também BUILD_VARIANTS.

Naaff
fonte
Ok, então quando eu uso char * cv = getenv ("CURRENT_VARIANT"); Eu recebo NULL. o que estou perdendo?
Brooks
1
A outra resposta está certa. Isso não é. CONFIGURAÇÃO é o que eles querem.
Baxissimo
E essa nem é a lista completa ... meia verdade
Evils