[WWDC2019] macOS Mojave에서 Xcode 11 Playground로 SwiftUI 보기

WWDC 2019에서 발표한 SwiftUI를 사용해보기 위해서는 Xcode 11이 필요하고 macOS Catalina가 아니면 SwiftUI의 Canvas를 사용할 수가 없다. Canvas가 없으면 코드로 UIView를 한 땀 한 땀 만들때 처럼 매번 빌드해서 확인하는 수 밖에 없다. 😭…

그래서 비슷하게나마 해볼수 있는게 플레이그라운드의 liveView를 사용해서 뷰를 확인하면서 사용해보는 방법이 있다.

SwiftUI의 View를 liveView로 보기위해서는 UIHostingController를 사용하면 된다.

import UIKit
import PlaygroundSupport
import SwiftUI

struct ContentView: View {
    
    var body: some View {
        NavigationView {
            Group {
                Section {
                    List(0..<10) { item in
                        Text("\(item + 1)").font(.title).color(.green)
                    }.navigationBarTitle(Text("Title"))
                }
            }
        }
    }
}

PlaygroundPage.current.liveView = UIHostingController(rootView: ContentView())

PlaygounrdSupport와 SwiftUI를 Import하고 View를 만든 다음 UIHostingController로 감싸서 PlaygroundPage의 liveView에 넣어주면 끝이다.

이렇게 뷰를 확인하면서 작성을 할 수 있지만 macOS Catalina 환경에서 SwiftUI의 Preview 모드를 사용하는 것과는 완전히 다르다. 될 수 있으면 APFS의 볼륨을 추가해서 macOS Catalina를 설치하고 듀얼로 사용하던지 여분의 맥을 준비해서 사용하는게 정신건강에 이롭다.

Published by 진재명

iOS 개발자