2011-08-05 3 views
4

아이폰 용으로 최적화 된 앱과 ipad 용으로 최적화 된 앱 두 가지를 만들고 싶습니다.iPhone과 iPad 간의 개발 코드 공유를위한 모범 사례가 있습니까

두 응용 프로그램 모두 서버 API 호출을 호출하고 모델 개체에 대해 동일한 코드를 공유하므로이 코드를 내 iPhone과 iPad 프로젝트간에 공유하고 싶습니다.

나는 프로젝트 사이에서 코드를 공유 할 수있게 해주는 workspace 개념을 사용하여 xCode 4를 사용하고 있지만 공유 코드 용으로 다른 프로젝트를 만들어야하는지 궁금합니다.

모범 사례를 공유하는 사람이 있습니까?

답변

3

정적 라이브러리 프로젝트를 사용하여 공유 코드를 저장하고 iPhone/iPad 재사용 또는 기타 다른 공유 시나리오에서 사용하는 모든 프로젝트에서 코드를 공유하고이를 사용하는 모든 프로젝트에서 대상 종속성으로 사용하는 것을 선호합니다. 좀 더 자세하게 ...

코코아 터치 정적 라이브러리 템플릿으로 새로운 Xcode 프로젝트를 만들 수 있습니다. 이 프로젝트는 프로젝트간에 모든 공유 코드를 저장할 수 있습니다. 그런 다음 정적 라이브러리를 사용하려는 모든 응용 프로그램에서 정적 lib 프로젝트를 클라이언트 프로젝트로 드래그하여 정적 라이브러리 프로젝트에 대한 프로젝트 참조를 추가 할 수 있습니다. 이 클라이언트 프로젝트에서는 클라이언트 프로젝트의 대상 종속성 빌드 단계로 정적 라이브러리를 추가하는 것이 좋습니다. 이렇게하면 클라이언트 프로젝트가 빌드 될 때마다 공유 라이브러리가 다시 빌드됩니다. 그런 다음 정적 라이브러리 제품을 클라이언트 프로젝트의 "라이브러리와 이진 링크"빌드 단계에 추가합니다.

최종주의해야 할 점은 클라이언트 라이브러리에 정적 라이브러리의 헤더가있는 곳을 알려주는 것입니다. 이것은 Mac에서 Cocoa Framework처럼 자신의 헤더를 포함하지 않는 정적 라이브러리의 결과입니다. 이렇게하려면 클라이언트 프로젝트에서 "헤더 검색 경로"빌드 설정을 찾아 정적 라이브러리 헤더에 경로를 추가하십시오. Xcode에서 생성하고 파생 데이터에 배치 된 것을 참조하는 것이 가장 유용하다는 것을 알았습니다 (이렇게하도록 구성된 Xcode가있는 경우).

0

두 개의 개별 응용 프로그램을 만들려면 두 개의 iOS 응용 프로그램 프로젝트와 하나의 정적 라이브러리 프로젝트가있는 작업 공간 하나를 만들어야합니다. 정적 라이브러리에는 모든 공유 코드가 포함되어야하며 라이브러리는 iOS 응용 프로그램 프로젝트 모두에 포함되어야합니다.

+0

오늘 작업 공간에 대해 인터넷에서 나중에 검색 할 예정이지만 좋은 자료를 알고 있습니까? 나는 그들을 사용한 적이 없다. – tazboy

+0

Apple의 초기 설명서 중 일부를 검토해 보는 것이 좋습니다. http://developer.apple.com/library/ios/#documentation/IDEs/Conceptual/Xcode4TransitionGuide/Orientation/Orientation.html 및 SO가 질문에 대한 답변을 제공해야합니다 (평소대로). – dtuckernet

관련 문제