-
[iOS] 'UIScene' is only available in iOS 13.0 or neweriOS/에러 관련 2020. 2. 10. 18:18
'UIScene' is only available in iOS 13.0 or newer
Xcode 11 에서 새 프로젝트를 만들면 iOS13 의 배포 대상 프로젝트로 설정됩니다.
Xcode 11 에서 13 이하버전을 지원하기 위해서는 내용을 약간 추가해주어야 합니다.
Xcode11 에서 프로젝트를 생성하고 target을 13보다 낮게 잡으면 위에 그림처럼 에러가 나타납니다.
저는 11버전으로 선택하고 running 했었습니다. 13 미만은 다 나타나는것 같습니다.
어떻게 하면 13 미만 버전도 구동시킬 수 있을지 확인해보겠습니다.
1. SceneDelegate.swift 은 iOS 13 이상의 버전 이므로 이 전체 클래스에 available 속성을 추가해야합니다.
class 위에 @available(iOS 13.0, *) 을 추가해줍니다.
2. AppDelegate.swift 에서 두 개의 메서드에 available 속성을 추가해줍니다.
// MARK: UISceneSession Lifecycle
@available(iOS 13.0, *)
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
...
}
@available(iOS 13.0, *)
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
...
}위치가 헷갈릴수 있습니다. 잘 확인하시고 해당 메서드 위에 @available(iOS 13.0, *) 을 추가해줍니다.
그리고 property 값으로 var window: UIWindow? 를 추가해주면 끝입니다.
여기까지 하신 다음에 다시 빌드 해보시면 잘 실행되실겁니다.
'iOS > 에러 관련' 카테고리의 다른 글