Swift

Swift_ Iphone , Ipad 스토리보드 구분

JunsC 2024. 8. 2. 18:44
728x90

기기별 화면 대응을 위해서 스토리보드를 나눌 필요성을 느꼈다.

iPhone , iPad 이렇게 일반적으로 2개 나뉠 생각으로 스토리보드 UI 를 구분짓기 위해 구글링했다. 

 

이렇게 info.plist 설정을 다양하게 적용해보았다.

 

결과는 !!!!!

 

안됐다.... 실패... 왜 안되지 ???

 

이상하다.. 분명 구글링에서 나온대로 잘 했는데 뭔가 적용이 안됐나 싶어서 삭제 후 재설치를 반복적으로 했으나 안됐다.

 

흠....

 

 

이렇게 스토리보드를 나누었는데 

 

네이밍 문제인가... 

 

chatGPT 찬스를 써야겠다...

 

하지만 역시.. 구글링에서 얻은 똑같은 과정을 알려주었다.

 

하지만 마지막에 다른건 SceneDelegate 에서의 처리법을 알려주었다.

 

import UIKit

class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = (scene as? UIWindowScene) else { return }
        
        let storyboardName: String
        if UIDevice.current.userInterfaceIdiom == .pad {
            storyboardName = "Main_iPad"
        } else {
            storyboardName = "Main"
        }
        
        let storyboard = UIStoryboard(name: storyboardName, bundle: nil)
        window = UIWindow(windowScene: windowScene)
        window?.rootViewController = storyboard.instantiateInitialViewController()
        window?.makeKeyAndVisible()
    }
}

 

이렇게 설정한 후 해보았더니... 

 

짜라란 !!! 

되었다 !!!

 

이렇게 해야하는구나...