2010-02-21 2 views
6

내 질문은 : 나는 iPhone 용으로 설계된 응용 프로그램을 가지고 있으며 코드를 포크하기로 결정했습니다. 즉,이 초기 단계에서 하나의 iPhone 용 응용 프로그램과 다른 하나의 iPad 용 응용 프로그램의 두 가지 버전을 개발할 것입니다.iPhone 및 iPad - 코드를 어떻게 포크합니까?

제 질문은 : 코드를 어떻게 포크합니까? 두 버전 모두에 대해 하나의 프로젝트를 계속 사용하고 싶지만 분명히 iPhone 용 코드 섹션과 iPad 전용 섹션을 작성해야하며 두 릴리스에 공통된 부분이 많습니다.

코드에 혼란을주지 않으면 어떻게 할 수 있습니까?

모범 사례는 무엇입니까? 어떤 도움을 주셔서 감사합니다.

여러 대상을 사용하는 Xcode 프로젝트를 구성 할 수 있습니다

답변

2

또는 하나 개의 대상에 일부 소스 코드 파일을 지정할 수 있습니다 그것이와 충돌 할 수 있다는 것입니다 배포 모델.

내가 이해 한 것으로부터 iPad 및 iPhone 응용 프로그램은 바이너리로 배포됩니다. 응용 프로그램은 런타임에 iPad 또는 iPod 사용자 인터페이스를 표시할지 여부를 결정합니다.

당신이 여러 대상을 사용할 수 없습니다, 가게, '푸'& '푸 아이 패드 에디션'에 애플 리케이션을 분리해야하지 않으려면 것을 의미하고 어떻게 든 있을 것이라는 점을 하나 개의 코드와 함께 작동하도록 베이스.

앱에 많은 조건부 항목이있을 수 있기 때문에 나는 싫어합니다. iPad가 다음 작업을 수행한다면 그렇지 않습니다. iPhone에서이보기 컨트롤러를 표시하면 다른보기 컨트롤러가 표시됩니다. 나는 이것이 좋은 코드로 이어질 지 모르겠다.

내가 지금 생각하고있는 것은 중간에서 뭔가를하는 것입니다. 기본적으로 두 개의 코드베이스를 만들고 앱의 초기에 완전한 iPad 또는 iPhone 코드 경로를 선택하기로 결정할 것입니다.

+0

Apple docs는 응용 프로그램을 단일 바이너리로 배포해야한다고 말하지 않습니다. 반대로. 이 결정은 개발자가 결정할 것을 제안합니다. 앞으로 더 많은 장치가 출시 될 것이라고 생각하므로 세 번째 장치 범주가 추가 될 때 상황이 최악이 될 것입니다. – SpaceDog

+0

네가 맞다. 그것은 개발자의 선택입니다. –

3

이 다음 당신은 여러 대상에 대한 문제 다른 또는 둘 모두

+0

두 가지 질문 : 1) 어떻게 과제를해야합니까? 2) 코드의 일부는 무엇입니까? 하나의 타겟 또는 다른 타겟에 코드의 일부를 할당 할 수 있습니까? (이 IF ipad를 컴파일하거나 아이폰이라면 ...) 어떻게 끝났습니까? 감사. – SpaceDog

1

저는 iPhone 개발자가 아니지만 St3fan이 나타내는대로 (단일 바이너리로 배포해야 함) 출고 패턴의 고전적인 케이스처럼 보입니다. 다른 모든 것은 두 가지 분리 된 방식 (공통 인터페이스 사용)으로 구현되며 공장에서는 iPhone 또는 iPad에있는 경우이를 기반으로 다른 구현을 수행합니다. 공통 코드는 변경하지 않아도 그대로 유지 될 수 있습니다. 1) 내 경우 프로젝트 메뉴 에서 새 대상을 만들어야합니다 "나는 그 할당을 어떻게"나는 아이폰 게임 (보통 두 개의 서로 다른 목표 를 사용 : 나는 당신의 점에 회신

1

내가 아이 패드 응용 프로그램을 개발에 사용되는 현재 베타 SDK 일부 #DEFINE 포함되어 있으면 컴파일 에있는 동안 테스트 할 수 모른다 "어떤 코드의 일부에 대한"무료 (라이트) 버전)

so I created a second Target of Type Application 
    this will add a Target to the Groups & Files panel 
    and will create a new Info.plist file 

    in the Group&File you can show more columns (by right clicking) 
    on "Group&Files"), here you have to show the "Target Memebership column" 
    for each file you can decide if it is part of a target by pressing the 
    corresponding check box 

2) 모든 경우 타겟 레벨 에 전용 #define을 설정하고 테스트 할 수 있습니다. 일부 조건부 컴파일을

당신이 dedcated 사과 문서 에서 여러 대상 애플리케이션 을 구축 당신이이 가이드 을 읽을 필요가 아이폰 개발자 센터 에서 그것을 donwload 수에 대한 매우 상세한 정보를 찾을 수 있습니다 "엑스 코드 프로젝트 관리를하는 것입니다 가이드 "

+0

감사합니다 !!!!!!!!! – SpaceDog