2014-04-29 3 views
1

여러 애플 리케이션에서 여러 개발자간에 "공통"Xcode 프로젝트를 공유하는 가장 좋은 방법을 찾고 있습니다. 한 개발자는 "공통"Xcode 프로젝트를 진행할 것이며, 다른 개발자는 공통 코드 Xcode 프로젝트의 소스를 사용할 프로젝트를 진행할 것입니다.사용자간에 Xcode 라이브러리 공유

내가 막힌 곳은 일반적인 코드 라이브러리의 개발자가 변경을 할 때 해당 라이브러리를 사용하는 개발자가 Xcode 프로젝트를 삭제하고 다시 추가하지 않도록 Xcode와 Git을 함께 설정하는 방법입니다 , 또는 그들의 일을 잃는다.

나는 Git 서브 모듈로 일부 문서를 살펴 봤지만 주제와 그 유용성에 대한 많은 논란이있다. 모든 사람들이 같은 장소에서 체크인/체크 아웃하는 방식으로 모든 프로젝트에 대한 모든 코드가있는 하나의 리포지토리를 갖는 것이 더 나아 졌습니까?

조언과 조언을 보내 주셔서 감사합니다!

+0

프레임 워크를 만들려고 했습니까? [이 링크를 참조하시기 바랍니다.] [1] [1] : http://stackoverflow.com/questions/4065052/how-to-build-a-framework-or-library-for- other-developers-the-secure-way – Chandu

+0

우리는이 프로젝트가 유일한/가장 쉬운 방법이 아니라면 프레임 워크를 사용하고 싶지 않습니다. – Brian

+0

헤더 파일과 구현 파일 만 사용 하시겠습니까? 또는 바이너리 (프레임 워크의 종류)로 빌드하고 사용하고 싶습니까? 아니면 다른 프로젝트와 함께 iDevice에 설치해야하는 응용 프로그램입니까? – Chandu

답변

1

를 설정하는 방법에 대한 가능성 간단한 설명의 부하가 있습니다 : 당신은 개인 podspec의 REPO를 설정하는 방법에 대한 공식 문서를 읽을 수 있습니다 "소프트웨어 개발에서. 문제에 대한 해결책은 항상 여러 가지가 있습니다. 트릭은 어떤 솔루션이 가장 적합한 지 알아 내려고합니다. 그의 경우에는 여러 가지 고려해야 할 요소가 있습니다. 개발자가 어떻게 일하고 싶은지, 그들이 가지고있는 경험과 배경, 코드 관리 방법 등입니다.

몇 가지 해결책이 있다고 생각합니다. 당신은 고려해야합니다. 하나를 골라 내고 사용해보십시오. 그러나 그것이 작동하지 않거나 필요에 따라 스위트를 해킹 할 경우 변경을 두려워하지 마십시오.

  1. 하나의 레포. 다른 프로젝트에서 코드를 재사용 할 수 없으므로 일반적으로 최상의 솔루션으로 간주되지 않습니다. XCode에서는 수많은 빌드 타겟과 매우 복잡한 빌드로 끝나는 경향이 있습니다. 이것은 매우 신속하게 관리 할 수 ​​없게 될 수 있습니다. 또한 버전 관리가 어려워지며 빠르게 작업을 중단 할 수 있습니다.

  2. 여러 repos 및 정적 라이브러리. 여기에는 여러 가지 변형이 있습니다. repos는 Git에 의해 독립적으로 관리되거나 서브 모듈을 사용할 수 있습니다. 정적 라이브러리를 빌드하는 프로젝트로 코드를 깨뜨리는 것을 진지하게 고려할 것입니다. Xcode 작업 영역을 사용하면 여러 프로젝트를 동시에 열어 형제 또는 중첩 된 자식 프로젝트로 정렬 할 수 있습니다. 이는 무엇을 어떻게 구축하고 싶은가에 달려 있습니다. Git 하위 모듈을 사용하면 하위 모듈을 효과적으로 버전 관리 할 수 ​​있다는 이점이 있습니다. 즉, 정적 라이브러리 프로젝트를 변경하면 사용중인 모든 것을 손상시키지 않습니다. Git 서브 모듈을 사용하는 단점은 Git의 가장 사용자 친화적 인 부분이 아니라는 것입니다 (IMHO). 좋은 자식 클라이언트가 가장 유용합니다. Sourcetree은 무료이지만 (다시 IMHO) Tower은 사용하기가 쉽고 Sourcetree보다 하위 모듈을 더 잘 처리합니다.

  3. Cocoapods을 사용하십시오. Cocoapods는 Xcode 용 Maven 또는 Ant를 사용하는 것과 같습니다. 그것은 쉽고 빠르게 실행되고 자동으로 의존성을 처리합니다. 그러나 XCode 프로젝트 파일을 망칠 수도 있습니다. 수동 개입이 필요하고, 필요하지 않은 추가 컴파일을 추가하고 빌드 설정 방법에 따라 방해가 될 수 있습니다. 프로젝트 파일을 재생하는 방식을 제어하는 ​​방법을 파악하는 데는 어느 정도 시간이 걸릴 수 있습니다.처음에는 사용하기 쉽고 Git Submodules에 필요한 기술적 인 지식을 필요로하지 않기 때문에 Cocoapods를 좋아하는 사람이 많습니다. 개인적으로 나는 Xcode에 Java 의존성 관리 아이디어를 가져 오는 것이 장기적으로 좋은 아이디어인지 확신하지 못합니다.

+0

각 솔루션에 대한 놀라운 설명을 보내 주셔서 감사합니다! Cocoapods를 사용하는 아이디어가 마음에 들지만 많은 프로젝트에서 사용하는 것을 볼 수 있습니다. 그러나 Xcode 프로젝트를 수정하면 불쾌해질 수 있습니다. 아마도 서브 모듈과 정적 라이브러리에 먼저 시도해 볼 것입니다. 다시 한 번 감사드립니다! – Brian

관련 문제