2011-12-14 2 views
0

환경 변수를 사용하여 Xcode 작업 공간에서 프로젝트를 참조해야합니다. 엑스 코드 작업 공간 파일은 다음과 같습니다 작업 영역 파일과 프로젝트를 (lib 디렉토리 프로젝트가 공유되어 다른 개발 환경에서 사용할 수 있도록 환경 변수에 의한 Xcode 작업 공간 참조 프로젝트

<Workspace 
    version = "1.0"> 
    <FileRef 
     location = "group:../../Some/Dir/SomeLibrary.xcodeproj"> 
    </FileRef> 
    <FileRef 
     location = "group:SomeApp/SomeApp.xcodeproj"> 
    </FileRef> 
</Workspace> 

내가의 SomeLibrary 프로젝트가 환경 변수에 의해 참조 될하려면 여러 다른 프로젝트). 이 작업을 수행하는 방법에 대한 아이디어가 있습니까? XML 형식이 어딘가에 문서화되어 있습니까?

감사합니다. :)

답변

0

나는 스스로에게 대답 할 필요가 있다고 생각한다. 내 연구를 토대로 작업 공간 프로젝트에서 동적 위치 (환경 변수, 소스 트리 등)를 사용할 수 없습니다.

해결책 1 : symlink를 사용하여 수행하려는 작업을 수행 할 수 있습니다. 내 현재 작업 공간에서 하나의 응용 프로그램 프로젝트와 로컬 파일 시스템의 심볼릭 링크를 가리키는 프로젝트 항목을 만들었습니다. 이렇게하면 프로젝트를 전환하고 라이브러리 프로젝트의 동적 위치를 가질 수 있습니다. 내가 추가 할 때 엑스 코드가 제대로이 링크를 처리하는 경우 확실하지 않다, 그래서 수동으로이 같은 프로젝트 항목을 추가 :

<FileRef 
    location = "group:Libraries/SomeLibrary/SomeLibrary.xcodeproj"> 
</FileRef> 

경우 SomeLibrary (중요 : 폴더는 심볼릭 링크 할 필요가 SomeLibrary, 또는 다른 엑스 코드 늘 수 프로젝트 내용을 찾을 수 있음)은 로컬 파일 시스템의 다른 곳에서 내 정적 라이브러리 프로젝트에 대한 심볼릭 링크입니다. 이렇게하면 개발자는 라이브러리에 대한 다른 경로를 가질 수 있으며 필요한 경우 쉽게 버전을 전환 할 수 있습니다.

해결 방법 2 : 정적 라이브러리 프로젝트를 하위 프로젝트로 추가하고 상호 참조를 사용합니다. 하위 프로젝트의 경우 소스 트리를 사용하고 동적 위치를 사용할 수 있습니다.

이 솔루션을 광범위하게 테스트하지는 않았으므로 잠시 사용 후 답장을 보내 드리겠습니다.

3

XCode 4 환경 설정에서 "위치"탭을 볼 수 있으며 "소스 트리"섹션에서 위치를 변경할 수 있습니다 (컴퓨터에서 기계로 변경할 수 있음). 또한이 설정을 사용하여 프로젝트에 포함 시키거나 참조하려는 라이브러리의 경로를 변경할 수 있습니다.

터미널 명령 줄의 환경 변수와 정확히 일치하지는 않지만 대부분의 사람들은 터미널에서 Xcode를 시작하지 않으므로 $ PATH 또는 다른 UNIX 스타일 환경 변수를 모든 응용 프로그램을 두 번 클릭하면 Xcode IDE가 훨씬 적습니다. 좋은 대안입니다.

여기에는 in this related question의 정보가 있으며 여기에는 Apple's documentation on what they are and how to set them up (XCode 3을 대상으로하지만 XCode 4에는 동일한 개념이 적용됩니다)입니다.

더 많은 정보를 제공 할 수 있다면 알려주세요. 내 답변이 도움이 되길 바랍니다.

+0

감사합니다. 매우 유망 해 보입니다. Tho 나는 이것이 개발자를 위해 작동 할지도 모르는 것을 볼 수있다 (단지 그것을 간략하게 보았다). 그러나 프로젝트는 빌드 서버를 사용하여 빌드되며 명령 행에서 빌드 할 수 있어야합니다 (원래 질문에서 명령 행 부분은 언급하지 않았습니다). 나는 이것이 같은 기술을 사용하여 어떻게 성취 될 수 있는지 확신하지 못한다. – Kenneth

+0

바라건대 모든 빌드 서버를 동일한 방식으로 (유사한 소스 트리 변수 선언을 사용하여) 설정할 수 있기를 바랍니다. 다른 라이브러리를 다른 빌드 서버에 보관할 수 있습니다.프로젝트의 라이브러리 경로가 소스 트리 변수에 의존하면 솔루션을 찾을 수 있습니다. 또한, 빌드 서버에 구축하고 있다면'xcodebuild' 도구와'.xcconfig' 파일을 조사하십시오. 그것은 또 다른 잠재적 인 해결책 일 수 있습니다. –

+0

예, 알아 보겠습니다. 그러나 소스 트리 기술을 시도했습니다. 소스 트리 변수에 상대적인 프로젝트 IN 파일의 위치를 ​​선택할 수있는 것 같지만 소스 트리 경로는 드롭 다운에 나타나지 않습니다. – Kenneth

관련 문제