xcode11 에서 iOS13 미만의 타겟을 빌드하는 방법

2019-10-25
Swift

안녕하세요. 도미닉입니다.

오늘은 Xcode 11 에서 iOS 13 미만 버전의 프로젝트를 빌드하는 방법에 대해서 알아보겠습니다.

xcode 11 에서 프로젝트를 생성하면 자동으로 target 이 iOS 13 으로 정해집니다.

iOS 13 에서 추가된 SceneDelegate.swift 가 자동으로 생성되고 이전 버전과 다른 AppDelegate.swift 가 생성됩니다.

이러한 상황에서 target 을 iOS 13 버전 미만으로 설정하고 빌드했을 때 오류들이 나오는 문제가 발생합니다.

이럴 때 오류를 해결하고 정상적으로 빌드할 수 있는 방법을 공유합니다.

오류 해결 방법

  1. SceneDelegate.swift 수정

11번째 줄 class SceneDelegate: UIResponder, UIWindowSceneDelegate 위에 아래 소스를 추가합니다.

1
@available(iOS 13.0, *)

수정한 소스

  1. AppDelegate.swift 수정

func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: … 메소드와 func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: … 메소드 선언 위에 아래 소스를 추가합니다.

1
@available(iOS 13.0, *)

수정한 소스

아래 프로퍼티도 추가합니다.

1
var window: UIWindow?

정리

오류를 해결하고 iOS 13 버전 미만을 xcode 11 에서 빌드하는 방법을 알아봤습니다.

읽어주셔서 감사합니다.

참고 : https://sarunw.com/tips/create-new-ios12-project-in-xcode11/