2009-06-17 4 views
13

Ниже перечислены шаги, которые я хотел бы иметь:Скажите AppleScript построить XCode проект

  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-

ответ

12

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

+0

Вы знаете, как проверить, работает ли отладка? Я получаю проблему при последующих запусках моего сценария: «Невозможно отладить исполняемый файл, поскольку выполняется сеанс отладки» –

+0

Привет, Аарон. Я предполагал, что другой вариант - заставить XCode полностью завершить работу и снова запустить XCode перед запуском нового набора испытаний? Это может обойти проблему, с которой вы сталкиваетесь. – chuan

+2

К сожалению, многие функции Xcode AppleScript были повреждены Xcode 4, включая функции запуска и отладки. Похоже, что сценарий выше не работает. – ThomasW

2

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

+1

Hi pgb, xcodebuild только построит его для меня. Это не помогает мне загружать приложение в iphone и отлаживать его оттуда. – chuan

4

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

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

Где конфигурация очевидный вариант, цель имя в списке Target Xcode и название проекта в конце.

+2

Привет, Стефан, Спасибо за ваш ответ. Это создаст приложение. Причина, по которой мне нужно использовать xcode, - это механизм загрузки и удаленной отладки, который он использует для iphone. Нет инструмента командной строки, который я могу использовать, чтобы позволить мне загружать мое недавно скомпилированное приложение iphone на реальное устройство, не считая xcode. – chuan

2

Поскольку отладка может занять произвольное количество времени, вероятно, вам понадобится блок «с тайм-аутом секунд»/«конец таймаута» вокруг отладочного сообщения.

Смежные вопросы