2009-06-17 5 views
13

를 구축하기 위해 애플 스크립트에게 다음 내가하고 싶은 단계는 다음과 같습니다엑스 코드 프로젝트

  1. 발사 엑스 코드
  2. 이 엑스 코드
  3. 을 종료 그것은 특정 xcodeproj 파일
  4. 빌드 및 디버그를 열은

다음은 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라는 명령 줄 유틸리티 (man 페이지 here)가있다.

+1

안녕하세요 pgb, xcodebuild는 나를 위해 빌드합니다. 그것은 아이폰에 애플 리케이션을 업로드하고 거기에서 디버깅하는 데 도움이되지 않습니다. – chuan

4

나는 애플 스크립트에 대해 잘 모르겠어요하지만 당신은 다음과 같이 엑스 코드 IDE를 열지 않고, 명령 줄에서 컴파일 할 수 있습니다

구성, 대상이 엑스 코드의 대상 목록에서 이름 확실한 옵션입니다
xcodebuild -configuration Debug -target WhatATool -project WhatATool.xcodeproj 

프로젝트 이름이 끝나면

+2

안녕하세요 stefan, 답변 해 주셔서 감사합니다. 그러면 응용 프로그램이 빌드됩니다. xcode를 사용해야하는 이유는 iphone에 업로드 및 원격 디버깅 메커니즘이 있기 때문입니다. xcode와 별도로 새로 컴파일 한 아이폰 앱을 실제 장치에 쉽게 업로드 할 수있는 명령 줄 도구는 없습니다. – chuan

2

디버깅은 임의의 시간이 걸릴 수 있으므로 디버그 메시지 주변에 "초"/ "종료 시간 초과"블록이 있어야합니다.