App Store 리젝, SwiftUI Repository 패턴으로 해결!

by DD
6개월 전
조회수 12

App Store 심사 통과를 위해 게스트 모드 구현 필요

Repository 패턴DI Container를 도입하여 SwiftUI 앱 아키텍처 개선

Mock 데이터 활용 및 환경 설정 배너 추가로 게스트 모드 안정화

Repository 패턴으로 데이터 의존성 제거

ViewModel이 직접 NetworkService를 호출하는 대신, Repository를 통해 데이터 접근 방식을 변경했다. 따라서, 게스트 모드 전환 시 Mock 데이터를 손쉽게 주입할 수 있다. 결과적으로 코드 중복 감소테스트 용이성을 확보했다.

DI Container를 활용한 게스트 모드 전환

DI Container를 구현하여 게스트 모드 활성화 시 앱 전체의 데이터 소스를 변경했다. isGuestMode 플래그 하나로 Mock 데이터와 실제 API를 전환한다. 따라서, 코드 수정 최소화유지보수성 향상을 달성했다.

Mock 데이터와 환경 설정 배너의 중요성

Mock 데이터를 활용하여 API 호출 없이 게스트 기능을 구현했다. MockNetworkDataSource를 통해 네트워크 지연을 시뮬레이션하여 사용자 경험을 향상시켰다. DEV 환경 배너를 추가하여 환경 설정 오류를 방지하고, 개발 생산성을 높였다.

App Store 5.1.1 가이드라인 리젝 대응기: SwiftUI Repository 패턴으로 게스트 기능 구현하기