아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
펫프렌즈 favicon펫프렌즈

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

by DD
2025-12-03
7개월 전
조회수 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 패턴으로 게스트 기능 구현하기
중급
아키텍처
SwiftUI
Repository Pattern
DI Container
Swift
Frontend
원문 읽기
원문 읽기

댓글 0

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

관련 추천 글

macOS에서 Hacker News를 네이티브 앱으로 즐기세요!

해커뉴스 로고

macOS용 USB-C 케이블 진단 앱 'whatcable' 공개

랍스타즈 로고

DEV 커뮤니티 첫 주, 예상 못한 경험과 성장의 기록

데브투 로고

6월의 빛을 모으는 iOS 아케이드 게임 'June Jubilee'

데브투 로고

USB-C 케이블, 이제 메뉴 바에서 속성 확인하세요!

해커뉴스 로고

뱅크샐러드 iOS, 모듈 구조 개선으로 개발 효율 UP!

뱅크샐러드 로고
펫프렌즈 favicon펫프렌즈
중급
아키텍처
SwiftUI
Repository Pattern
DI Container
Swift
Frontend

관련 추천 글

macOS에서 Hacker News를 네이티브 앱으로 즐기세요!

해커뉴스 로고

macOS용 USB-C 케이블 진단 앱 'whatcable' 공개

랍스타즈 로고

DEV 커뮤니티 첫 주, 예상 못한 경험과 성장의 기록

데브투 로고