지츄로그

[iOS] Xcode에서 스토리보드 없이 개발하기 본문

iOS 개발자가 되어보자

[iOS] Xcode에서 스토리보드 없이 개발하기

킹지츄 2021. 8. 19. 15:06

Xcode에서 스토리보드 없이 개발하는 방법에 대해서 정리해보겠다.

원래는 스토리보드를 자주 사용했었는데, 지난달부터 코드베이스로 개발하는 것에 입문했다.

스토리보드 없이 코드로 개발하는 환경을 세팅하는 방법에 대해서 정리해보겠다.


1. 우선 프로젝트 파일을 생성한다.

2. 프로젝트 파일을 클릭한 후 TARGETS 를 선택하고 Main Interface 부분에 적혀있는 스토리보드 명을 삭제한다.

3. Info.plist로 이동해 Application Scene Manifest 를 끝까지 열어서 Storyboard Name을 찾고, 그 열을 삭제해준다( -버튼을 눌러서 삭제할 수 있고, backspace 버튼을 눌러서 삭제할 수도 있다.)

4. SceneDelegate.swift 파일로 이동해, SceneDelegate 클래스의 scene(_:, willConnectTo:, options:) 메서드에 다음과 같이 적어주면 된다. 주석으로 처리된 부분을 삭제하고, 코드를 적어준다.

// SceneDelegate.swift
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
  guard let windowScene = (scene as? UIWindowScene) else { return }
  window = UIWindow(windowScene: windowScene)
  window?.rootViewController = ViewController() // RootViewController를 ViewController에 연결
  window?.makeKeyAndVisible()
}

window?.rootViewController 에 원하는 ViewController을 연결해주면 된다.(NavigationViewController, TabbarController 등)

 

SceneDelegate는 Xcode11 이후부터 추가된 기본 iOS 탬플릿이다. AppDelegate 가 맡고있던 역할 중 UI LifeCycle에 관련된 부분을 SceneDelegate가 맡아서 하고 있는 것이다. 

 

이렇게 하면 스토리보드 없이 코드로만 iOS개발이 가능해진다!

Comments