
TIL 21일 차 - 스토리보드 -> 코드베이스로 환경설정하기
코드베이스(Code-based)란?
스토리보드(XIB) 같은 인터페이스 빌더를 사용하지 않고, 코드로만 화면(UI)을 구성하는 방식
실무에서 코드베이스를 선호하는 이유!
1. Git 협업이 편함
- 머지 충돌 적음
2. 유지 보수가 쉬움
3. 재사용/구조화가 쉬움
- 모듈화
1. 스토리 보드 삭제

내비게이터 영역의 storyboard 파일을 Delete 하고 Move to Trash 한다.
2. info.plist에서 스토리보드 연결 끊기

네비게이터 영역의 Info.plist 선택하고 (Command+F)로 main 검색 후 [Key: Storyboard Name, Value: Main] 선택 후 백스페이스 눌러 삭제한다.
3. Build Setting에서 Storyboard파일 삭제


프로젝트 파일에서 Target 선택 -> Build Setting -> main 검색(Command + F) -> UIKit Main Storyboard File Base Name 항목 백스페이스 눌러 삭제하기
4. SceneDelegate.swift 수정하기


// SceneDelegate는 '화면(Scene) 하나'의 생명주기를 관리하는 클래스
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
// 앱 화면을 담을 창(Window)
// 이 window에 어떤 ViewController를 보여줄지 정함
var window: UIWindow?
// 화면(Scene)이 처음 생성될 때 호출되는 메서드
func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions)
{
// 전달받은 scene이 실제 화면을 표현하는 UIWindowScene인지 확인
// 아니라면 더 이상 진행이 불가하므로 return
guard let windowScene = (scene as? UIWindowScene) else { return }
// UIWindow 생성
// 이 window가 실제 iPhone 화면이라고 생각하면 됨
let window = UIWindow(windowScene: windowScene)
// 이 window의 첫 화면을 ViewController로 설정
window.rootViewController = ViewController()
// window를 화면에 보이게 해줌
window.makeKeyAndVisible()
// SceneDelegate가 이 window를 계속 가지고 있도록 저장
self.window = window
}
이렇게 SceneDelegate에서 UIWindow를 생성하고 rootViewController를 지정해 앱의 첫 화면을 코드로 설정해 주면 끝이다.
실행 후 컴파일 에러 없이 빌드가 된다면 정상적으로 스토리보드가 삭제되고 코드베이스로 UI를 작성할 수 있게 되었다.
'iOS > UIkit ' 카테고리의 다른 글
| [iOS] To-do 클론 앱 따라하기 (1) (1) | 2026.01.05 |
|---|---|
| [iOS] KPT 회고 (왜_되는지_모름 팀) (0) | 2026.01.05 |
| [iOS] 팀 프로젝트 첫 코드 리뷰 (타입 안정성 개선) (1) | 2026.01.02 |
| [iOS] 팀 소개 앱 프로젝트 개인 페이지 제작기 (0) | 2025.12.30 |
| [iOS] 팀 소개 어플리케이션 프로젝트 (0) | 2025.12.29 |