Скажите AppleScript, чтобы построить проект XCode - PullRequest
13 голосов
/ 17 июня 2009

Ниже приведены шаги, которые я хотел бы выполнить:

  1. Запустить xcode
  2. открыть определенный файл xcodeproj
  3. собрать и отладить его
  4. выйти из xcode

Следующая моя первая попытка написать AppleScript:

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

Это работает, только когда xcode открыл этот проект. Я хотел бы, чтобы проект открывался только тогда, когда это необходимо.

Может ли какой-нибудь гуру из AppleScript указать мне правильное направление? Благодаря.

-chuan-

Ответы [ 4 ]

12 голосов
/ 17 июня 2009

Думаю, мне удалось это решить. Ниже приведен 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

Путь должен быть в формате ":" вместо "/". Единственная проблема теперь состоит в том, что после того, как консоль отладки выполнила свою работу, AppleScript, кажется, "зависает", как будто ждет, что что-то произойдет. Мне нужно больше исследовать AppleScript, чтобы понять, что не так со сценарием.

4 голосов
/ 17 июня 2009

Я не уверен насчет AppleScript, но вы можете скомпилировать его из командной строки, не открывая xcode ide, например так:

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

В тех случаях, когда конфигурация очевидна, цель - это имя в списке целей xcode и имя проекта в конце.

2 голосов
/ 17 июня 2009

Поскольку отладка может занимать произвольное количество времени, вы, вероятно, захотите блок «with timeout of секунд» / «end timeout» вокруг сообщения отладки.

2 голосов
/ 17 июня 2009

Есть утилита командной строки под названием xcodebuild (man-страница здесь ), которая может работать лучше для того, чего вы хотите достичь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...