
iOS : 아이폰을 움직이게 해주는 뇌
그냥 우리가 폰을 켜고 앱을 누르고 화면을 터치하는 걸 가능하게 해주는 기본 시스템
아이패드 - iPadOS
컴퓨터(Mac) - macOS
앱을 만들기 위해선 도구가 필요함
= 프로그래밍 언어 필요 (Swift)
UIKit
예전부터 쓰이던 방식
스토리보드(Storyboard)로 화면을 눈으로 만들고, 코드로 자세히 조작할 수 있음
자유도가 높고 정교하지만, 복잡해질 수 있음
SwiftUI
코드만으로 화면을 만들 수 있음
복잡하게 정밀하게? 👉 UIKit
빠르게 쉽게? 👉 SwiftUI
👉 iPhone, iPad, Mac용 앱을 만들 때 쓰는 프로그램
Xcode로 할 수 있는 일
앱을 만들기 위해 Swift로 코드를 씀
코드에 오류가 있으면 어디가 잘못됐는지 찾아줌 (디버깅)
앱이 잘 작동할까? → 직접 실행해보고 테스트 가능
진짜 아이폰 없이도 가상 아이폰(시뮬레이터)으로 실험 가능
앱이 완성되면? 👉 바로 Xcode에서 앱스토어에 업로드 가능
즉, 앱 개발 시작부터 출시까지 Xcode 하나로 끝
[iOS 개발의 기본 프로세스 (기획 → 개발 → 테스트 → 배포)]
1. Storyboard
마우스로 UI를 그리듯 만들 수 있는 방식
장점
- 빠르고 직관적 – 드래그앤드롭으로 화면을 만들 수 있어서 처음 하는 사람도 쉽게 사용 가능
- 화면을 눈으로 바로 볼 수 있음 – 디자인하면서 바로바로 결과 확인 가능
- 화면 간 이동도 간편 – 버튼 눌렀을 때 다른 화면으로 넘어가게 하는 것도 간단하게 설정 가능
단점
- 프로젝트 커지면 관리가 어려워짐 – 여러 명이 같이 작업할 땐 충돌 문제 발생 가능
- Xcode가 느려질 수 있음 – 화면이 많아지면 무거워져서 속도 저하
- Git에서 충돌이 잘 남 – 그래픽 기반 파일이라 수정이 어렵고 복잡함
2. 코드 UI (코드로 직접 화면 구성)
Swift 코드로 화면 하나하나를 직접 짜는 방식
장점
- 협업에 강함 – 코드가 정리돼서 Git 충돌 거의 없음
- 재사용하기 쉬움 – 반복되는 UI를 한 번 만들어 여러 번 사용 가능
- 가볍고 빠름 – 스토리보드 로딩이 없어서 성능이 더 좋음
단점
- 처음엔 어렵게 느껴짐 – 화면을 만들기 위해 코드를 알아야 하니까 진입 장벽 있음
- UI 수정이 불편할 수 있음 – 단순한 글자 수정도 코드를 일일이 고쳐야 함
- 눈으로 바로 확인 못 함 – 코드를 실행하기 전엔 어떻게 나올지 모름
언제 어떤 걸 써야 할까?
| 상황 | 추천 방식 |
|---|---|
| 처음 입문할 때 / 간단한 앱 | Storyboard |
| UI를 빠르게 그려보고 싶을 때 | Storyboard |
| 팀 프로젝트 / 큰 앱 / 성능 중요 | 코드 UI |
| 반복적 UI, 재사용성 높은 구조 필요 | 코드 UI |

앱이 꺼진 상태
→ 아무것도 안 하고 있는 상태 (Not Running)
앱이 켜짐
→ 아이콘 누르면 앱 실행 (Launch)
앱이 준비됨
→ 켜졌지만 아직 눌러도 반응은 안 함 (Inactive)
앱이 완전히 켜짐
→ 버튼도 누르고 쓸 수 있음 (Active)
다른 앱 켜거나 홈으로 나감
→ 백그라운드로 가서 잠깐 쉼 (Background)
잠깐 멈춰 있음
→ 완전 쉬는 중, 실행 안 됨 (Suspended)
iOS를 하기 위해 알아야 하는 기본적 정보들을 다시 한 번 상기시킬 수 있었던 좋은 시간 !!!!