2011-01-28 5 views
2

새 질문입니다. 우리는 기존의 iPhone/iPad 응용 프로그램을 가지고 있습니다. 이 앱을 Mac App Store에서 사용할 수있게하려면 어떻게해야합니까? 프로젝트를 분기하고 Mac 코드를 개별적으로 개발하거나 기존 프로젝트를 모든 장치 용으로 구성 할 수 있습니까 (현재 iPhone 및 iPad 용).iphone 앱을 Mac App Store에서 쉽게 사용할 수 있습니까?

귀하의 도움과 의견을 보내 주시면 감사하겠습니다.

+0

@BoltClock 희망이 도움 수있는 그 대답의 모듈로 프로젝트를 확인하고에 자리. – Lazarus

+0

@Lazarus : 완료 : – BoltClock

+0

개발자는 Mac에 앱을 * 포트 *하지 마십시오. Mac은 iPhone과 완전히 다른 점이 많으며 단순히 응용 프로그램을 포팅하면 끔찍한 디자인 측면이 생깁니다. –

답변

1

iOS와 Mac OS는 서로 다르며 쉽게 혼합 할 수 없습니다. 그러나 Mac OS 응용 프로그램을 대상으로하는 새로운 프로젝트 내에서 iOS 응용 프로그램에 필요한 코드를 공유 할 수 있습니다. 그래서 당신이해야 할 일은 대부분 행정 (다른 프로젝트)과 UI 기반이라고 생각합니다.

UI 요소 (XIB)를 만들 때 프로젝트간에 공유 할 수 없으므로 로컬 프로젝트의 디렉터리 구조에 있어야합니다.

행운을 빌어 요!

+0

이것은 꽤 많이 요약합니다. 외부 클래스에서 네트워킹/수학/논리를 수행하십시오. UI 컨트롤러의 유일한 요소는 ... UI 항목 ... –

4

글쎄, 가장 중요한 것은 iOS와 Mac OS X의 인터페이스 패러다임이 크게 다르다는 것입니다. 앱을 포팅하려면 분기 코드를 조정하고 Mac 용으로 동일한 앱을 컴파일하는 것 이상의 것이 될 것입니다.

Mac 및 iOS 앱은 동일한 구현 코드이므로 동일한 구현 코드를 공유 할 수 있습니다! 그러나 Mac 사용자와 모바일 사용자에게 앱을 제공하는 방식이 달라집니다. 예를 들어, Mac OS X은 사이드 바, 대화 상자, 패널, 창 (말장난 없음) 및 클릭 수를 고려하고 iOS는 시트, 뷰 및 터치로 생각합니다.

나는이 다른 답변보다 더 많은 이론적 실현하지만, UIKit, 맥 OS X의 GUI는 AppKit의이 사용합니다 사용 당신이 아이폰에 :

1

GUI를 생각 얻기 위해 단지 약간의 조언이다. 그들은 공통점이 있지만 NSData, NSString 등을 포함하는 Foundation이 있습니다.

맥 앱 스토어에서 재사용 할 수있는 유일한 코드는 기초 "하위 레벨"코드입니다. UIKit은 Mac OS X에서 실행되지 않습니다.

+0

"... UIKit은 Mac OS X에서 실행되지 않습니다."이 사실인가요? http://www.apple.com/macosx/whats-new/full-screen.html 및 http://www.apple.com/macosx/whats-new/app-store.html –

+0

@ gigiwatts 사자에서 아이폰 앱처럼 보이는 것은 UIKit을 의미하지 않습니다. Apple은 Mac 용 AppKit과 iPhone 용 UIKit을 개발하고 있습니다. 동시에 두 플랫폼을 위해 추상화 레이어가 필요한 경우 –

1

제 생각에 별도의 xCode 프로젝트가 필요합니다. 하나의 프로젝트에서이 모든 작업을 수행 할 수는 있지만 대상 플랫폼을 전환하려는 경우 설정을 구성하는 것이 어려울 수 있습니다.

공통 코드에 대한 공유 라이브러리를 만들 수 있습니다.

이 링크가 유용 할 것입니다. 프로젝트를 준비하려면

행복을 빌며, xj1200

http://t-machine.org/index.php/2009/02/26/using-shared-libraries-for-iphone-with-multiple-projects/

http://blog.stormyprods.com/2008/11/using-static-libraries-with-iphone-sdk.html

http://www.clintharris.net/2009/iphone-app-shared-libraries/

2

맥 OS X에 이식 할 :

  1. 당신이해야 SEPA GUI 객체의 데이터 객체를 가능한 한 많이 평가하여 MVC 디자인 패턴을 따르십시오.이 패턴은 Mac OS X에서도 마찬가지입니다. 이렇게하면 가능한 한 많은 코드를 재사용 할 수 있습니다.
  2. 각 프로젝트에는 Mac OS X 용 대상과 iOS 용 대상이 있어야합니다.
  3. GUI가 다르므로 GUI 만 데이터를 표시하고 유지하지 않는 방식으로 응용 프로그램을 계획해야합니다. 대리자, 프로토콜, 알림 등을 사용하여 개체간에 데이터를 전달합니다.
  4. 내가 등을 게시 할 것입니다, 당신은

그것이

+0

To 약간 추가 : 컨트롤러와 모델을 직접 재구성 할 수 있지만 뷰를 다시 작성할 수 있어야합니다. 제대로 통합 된 UI가 C 또는 C++에서 컨트롤러 및/또는 모델을 가지기를 원하는 Objective-C의보기 만있는 교차 플랫폼의 경우는 드문 일이 아닙니다. – Tommy

관련 문제