Lined Notebook

How to change rootviewcontroller in ios17 or swift 5

by 사슴비행기

어느 순간부터

Windows' was deprecated in iOS 15.0: Use UIWindowScene windows on a relevant window scene instead

이런 문구가 뜨기 시작했다.

rootViewController를 바꾸는 여러가지 방법을 알려주는 글이 있었지만,

모두 window가 nil로 뜨면서 되지 않았다.

해결법은 간단했다.

아래 글대로 했더니 되었다.

 

https://forums.developer.apple.com/forums/thread/682621

 

'windows' was deprecated in iOS 15… | Apple Developer Forums

That depends on where you are calling this code from. This is just grabbing the first key window that is found in the whole application, which might not belong to the window scene the view hierarchy belongs to that you are dealing with. If you have a view,

forums.developer.apple.com

 

내 코드의 경우,

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        let storyboard = UIStoryboard(name: "Splash", bundle: nil)
        let vc = storyboard.instantiateViewController(withIdentifier: "MainVC")

        DispatchQueue.main.async {
            self.view.window?.rootViewController = vc
        }
    }

 

이렇게하니 해결~!

혹시 헤매는 분들이 있다면 도움이 되길 바랍니다~!

블로그의 정보

Beautiful Coding

사슴비행기

활동하기