반응형
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

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ShakeJ

MNWorld

옛글/아이폰 프로그래밍

iOS앱을 MAC App으로 Porting하기

2012. 6. 29. 16:50
반응형

iOS 와 Cocoa는 유사하지만 생각보다 다른 점이 많다. 


iOS는 UIKit 을, 맥은 AppKit을. 그리고 

iOS는 Touch를 (- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event), 맥은 Mouse를 
- 여기서 좀 더 설명하자면 위의 ccTouch 대신 ccMouse를 사용하기에 바꾸어주어야 한다. 
ccMouseDown, Up, RightMoved 등등 그런 후에 원소스든 아니든 간에 클래스 init 시에 self.MouseEnabled를 꼭 Yes로 해주어야 마우스가 사용가능하다. 맥에서는 Touch 는 트랙패드를 의미한다. 


iOS는 UI, 맥은 NS를 
- 대부분의 프레임워크들의 이름들은 UI를 NS로 바꾸면 작동하지만, 모든 프레임워크 안에 메서드들까진 같지 않다. 
주로 UIGraphics 등 그래픽 관련 메서드들은 여러가지로 내부 메서드들이 다름. 


iOS와 COCOA는 

#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED


#elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED)


#endif

전처리문으로 처리해야 함. 


전체가 UIKit으로 제작되어 있다면, 포팅하는데는 생각보다 꽤 긴시간이 걸릴 듯 하다. 다른 프레임워크에서 구동되고, 그 프레임워크가 iOS와 MAC 둘다 지원하는 멀티 프레임워크라면 그나마 수월한 듯 하다. 


 + 원소스로 맥과 iOS를 지원하려고 한다면, 위와 같이 전처러문을 참고하며, 타겟을 제작해서 타겟별로 구현을 해야 함. 
프로젝트에 Target을 MAC용으로 제작하고 구동할 때에는 왼쪽 상단에서 iOS 인지 MAC인지 타겟을, 그리고 프로젝트의 Base SDK 를 따로 설정을 해주어야 정상적으로 구동이 됨. AppDelegate등 아예 다르게 구현을 한다면 MAC타겟 폴더안에서 클래스를 구현해야 함. 

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

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

MAC App용 이미지 파일 변경앱 'img2icns'  (0) 2012.06.29
MAC App sandboxing 하기  (0) 2012.06.29
child already added. It can't be added again COCOS2D CCNode에러  (0) 2012.06.29
XCode iOS MAC 구별하는 전처리문  (0) 2012.06.26
Cocos 2D for iPhone 개념잡기  (0) 2012.06.19
    추천글👇
    • [📷사진이야기] 붉은 호치민의 노을
    ShakeJ
    ShakeJ

    티스토리툴바