Pergunta

A seguir, estão as etapas que eu gostaria de ter:

  1. Inicie o Xcode
  2. Abra um arquivo xcodeproj específico
  3. construir e depurar
  4. saia do xcode

A seguir, a minha primeira tentativa de escrever AppleScript:

tell application "Xcode"
    tell project "iphone_manual_client"
        debug
    end tell
    close project "iphone_manual_client"
end tell

Isso só funciona quando o Xcode este projeto foi aberto. Eu gostaria que o projeto seja aberto apenas quando for necessário.

Algum gurus de AppleScript pode me apontar para a direção certa? Obrigado.

-chuan-

Foi útil?

Solução

Acho que consegui resolvê -lo. A seguir, o AppleScript:

tell application "Xcode"
    open "Users:chuan:Desktop:iphone_manual_client:iphone_manual_client.xcodeproj"
    tell project "iphone_manual_client"
            clean
            build
            (* for some reasons, debug will hang even the debug process has completed. 
               The try block is created to suppress the AppleEvent timeout error 
             *)
            try
                debug
            end try
    end tell
    quit
end tell

O caminho deve estar em formato de ":" em vez de "/". O único problema agora é que, depois que o console de depuração fez seu trabalho, o AppleScript parece "pendurar" como se esperar que algo aconteça. Preciso fazer mais pesquisas sobre AppleScript para saber o que há de errado com o script.

Outras dicas

Não tenho certeza sobre o AppleScript, mas você pode compilá -lo na linha de comando, sem abrir o Xcode IDE, assim:

xcodebuild -configuration Debug -target WhatATool -project WhatATool.xcodeproj

Onde a configuração é a opção óbvia, o Target é o nome na lista de destino do Xcode e o nome do projeto no final.

Há um utilitário de linha de comando chamado xcodebuild (página de homem aqui) que podem funcionar melhor para o que você deseja realizar.

Como a depuração pode levar um período de tempo arbitrário, você provavelmente deseja um bloqueio "com tempo limite de segundos" / "Timeout final" em torno da mensagem de depuração.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top