2011-11-07 2 views
6

더 나은 코드 구성 사례를 배우려고합니다. 시간이 지남에 따라 저는 모든 iOS 프로젝트에 가져 오는 유틸리티 유형 파일 모음을 개발했습니다. 그것들을 계속해서 복사하는 대신에,이 파일들을 정적 라이브러리에 빌드하는 별도의 "Library"프로젝트를 설정하고 싶습니다. 그런 다음, 내 애플 리케이션의 프로젝트에서 정적 라이브러리를 참조하십시오.Xcode 4 용 교차 프로젝트 참조 생성시 문제가 발생했습니다.

Xcode 4.2에서는 정적 라이브러리를 대상으로 새 프로젝트 "JTLibrary"를 만들고 일부 파일을 추가했으며 예상대로 빌드합니다.

이제는 내가 작업하고있는 다른 앱 프로젝트처럼 행동해야하는 새 프로젝트 "LibraryTest"를 만들었습니다. 필자는 JTLibrary 프로젝트를이 프로젝트로 드래그하여 교차 프로젝트 참조를 만들 수 있어야한다는 것을 이해했습니다. 이 작업이 끝나면 LibraryTest의 바이너리를 JTL 라이브러리의 정적 라이브러리에 연결합니다.

그러나 JTLibary 프로젝트를 LibraryTest 프로젝트로 드래그하면 확장형으로 표시되지 않습니다.

enter image description here

사람이 프로젝트가이 아닌 확장처럼 나타납니다 이유에 대한 통찰력을 제공 할 수 있습니다 : 나는 등, 그 안에 파일을 볼 수 스크린 샷은 아래를 참조 할 수 있어야한다 예상? 확장 가능하면 앱의 정적 라이브러리를 볼 수 있어야합니다.

감사합니다.

편집 11/7

그것은 내가 지금 아주 기본적인 프로젝트 일하고 있어요 언급 할 가치가있다. 새 프로젝트 창에서 Framework & Library >> Cocoa Touch Static Library를 선택합니다. 하나의 함수를 기본 클래스에 추가하고 빌드하십시오.

헤더 및 .a 파일을 다른 프로젝트에 복사하여 성공적으로 사용할 수 있지만 프로젝트 자체를 드래그하려고하면 위 그림과 같이 나타납니다.

답변

7

하위 프로젝트를 만들려면 Finder에서 Xcode로 프로젝트 노드를 드래그하기 만하면됩니다.

두 개의 Xcode 인스턴스를 열고 프로젝트 노드를 다른 노드로 드래그하지 마십시오 (그 이유는 하위 프로젝트를 확장 할 수없는 이유입니다).

+0

고마워요! 나는 정적 라이브러리 프로젝트를 닫으려고했으나 두 프로젝트를 닫지 않았다. Xcode를 다시 시작하고 앱 프로젝트 만 열면 참조를 올바르게 만들 수있었습니다. 감사! – jmac

+0

감사! 단순히 Xcode 하위 프로젝트를 닫으면 해결됩니다. :) – ma11hew28

관련 문제