아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
카카오스타일 favicon카카오스타일

iOS 모듈화 1년 회고: 지그재그 앱 개발팀의 모듈화 여정

by DD
2025-02-10
1년 전
조회수 15

iOS 모듈화 과정에서 모델/레포지토리 분리 시 의존성 문제 발생

네이밍 규칙 미준수로 인해 런타임 크래시 발생, xib 파일 관리의 중요성 강조

앱 실행 시간 증가 문제 해결을 위해 Static Framework 전환 시도

모듈 분리: Core, UI, Features 레이어 설계

지그재그 앱은 Core, UI, Features 3가지 레이어로 모듈을 구성했다. 구체적으로 Core 레이어는 공통 로직, 모델, 레포지토리를 담당한다. 따라서 UI 레이어는 재사용 가능한 UI 컴포넌트를 포함하며, Features 레이어는 기능 단위의 독립적인 모듈로 구성된다.

네이밍 규칙 부재로 인한 문제점

모듈 네이밍 규칙 미준수로 인해 xib 파일에서 런타임 크래시가 발생했다. 반면 모듈 이름 변경 시 xib 파일 내 속성 변경을 간과하여, 앱 실행 시 모듈을 찾을 수 없는 오류가 발생했다. 따라서, 모듈화 초기 단계에서 네이밍 규칙 정의의 중요성을 강조한다.

앱 실행 시간 최적화 전략

모듈화 초기, Dynamic Framework 사용으로 앱 실행 시간이 증가했다. 구체적으로 Core Layer 모듈을 Static으로 변경하거나, CocoaPod을 SPM으로 전환하는 방안을 모색 중이다. 따라서, 앱 실행 시간 단축을 위해 지속적인 개선 노력이 필요하다.

1년동안의 iOS 모듈화 진행기
중급
아키텍처
Swift
iOS
Mobile
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

Flutter로 iOS 게임 'Midsommer Madness' 출시!

데브투 로고

맥도날드, iOS Live Activities로 대기 시간 '순삭'

맥도날드 로고

LINE iOS, AttributedString으로 설정 시스템 대규모 리팩터링 성공!

라인 로고

Imajourn iOS 앱 출시!

프로덕트 헌트 로고

올리브영 iOS 개발자가 말하는 개발자 모드 구축 비법!

올리브영 로고

iOS 탈옥, 앱 보안의 그림자를 파헤치다!

NHN클라우드 로고
카카오스타일 favicon카카오스타일
중급
아키텍처
Swift
iOS
Mobile

관련 추천 글

Flutter로 iOS 게임 'Midsommer Madness' 출시!

데브투 로고

맥도날드, iOS Live Activities로 대기 시간 '순삭'

맥도날드 로고

LINE iOS, AttributedString으로 설정 시스템 대규모 리팩터링 성공!

라인 로고