반응형
ShakeJ
MNWorld
ShakeJ
전체 방문자
오늘
어제
  • 카테고리 N
    • Contact
    • 🤔그냥이야기
    • 📷사진이야기
    • 제주도에서 한달을 살아보았다
    • 옛글 N
      • 👇Blog
      • 공지사항
      • 이슈 N
      • 생각들
      • 👇취미
      • 건프라
      • 👇Review
      • 노래리뷰
      • 영화리뷰
      • 👇Travel Story
      • 2011 도쿄여행기
      • 2013 Google IO
      • 2013 Jeju
      • 2014 HONGKONG
      • 2014 Jeju
      • 2014 Sanfransis..
      • 2015 Lombok
      • 2016 HONGKONG
      • 2017 Saigon
      • 국내여행기
      • Photo Story
      • Growth
      • 👇Server
      • Ruby on the Rai..
      • Frontend
      • FullStack (MEAN..
      • Ubuntu
      • 👇Android
      • 안드로이드 프로그래밍
      • 번역본
      • 내어플이야기
      • 코드창고
      • 👇iOS
      • 아이폰 프로그래밍
      • 맥북 이야기
      • 👇Microsoft
      • ASP.NET
      • Silverlight
      • 윈도우 이야기
      • 👇IT Story
      • 모바일 이야기
      • 하드웨어 이야기 N
      • 네트워크 이야기
      • 프로그래밍이야기
      • Database이야기
      • 클라우드이야기
      • 프론트 이야기
      • 마케팅이야기
      • 그래픽 작업
      • 블로그 팁

블로그 메뉴

  • GuestBook

공지사항

인기 글

태그

  • 윈도우폰7
  • 배너제작
  • 안드로이드 어플 추천
  • 블로그 운영
  • 블로그 팁
  • 블로그 초보
  • 블로그 잡담
  • MNWorld
  • 랩
  • 티스토리
  • 블로그 운영하면서
  • 블로그 운영하기
  • 배너교환
  • 블로그 이야기
  • 티스토리 초대장
  • iOS 프로그래밍
  • 배너무료제작
  • 서울 출사지
  • 무료배너제작
  • D40 사진
  • asp.net
  • 초대장
  • 티스토리 팁
  • 블로그 관련
  • 블로그 시작하기
  • 풍경사진
  • 블로그 꾸미기
  • 블로그 만들기
  • shakej
  • 블로그 처음

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ShakeJ

MNWorld

옛글/아이폰 프로그래밍

iOS Universal 프로그래밍. 모델 구별하기

2012. 7. 2. 10:26
반응형

iOS 유니버셜(패드, 폰)으로 구별해서 프로그래밍을 하는 경우에는 One Source로 구현하는 경우가 많습니다(굳이 UI 가 크게 다르지 않다면, 다르더라도 기능은 거의 비슷하므로) 

이 때 따로 클래스를 하나 두고 모델타입을 리턴해주는 방식으로 구현하면 굉장히 편리합니다. 
물론 UI .. Idom 으로 Pad등을 구별하는 방법도 있긴하지만, 맥으로의 포팅이나 이래저래 봤을 때 효율적이진 않아 보입니다. 


클래스를 하나 만든 뒤 


+ (BOOL)isIpad

{

if ([self getModelType] == MODEL_IPAD) {

return YES;

} else {

return NO;

}

    

}


+ (MODEL_TYPE)getModelType

{


if ([[[UIDevice currentDevice] model] isEqualToString:@"iPhone"]||

        [[[UIDevice currentDevice] model] isEqualToString:@"iPhone Simulator"]) {

//        NSLog(@"It's iPhone");

return MODEL_IPHONE;

}
    else if ([[[UIDevice currentDevice] model] isEqualToString:@"iPad"]||

             [[[UIDevice currentDevice] model] isEqualToString:@"iPad Simulator"]) {

//        NSLog(@"It's iPad");

return MODEL_IPAD;

} else {

NSLog(@"It's unkown");

return MODEL_UNKOWN;

}

}


위와 같이 UIDevice crrentDevice를 사용해서 리턴을 해주는 방법을 사용해주시면 편리할 듯 합니다. 

레티나의 경우에는 따로 모델명이 구분되지 않습니다. 레티나 아이패드도 모델명은 iPad로 리턴됩니다. 때문에, 이미지 등의 문제는 이미지 명명법에 따라 사용해줍니다 (이미지 명명법 참고)

반응형
저작자표시 비영리 변경금지

'옛글 > 아이폰 프로그래밍' 카테고리의 다른 글

[iOS프로그래밍] NSString Split(Token 으로 자르기)  (0) 2012.07.06
[iOS프로그래밍] NSRunLoop로 잠시 Timer걸기  (0) 2012.07.06
MAC App용 이미지 파일 변경앱 'img2icns'  (0) 2012.06.29
MAC App sandboxing 하기  (0) 2012.06.29
iOS앱을 MAC App으로 Porting하기  (0) 2012.06.29
    추천글👇
    • [📷사진이야기] 붉은 호치민의 노을
    ShakeJ
    ShakeJ

    티스토리툴바