← 글 목록

notes

IOS - 구조

iOS 앱 구조·프로젝트 구성과 화면·이벤트 흐름 기본 메모.

  • 프로젝트 아키텍처:
  • MVC 패턴 기반 구조
  • 주요 구성요소:
  • ViewControllers: UI 로직 처리
  • Network: API 통신
  • Utils: 유틸리티 클래스들
  • Resources: 리소스 파일들
  • 주요 기능 모듈:
  • 네트워크 통신:
  • HttpClient.swift: Alamofire 기반의 HTTP 통신
  • 이미지 업로드 기능 구현
  • 쿠키 관리 기능
  • 유틸리티:
  • Constants.swift: 앱 전반에서 사용되는 상수 정의
  • LocationService.swift: 위치 서비스
  • PaymentApp.swift: 결제 관련 기능
  • DeviceInfo.swift: 디바이스 정보 관리
  • ProgressIndicator.swift: 로딩 인디케이터
  • UIImage+Resize.swift: 이미지 리사이징 기능
  • UI 구성:
  • Storyboard 기반 UI 구현
  • 주요 화면:
  • Launch Screen.storyboard: 런치 스크린
  • VCLaunch.storyboard: 메인 런치 화면
  • Splash.storyboard: 스플래시 화면
  • WebView 기반 UI (CustomWKWebView)
  • 외부 라이브러리 통합:
  • Firebase (Analytics, Messaging)
  • Alamofire (네트워킹)
  • BSImagePicker (이미지 선택)
  • YoutubePlayer (유튜브 재생)
  • PermissionsKit (권한 관리)
  • 보안 및 권한:
  • 위치 정보 접근 권한
  • 카메라 접근 권한
  • 사진 라이브러리 접근 권한
  • FaceID 권한
  • 특이사항:
  • Objective-C와 Swift 혼용 (Bridging Header 사용)
  • WebView 기반의 하이브리드 앱 구조
  • 다양한 결제 시스템 연동 (LSApplicationQueriesSchemes에 정의된 여러 결제 앱)
  • 푸시 알림 지원
  • 리소스 관리:
  • 커스텀 폰트 사용 (NotoSansCJKkr 시리즈)
  • 다국어 지원 준비 (Base.lproj)
  • Assets 관리
  • 앱 설정:
  • iOS 13.0 이상 타겟팅
  • 세로 모드만 지원 (iPhone)
  • iPad는 모든 방향 지원
  • Firebase 분석 및 푸시 알림 설정