이번에 iOS 13 이상으로 올라가면서 SceneDelegate
가 추가되었다. 기존에는 AppDelegate
에만 작업해주면 됐는데… Storyboard나 Xib는 너무 무겁고 협업하기에도 매우 불편하다. 이 포스트에서는 iOS 13이상에서 Storyboard를 제거하는 작업을 할 예정이다.
일단 프로젝트를 생성하고 Info.plist
에서 아래의 항목을 지운다.
Storyboard Name
항목을 지우면 된다.
그 다음 SceneDelegate.swift
의 파일을 아래와 같이 편집해주자
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let scene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: scene)
let vc = ViewController()
window?.rootViewController = vc
window?.makeKeyAndVisible()
}
이제 실행해보면 잘 된다. 근데 아직 프로젝트에 Main.storyboard
가 남아있다. 이것도 지워보자.
??? 지우고 실행했는데 오류가 난다. 오류 내용을 확인해보니 Bundle
에서 Main.storyboard
를 찾을 수 없다고 한다..
프로젝트를 선택하고 General -> Deployment info 에서 Main Interface
를 공백으로 남겨주자
이제 잘된다 ㅎㅎ