네 아이폰과 아이패드 구분 하는 명령어에요.

 

처음 개발 할때 아이패드와 아이폰중 어떤걸 만들지 선택해서 프로젝트를 생성하시게 될텐데

 

어느 누구는 둘다 호환가능하게 만들려고 하시는분도 있으실꺼에요.

 

Xcode 4.2버전 기준으로 한 프로젝트안에서 아이패드와 아이폰 두가지 기기에 맞춰서 설정할수 있는 방법이 있더라구요.

 

타겟형식으로 하는방법과 그냥 명령어로 .xib파일을 변경해서 인식시켜주는 방식입니다.

 

일단 제가 먼저 말하고자하는건 타겟형식이 아닌 그저 명령어로 a.h, a.m, a-iPhone.xib, a-iPad.xib 이렇게 파일 4개를

 

이용하여 명령어로 쉽게 이동할수있도록 하는 방법이에요.

 

하지만 아이패드용과 아이폰용의 UI환경이 전혀 다르다면 문제가 될수있다는점 기억해주시구요.

 

이방법은 아이패드와 아이폰두가지 기기가 똑같은 UI환경에서 두가지 기기에 맞춰서 개발할때 사용하면 유용할거 같아요.

 

일다 명령어는 아주 쉬워요.

 

 

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    //여기 안에다가 명령어를 넣을꺼에요. 아래와 같은 명령어를 넣으면 기기정보를 얻어서 구분할수가 있어요.
    if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){
        NSLog(@"Device info : iPhone");
    } else {
        NSLog(@"Device info : iPad");
        self.viewController = [[[Mainview alloc] initWithNibName:@"Minview-iPad" bundle:nil] autorelease];
    }
    self.window.rootViewController = self.viewController;

    [self.window makeKeyAndVisible];
    return YES;
}

 

자 그럼 일단 Mainview 라는 .h, .m, .xib가 있다고 과정하구요. 그리구 Mainview 는 iPhone(아이폰) 전용으로 만든거라고 생각하시면 되요.

 

프로젝트에 .xib를 하나더 추가하고 거기에 Mainview-iPad 라고 이름을 만드신뒤에 File's Owner에 가서 Mainview를 설정 해주시면 되요.

 

그리구 위에 if문을 시작으로해서 만약에 사용자 기기가 아이패드일경우 9번째 줄에 self.viewController 을 Mainview-iPad.xib

 

로 읽게 잡아주시면되요.

 

그럼 사용자기기가 아이폰일경우 아이폰 환경에 맞게 처음 만든거처럼 아이폰전용 화면이 나올꺼구.

 

만약에 사용자 기기가 아이패드일경우 9번째줄로 인해서 .xib 파일이 바뀐 아이패드용으로 나오게 될꺼에요.

 

혹시 더 자세하게 알고 싶거나 그러신분들은 따로 뎃글 달아주시면 더욱 쉽고 간결하게 설명해드리도록 하겠어요 ^^

 

간략하게나마 읽어 주셔서 감사해요 ^^*