2012-08-21 4 views
0

나는 완전히 새로운 iphone입니다. 범용 앱을 만들려고합니다.xcode 다른 앱을 만들 수 없습니다.

이제 빈 응용 프로그램을 만듭니다. 모든 자습서에 따르면, universal 옵션을 선택하면 자동으로 iphone 및 ipad 모두에 대해 appdelegates을 만들어야합니다.

하지만 내가 볼 수있는 것은 one appdelegate뿐입니다. 어떻게하면 둘 다 만들 수 있는지 말해줘. 범용 응용 프로그램에 대한 당신은 정말 하나의 AppDelegate에를 사용한다

안부

+0

http://www.kotancode.com/2011/04/05/ios-universal-apps/ 자습서에 따르면, 여기에는 3 개의 diff appdelegates가 표시되며 샘플 코드 등에 따라 –

답변

3

Brayden이 거의 이 아니란 점을 잘 알고 있습니다.에는 여러 명의 앱 대표가 필요합니다. 모든 델리게이트는 응용 프로그램이 시작, 일시 중단 또는 종료되는 순간을 처리합니다. iPhone이 iOS 4.0을 실행하고 iPads가 iOS 3.2를 실행 한 시절에 iOS 4.0 만 멀티 태스킹을 지원했기 때문에 델리게이트에서 매우 다른 코드가 필요할 수있었습니다. 그 날은 오래 전에 사라졌고 귀하의 대의원은 모든 장치에서 똑같이 행동해야합니다.

네, 때로는 프로그램이 iPhone과 iPad에서 다르게 동작해야하는 지점에 도달하게됩니다. 그 때 관용어 을 확인하고 더 이상을 확인하십시오. 그렇지 않으면 코드를 아무 목적없이 복제하는 것입니다.

가장 최근의 앱에 iPhone 또는 iPad에 대한 특별 검사가 거의 없습니다. 다른 XIB도 사용하지 않습니다. 대신 내 사용자 지정보기는 사용 가능한 공간을 채우기 위해 layoutSubviews을 구현합니다.

그렇다면 앱 대표를 이해하고 나면 다른 상황이 필요한 상황을 발견 할 수 있습니다. 당신이 당신의 아이폰과 아이 패드 행동이 너무 격렬하게 발산 될 것이라고 확신하는 경우, 당신이 필요합니다 :

  1. 수동
  2. 당신의 main.m에서 (바람직 기존 AppDelegate 클래스에서 상속) 새로운 클래스를 생성, 전송 새로운 대표자의 클래스 이름은 이디엄에 따라 UIApplicationMain이됩니다.

this answer "내 프로젝트에 응용 프로그램 위임 파일을 만들 수 있습니까?"를 참조하십시오. main.m의 변경 사항을 확인하십시오.

+0

오케이, 그냥 마지막으로. ofc 나는 ipad 및 아이폰에 대한 diff 해상도 이미지가 있습니다. 나는 xib 파일을 만드는 동안 ipad에 대한 checkd xib을 가지고있다.이제 어떻게 위의 코드로 아이폰과 ipad 이미지를 제어 할 수 있을까요? –

+0

위에서 설명한 코드는 XIB 파일이나 이미지와 관련이 없습니다. 너는 필요 없어. 당신이 그것을 필요로 할 수도있는 유일한 시간은 당신이 당신의 단일 응용 프로그램 대리인에서 많은 * 관용구 수표를 만드는 것을 발견하는 경우입니다. – Dondragmer

+0

범용 애플리케이션을 만든 경우 기존 애플리케이션 위임에 'application : didFinishLaunchingWithOptions :'메소드가 있어야합니다. 이것은 이미 현재 관용구를 검사하고 해당 뷰 컨트롤러에 대한 XIB 파일을로드해야합니다. 그렇지 않으면이 방법의 소스 코드를 포함하도록 질문을 편집하십시오. 보기 컨트롤러를 밀거나 모달로 표시하는 다른 장소에서 비슷한 코드가 필요합니다. – Dondragmer

3

. 이 기능을 사용하여 사용자가 수행 할 공통적 인 작업을 공유 할 수 있습니다. 정확히 여러 AppDelegates가 필요한 것은 무엇입니까? 기기 유형 (예 : iPhone 또는 iPad)에 특정한 작업을 수행해야하는 경우 다음과 같은 세 가지 표현식을 사용할 수 있습니다.

(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)? NSLog (@ "iPad") : NSLog (@ "iPhone");

+0

이 하나뿐입니다. 나는 모든 응용 프로그램이 동일한 코드이지만 다른 appdelegat 파일을 가진 iphone 및 ipad라는 두 개의 폴더를 가지고있는 것을 보았습니다. 위의이 튜토리얼과 동일한 내용을 말하는 것입니다. 친절하게 그 버그 또는 그 것으로 알려주십시오. 나는 두명의 appdelegates가 필요하지 않니? –

+0

내가 한 모든 보편적 인 응용 프로그램은 하나의 AppDelegate를 기반으로합니다. 똑같은 일을하는 여러 델리게이트 파일을 가질 필요가 없습니다. – Brayden

관련 문제