누군가에게 알려주기 보다는 나 스스로 정리 하며 언젠가 다시 사용할 때를 대비하는 글을 작성할것이다.
코드를 작성하다 만나게 되는 Deprecated된 요소들을 앞으로 어떻게 사용해야 할 지 알아보는 게시글이 될 것이다.
Deprecated
- 중요도가 떨어져 더 이상 사용하지 않거나 아직은 사용하지만 새로운 기능의 존재로 사라지게 될 기능
Property: keyWindow
var keyWindow: UIWindow? { get }
UIApplication.shared.keyWindow?.rootViewController = vc
iOS 13.0 이상에서는 이렇게 사용했다.
UIApplication.shared.windows.first?.rootViewController = vc
하지만 windows
가 15.0 부터 Deprecated 되기에 해당 부분을 다음과 같은 방법으로 변경해야 한다.
(해당 방법에 대해서는 view에서 접근하는거 말고 UIApplication 으로 접근하는 방법을 알게 되면 해당 부분에 대해서 수정 작업이 진행될 것이다.)
view.window?.rootViewController = vc
if #available(iOS 15.0, *) {
view.window?.rootViewController = vc
} else if #available(iOS 13.0, *){
UIApplication.shared.windows.first?.rootViewController = vc
} else {
UIApplication.shared.keyWindow?.rootViewController = vc
}
당연 틀린 부분 지적은 감사하나 비난은 정중하게 사양하겠다.