본문 바로가기

iOS/Xcode

Xcode) Target 13.0 미만 설정 시 발생하는 에러

 

안녕하세요. 소들입니다 🥶

 

오늘 주제는 iOS 13 -> iOS 11로 Target을 변경했을 때 

나타나는 에러들을 수정하는 방법을 알려드릴 거예요.

 

 

고고씽 :)

 

 

 

.

.

.

 

 

XCode에서 최신 프로젝트를 만들면

 

 

 

요롷게 

Target이 가장 최신 버전으로 설정이 됨

 

근데 개인 프로젝트면 몰라도

실제 서비스 할 앱이라면 저렇게 최신 버전부터 지원하는 경우는

절대는 아니지만 거의 거의 없음

 

우리가 달고 사는 카카오톡만 봐도

최소 버전이 11.0 이상부터임

 

그래서 Target 버전을

 

 

 

 

낮추면

 

 

 

 

 

🅾️ 'ConnectionOptions' is only available in iOS 13.0 or newer

🅾️ 'UIScene' is only available in iOS 13.0 or newe

🅾️ 'UISceneConfiguration' is only available in iOS 13.0 or newer

.

.

 

 

등등

에러가 작렬함..

무려 15개나.... 흑흑

 

 

참고로 이 에러는

 

Target을 iOS 13.0 미만으로(iOS 8.0~12.4) 설정했을 시 나타남

 

왜냐면 iOS 13.0부터 지원하는 기본 메서드들이 몇 개 생겼기 때문

따라서 저 에러들을 다 없애주기 위해선

 

다음과 같은 작업이 필요함!!

되게 간단한 작업이라서, 처음에는 모르니까 보고 한다지만 그 뒤로는 기억 해두셈!!

 

 

 

 

1. SceneDelegate.swift 수정

 

SceneDelegate 이 파일은 Xcode 11에서부터 등장 했는데

문제는 이 파일에 있는 모든 메서드는  iOS 13.0 이상부터 지원함

 

 

@available (iOS 13.0*)

 

 

따라서 모든 함수에 위 코드를 추가하는 작업이 필요함

 

 

 

 

위처럼 해주시면 됨!!!

 

참고로

SceneDelegate를 아예 지워버리는 방법도 있는데

애플이 괜히 만들어놓은 건 아닐거란 말이지..? 

추후 호환성을 위해 살려는 드리셈

 

 

 

 

2 AppDelegate.swift 수정

 

AppDelegate도 두 가지 함수에 @available을 추가해줘야 함

 

 

 

 

 

 

이렇게 추가하면 끝!!!

매우 간단하군?

 

 

 

.

.

.

 

SenceDelegate를 삭제 하려는 방법은 

나중에 포스팅 할라면 하겠음

 

바2바2



Calendar
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
최근 댓글
Visits
Today
Yesterday