Xcode Run script Build Phase "executar script somente ao instalar" opção


90

Há uma opção "executar script somente ao instalar" na fase de criação do script Xcode Run, não consigo encontrar documentação sobre isso. O que isso faz?

Respostas:


139

Com a opção Executar script apenas durante a instalação marcada, o script é executado apenas quando o arquivo do produto é executado.


12
Não ao construir / instalar em um dispositivo? (Isto é: CMD-Bconstruir e executar em um dispositivo físico (não sim) com o dispositivo conectado. Isso não conta como "ao instalar" para este switch?)
Olie

6
A instalação de depuração em um dispositivo real (compilar e executar a partir do Xcode) não conta como "instalação". O script de execução só é executado durante o arquivamento (testado com Xcode 9).
seeppp

Na verdade, isso está apenas parcialmente correto. Depende da configuração DEPLOYMENT_PROCESSING. Estou baseando isso na execução do Xcode 10. Parece que, quando você arquiva, DEPLOYMENT_PROCESSING é definido como YES e substitui a configuração para a configuração. Eu confirmei isso através da construção e vendo as configurações na saída, uma vez que tenho "Mostrar variáveis ​​de ambiente no log de construção" definido como ativado.
Celular Ben

17

No Xcode Build System Guide (Xcode 3.2.x), ele diz:

Execute o script apenas durante a instalação. Executa o script apenas durante as compilações de instalação, ou seja, ao usar a opção de instalação de xcodebuild ou quando as configurações de compilação Localização de implantação (DEPLOYMENT_LOCATION) e Pós-processamento de implantação (DEPLOYMENT_POSTPROCESSING) estão ativadas.


Quando você precisa / deseja ...? Eu sugeriria a leitura da documentação em DEPLOYMENT_LOCATION, DEPLOYMENT_POSTPROCESSING e TARGET_BUILD_DIR.
ericg

1
Leia, mas para que situações as pessoas os usam?
Boon

15
Re: quando você gostaria de usar isto: Eu uso este sinalizador em scripts que incrementam o número de compilação, de modo que só aconteça em compilações que eu arquivar para enviar aos testadores beta (e não sempre que executo o aplicativo)
Wayne

1
Ou ao fazer upload de arquivos de símbolo para firebase ou crashlytics. Não há necessidade de fazer upload em cada compilação de depuração.
seeppp

Na verdade, o Fabric diz que os arquivos de símbolo devem ser carregados a cada construção. Há uma maneira melhor de configurar o upload do dSYM. support.crashlytics.com/knowledgebase/articles/…
Nik Kov
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.