2011-12-07 2 views
0

일단 호출하면 현재 IDE에서 열린 현재 프로젝트와 관련된 AppleDoc 문서를 생성하는 스크립트를 실행하는 사용자 지정 일반 Xcode 비헤이비어를 만들려고합니다. Xcode 4: custom behavior does not execute my sh script? 제가 없어진 것을 이해하는 데 도움이 :AppleScript를 사용하여 Xcode 제품 정보를 검색하려면 어떻게해야합니까?

나는 처음에이 질문을 는 외부 스크립트에 Xcode variables를 사용하는 것은 불가능합니다! 내 새로운 질문은 : AppleScript을 사용하여 필요한 정보 (프로젝트 이름, 회사, 경로 등)를 검색하는 방법은 무엇입니까? 내가 엑스 코드는 매우 "스크립트"이기 때문에 이것이 가능하다는 것을 확신하지만, 지금까지 내가 Xcode 프로젝트 파일의 이름을 검색 할 수 있었다 :

tell application "Xcode" 
    tell active project document 
     name 
    end tell 
end tell 

코드를 반환 위의 "MyProject를. xcodeproj "입니다. AppleScript의 경우 신입생이고 Xcode.sdef의 참조를 이해하기가 어렵습니다 (계층 구조는 매우 단순 해 보이지만 원하는 스크립트를 만들 수는 없습니다) .

몇 가지 힌트를 주거나 AppleScript + Xcode에 대한 초보자 안내서를 가르쳐 주시겠습니까?

답변

1

항목의 특성을 얻을 수있다 할 수있는 가장 쉬운 방법 :

(P 나는 파인더 예는 아무것도하지만 "안녕하세요!"를 찾지 못했습니다). 그래서 예를 들어 frontmost 프로젝트의 속성을 얻으려면 이걸 실행하십시오.

tell application "Xcode" 
    tell first project 
     return properties 
    end tell 
end tell 

속성은 "레코드"입니다. 레코드 항목에 액세스하려면 이름으로 레코드를 가져옵니다. 당신은 사용 AppleScript를 편집기 응용 프로그램을 수행 sdef 파일을 볼 때 예를 들어, 당신은, 마지막으로 프로젝트의 "실제 경로"...

tell application "Xcode" 
    tell first project 
     return real path 
    end tell 
end tell 

를 얻을 수 있습니다. 파일 메뉴에서 "사전 열기"를 선택하고 애플리케이션을 선택하십시오. 사전이 열리면 검색 필드를 사용하는 것이 유용합니다. 예를 들어 "project"를 검색 한 다음 "class"에 해당하는 결과를 강조 표시합니다. 그러면 프로젝트에서 얻을 수있는 것을 보여줍니다.

우리는 애플리케이션에서 얻을 수있는 정보를 찾는 몇 가지 방법을 알고 있습니다.

tell application "Xcode" 
    tell active workspace document 
     set firstProject to (get first project) 
     set projectID to (get id of firstProject) 
     set organizationName to (get organization name of firstProject) 
     set projectDirectory to (get project directory of firstProject) 
     set firstTarget to (get first target of firstProject) 
     set targetName to (get name of firstTarget) 
     ("id: " & projectID & "organizationName: " & organizationName & " directory: " & projectDirectory & " targetName: " & targetName) 

    end tell 
end tell 
+0

나는 정확히 같은 일을 : 기록 된 것처럼 예를 들어. 'tell app "Xcode"... end tell "과"first project 's properties "또는"first project 's real path "사이의 코드를 축약 할 수도 있습니다 –

+0

Great !!! 이것은 실제로 더 나은 접근법입니다. 이제 최종 단계로서 제가 만든 AppleScript에서 sh 스크립트를 호출하는 방법을 배워야합니다. – daveoncode

+0

쉘 스크립트를 호출하려면 ...쉘 스크립트 "/ path/to/script"를 실행하십시오. 필요한 경우 다른 쉘 명령과 같은 매개 변수를 전달할 수도 있습니다. – regulus6633

1

은 테스트의 일부 시간 후, 나는이 방법으로 찾고 있던 정보를 얻을. 에서 찾을 미리 정의 된 단어를 설정 빌드를 사용하여 Xcode를 환경 변수에서 가져 오는

#get the product name from Xcode 
set {product_name} to words of (do shell script "printf \"%s\", $PRODUCT_NAME") 

핸디 :

https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html

0

또한 XCODE에서 정보를 얻을 경우 애플 BASH 스크립트를 사용할 수 있습니다

관련 문제