Creating a Mac Version of Your iPad App

Panther·2021년 7월 28일
0

https://developer.apple.com/documentation/uikit/mac_catalyst/creating_a_mac_version_of_your_ipad_app

"Bring your iPad app to macOS with Mac Catalyst."

맥 Catalyst를 사용해 아이패드 앱을 macOS로 가져옵니다.

Overview

Xcode 11과 그 이후 버전에서 맥 Catalyst를 사용해 아이패드 앱의 맥 버전을 생성할 수 있습니다. 맥을 위한 앱 설정은 앱이 사용하는 기능과 프레임워크에 따라 더 많은 단계가 필요할지라도 우선 체크박스를 클릭하는 것만을 요구합니다.

Note
아이패드 앱의 맥 버전을 설계하는 것에 대한 더 많은 정보는 Human Interface Guidelines에 있는 Mac Catalyst를 살펴보시기 바랍니다.

Mac Catalyst in the Human Interface Guidelines
https://developer.apple.com/design/human-interface-guidelines/mac-catalyst/overview/introduction/

Configure Your App for Mac

맥에 대한 지원을 추가하려면 Xcode 프로젝트를 열고 설정하길 원하는 iOS 목표를 선택해야 합니다. 일반 탭에서 Deployment Info 아래에 있는 맥 체크박스를 선택합니다. (만약 앱이 아이폰만을 지원한다면 체크박스는 선택이 불가능하도록 비활성화되어 있습니다.)

맥 지원을 가능하게 하면 Xcode는 프로젝트에 App Sandbox Entitlement를 추가합니다. Xcode는 앱의 맥 버전에서만 이 entitlement를 포함할 수 있으며, iOS 버전은 포함할 수 없습니다. 또한, Xcode는 목적지(destination)의 리스트에 My Mac을 추가합니다. Xcode로부터 맥을 실행하기 위해 이 목적지를 선택하시기 바랍니다.

이 시점에 앱의 맥 버전을 빌드하거나 실행할 수 있을 것입니다. 시도하려면 My Mac을 목적지로써 선택하고 프로젝트를 실행합니다.

Go Beyond the Checkbox

앱의 맥 버전이 빌드되지 않을 수도 있습니다. 그 이유는 아래와 같습니다.

  • 프로젝트가 호환되지 않는 프레임워크, 라이브러리, 컨텐트를 포함하고 있는 경우입니다.
  • 소스 코드가 지원되지 않는 API를 참조하고 있는 경우입니다.

맥 지원이 가능하도록 하는 경우 Xcode는 자동으로 호환되지 않는 프레임워크를 배제하고 프로젝트의 맥 빌드가 가능한 곳에 컨텐트를 넣습니다. 여전히 수동으로 다른 프레임워크나 컨텐트를 제외시켜야 할 필요가 있을 수 있습니다.

수동으로 아이템을 제외시키려면 iOS 목표에 대한 일반 탭 아래에 프레임워크, 라이브러리, Embedded Content를 열어야 합니다. 이후 아이템 설정을 위한 플랫폼으로써 iOs를 선택합니다. 이 설정은 앱의 맥 버전으로부터 아이템을 제외시킵니다.

만약 소스 코드가 앱의 맥 버전에서 사용이 불가능한 API를 참조하고 있다면, targetEnvironment(): 플랫폼 조건을 사용하는 컴파일 조건 블록(compilation conditional block)에 코드를 묶어야 합니다.

#if !targetEnvironment(macCatalyst)
// Code to exclude from Mac.
#endif

macOS에서만 사용할 수 있는 프레임워크와 코드를 포함하는 경우에도 앞서 설명한 같은 접근방식을 사용할 수 있습니다. 프레임워크의 경우 플랫폼 설정으로 macOS를 선택하고, 코드를 #if targetEnvironment(macCatalyst) 구문과 함께 묶어야 합니다.

Make Your App More Like a Mac App

이 단계를 수행한 이후 맥에서 아이패드 앱이 실행될 수 있도록 해야 합니다. 새로운 앱을 고객에게 전달하기 전에 더욱 맥 앱처럼 만들기 위한 몇 가지 변경사항이 필요합니다. 이에 대해서 알아보려면 Optimizing Your iPad App for Mac을 살펴보시기 바랍니다.

Optimizing Your iPad App for Mac
https://developer.apple.com/documentation/uikit/mac_catalyst/optimizing_your_ipad_app_for_mac
https://velog.io/@panther222128/Optimizing-Your-iPad-App-for-Mac

0개의 댓글