본문 바로가기

iOS

iOS12버전 호환되게 만들기

이번에는 제가 앱 개발을 하는 도중에 생긴 문제에 대해서 함께 나눠볼까 해요 


작년에 iOS13으로 업데이트되면서 appdelegate부분이 scenedelegate와 appdelegate로 분리가 되었습니다

xcode11부터는 자동으로 13 버전으로 프로젝트가 생성이 되어서 ios12까지 호환이 되게 만들려면 따로 설정을 해주어야 하죠

 

xcode11에서 프로젝트를 처음 생성하였을 때에는 13.5버전으로 생성이된다
ios12.4도 호환되게 만들어 줘야한다

위의 두 사진은 12버전으로 내렸을 때에 만날 수 있는 버전 차이에 의한 오류들이다

버전에 의한 오류들은 @available을 사용함으로 맞춰주면 되는데 저렇게 해서 버전을 맞추게 된 상태에서 실행을 하면

이런 식으로 화면이 검은색으로 나오는 것을 확인할 수 있습니다

그 이유는 appdelegate.swift 파일에 UIWindow타입의 window 프로퍼티가 없어서 발생한 오류로 볼 수 있으며

그래서 아래의 사진과 같이 AppDelegate 클래스에다가

var window : UIWindow?

 

위의 코드를 사진처럼 작성하여 주면

위의 사진과 같이 다시 정상적으로 작동하는 것을 볼 수 있습니다


이렇게 하는 방식이 완전히 괜찮은 방법인지는 정확하게는 모르겠습니다만....

더 정확한 방법이 있다면 알려주시면 감사하겠습니다!!

 

'iOS' 카테고리의 다른 글

Swift - UIStackView  (0) 2020.08.03
SwiftUI - some 키워드에 대한 정리  (0) 2020.06.25
Swift - 달의 첫날과 마지막날 알아내기  (0) 2020.06.20