Skip to content

iOS 기술 스택 개요

기본 환경

항목버전/사양
언어Swift 5.9+
UI 프레임워크SwiftUI
최소 지원 버전iOS 17.2+
대상 디바이스iPhone
패키지 관리SPM (Swift Package Manager)
프로젝트 생성Tuist (.mise.toml로 버전 관리)
빌드 도구Xcode + Makefile

주요 의존성

라이브러리용도버전
Swinject의존성 주입 (DI)2.9+
Moya / Alamofire네트워크 추상화 레이어15.0+
Firebase (Analytics, Crashlytics, Messaging)분석, 크래시 리포트, 푸시 알림11.0+
SendbirdChatSDK실시간 채팅4.0+
Kingfisher이미지 로딩/캐싱8.3+
Lottie애니메이션4.3+
RevenueCat인앱 결제/구독 관리5.32+
Kakao SDK (Common, Share, Template)카카오 공유 기능2.24+
Branch SDK딥링크/어트리뷰션2.1+
Google Places장소 검색9.4+
Localize-Swift다국어 지원 (en, ko, ja)3.2+
PhoneNumberKit전화번호 형식 처리4.1+
Pulse / PulseUI네트워크 디버깅5.1+
Segment Analytics사용자 행동 분석1.7+
QRCodeQR 코드 생성27.11+

아키텍처 접근 방식

truloop iOS는 Clean Architecture + MVVM 패턴을 채택하고 있으며, Tuist 기반 멀티 모듈 구조로 구성되어 있습니다.

App (Presentation) --> Features --> Domain --> Repository --> Networking
  • 단방향 의존성: 상위 레이어에서 하위 레이어로만 의존
  • Protocol 기반 추상화: Domain 레이어에서 Repository 인터페이스를 정의하고, Repository 레이어에서 구현
  • Swinject Assembly 패턴: 각 모듈별 Assembly를 통한 의존성 등록/해결
  • Builder 패턴: Feature 모듈 내 화면 생성 시 Builder를 통한 의존성 주입

정보

Tuist를 사용하여 프로젝트를 생성하므로, .xcodeproj 파일은 직접 수정하지 않고 Project.swift를 통해 관리합니다.

관련 문서

변경 이력

날짜변경 내용
2026-03-10Tuist 버전 표기를 .mise.toml 기반 관리로 수정