iOS 개발 — SwiftUI·모듈화·빌드 최적화
발행SwiftUI 도입과 모듈화, KMP 크로스플랫폼, 스위프트 매크로·App Extension 같은 언어/플랫폼 기법, 앱 사이즈·빌드 최적화, Tuist·DocC까지. iOS 엔지니어링 실전 모음.
- 글
- 12
- 01
리멤버리멤버 iOS의 SwiftUI 도입기 — 허들을 하나씩 넘기며
리멤버 iOS 앱이 UIKit 기반의 레거시 코드와 SwiftUI 신기능 사이에서 점진 이행을 결정해야 했고, 두 프레임워크 공존의 허들이 누적되어 있었다.
- 02
카카오 스타일 (지그재그)1년 동안의 iOS 모듈화 진행기 — 2. Component 모듈
피처 모듈을 독립시키려면 상품 카드 캐러셀·헤더·배너 같은 공통 UI 컴포넌트를 분리해야 했지만, 서버 드리븐 환경에서 어떤 컴포넌트가 있는지 한눈에 볼 카탈로그가 없어 중복 개발과 QA 범위 정의가 어려웠다.
- 03
스포카KMP/CMP 마이그레이션, 정말 프로덕션에서 가능할까? - 키친보드 앱 마이그레이션 도전기
Kotlin Multiplatform (KMP) + Compose Multiplatform (CMP) 이 프로덕션 환경에서 정말 쓸 만한지 의문이 많다.
- 04
- 05
LINE EngineeringAttributedString 구조로 풀어낸 대규모 iOS 설정 시스템
대규모 iOS 설정 화면을 모든 종류의 UI 요소(텍스트 / 스위치 / 링크 / i18n) 와 함께 다루기 어렵다.
- 06
크림 (KREAM)iOS App Extension의 안정성 확보하기
iOS App Extension은 메인 앱 위주 개발로 예외 처리가 미흡하고, 크래시가 발생해도 조용히 기능이 사라져 Crashlytics·Sentry 같은 기존 도구만으로는 감지가 어려웠다.
- 07
더스윙스윙 iOS에서 더 개선된 애니메이션 시스템 만들기
UIView.animate·UIViewPropertyAnimator 사용 시 CATransaction 잔존·레이아웃 연쇄 반응·타이밍 충돌·비애니메이션 속성 한계·취소 어려움 등 5가지 비의도적 동작 발생
- 08
- 09
29CMSwiftLint 캐싱을 통한 Incremental Build 최적화하기
모듈화 후 SwiftLint가 증분 빌드 시마다 전체 코드를 반복 검사해 빌드 시간이 15~30초씩 소요됐다.
- 10
다나와다나와 PC견적 Tuist 도입기
2012년부터 운영된 다나와 PC견적 iOS 앱은 ViewController 비대, Objective-C·Storyboard 의존, 팀 확장으로 인한 .xcodeproj 머지 충돌이 누적돼 유지보수 비용이 가파르게 늘었다.
- 11
- 12