본문 바로가기

IOS

iOS UIKit 스토리 보드 없는 프로젝트 생성 (setup root programmingly)

 

1. 프로젝트 네비게이터(Xcode 좌측 메뉴바, 단축키 : cmd + 1) 에서 main.storyboard 파일 제거

2. 해당 타겟의 build settings에서 info.plist Values에서 UIKit Main Storyboard File Base Name 제거(키-값 모두 제거)

 

3. 프로젝트 네비게이터의 info.plist에서 Storyboard Name 키-값 모두 제거

 

위 상태에서 실행 시 

Bundle에서 Main의 이름을 가진 스토리 보드를 찾을 수 없다는 에러 반환.

 

4. Scene delegate에 root viewcontroller 설정을 위한 코드 추가.

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 window = UIWindow(windowScene: windowScene)
        let vc = ViewController()
        window.rootViewController = vc
        self.window = window
        
        window.makeKeyAndVisible()
    }
}