Skip to content

AppStore 심사 거절 솔루션, BackSwipe 활성화합니다#274

Merged
Kimyonhae merged 2 commits into
devfrom
feat/269-backswipe
Jun 6, 2026
Merged

AppStore 심사 거절 솔루션, BackSwipe 활성화합니다#274
Kimyonhae merged 2 commits into
devfrom
feat/269-backswipe

Conversation

@Kimyonhae

@Kimyonhae Kimyonhae commented Jun 6, 2026

Copy link
Copy Markdown
Collaborator

✨ 작업 요약

온보딩 단계의 모델 다운로드 건너뛰기 기능 추가

  • 온보딩 과정에서 모델 다운로드를 건너뛸 수 있는 우회로("나중에" 버튼)를 추가하여 심사 중 무한 대기 현상을 예방합니다.

📋 구체적인 내용

  • 추가/변경된 동작:
    • 다운로드 건너뛰기 ("나중에") 기능 제공: 온보딩 중 AI 모델 다운로드 단계에서 다운로드하지 않았거나 취소/실패했을 때, 왼쪽 하단 버튼을 "나중에"로 변경하고 클릭 시 다음 화면(언어 설정)으로 자동 스크롤(앞으로 이동)하도록 대응했습니다.
    • 다운로드 중 UI 클리닝: 모델 카드(DownloadModelCard)가 다운로드 중인 상태(downloading)일 때, "다운로드 중..." 텍스트 라벨을 숨김 처리(isHidden = true)하여 프로그레스 바만 심플하게 표시되도록 정리했습니다.
    • 언어 선택 터치 영역 확대 (Guideline 4.0 대응): LanguagePicker 내부의 언어 행(LanguageItemView)의 텍스트 레이블 상하에 12pt의 여백을 두어, 애플의 휴먼 인터페이스 가이드라인(HUI)에 부합하도록 최소 44pt 이상의 세로 터치 영역을 확보했습니다.
  • 영향 받는 화면/모듈:
    • Presentation 모듈 내의 온보딩 화면 (OnBoardingViewController, OnBoardingViewModel, OnBoardingDownloadView)
    • 공용 컴포넌트 (DownloadModelCard, LanguagePicker)

🔗 연관 이슈


🧩 설계·구현 노트

왜 이렇게 구현했는지, 대안과 비교한 점 (선택)

  • 선택한 방식
    • 온보딩 과정에서 1.5GB가 넘는 대용량 AI 모델 다운로드를 **우회 가능(Optional)**하게 변경하여 네트워크 차단 또는 비정상적인 지연 상황에서도 앱 진입이 막히지 않도록(Guideline 2.1(a) 대응) 설계했습니다.
    • 사용자가 "나중에"를 누르면 메인 화면 진입 후 설정(Settings) 탭에서 언제든 필요할 때 온디바이스 모델을 다운로드받을 수 있어 유연한 UX를 보장합니다.
  • 고려했다가 제외한 방식
    • 다운로드 화면 자체를 아예 생략하는 방식: 기기 성능에 맞춰 온디바이스 요약 처리를 원하는 유저들을 위해 기본 다운로드 진입 기능은 유지하는 편이 좋으므로, 화면을 없애기보다는 사용자가 건너뛸 수 있도록 '취소' 및 '나중에' 옵션을 부여하는 방식으로 설계했습니다.

✅ 확인 사항

PR 전 직접 확인한 것

  • 정상 플로우 동작 확인
  • 엣지 케이스 / 빈 값·에러 처리 확인
  • (UI 변경 시) 스크린샷 또는 GIF 첨부
  • (로직 추가 시) 테스트 추가 여부

👀 리뷰 포인트

  • 설계·구조 적절성
  • 로직·엣지 케이스
  • 예외/에러 핸들링
  • UI/UX (해당 시)

특히 봐줬으면 하는 부분

  • 다운로드 취소/실패 상태에 따른 하단 버튼 타이틀("나중에", "재시도", "취소")과 그에 매칭된 페이지 이동 동작(secondButtonAction에서의 nextPage 호출)이 올바른 방향으로 작동하는지 확인 부탁드립니다.

📚 참고

Kimyonhae added 2 commits June 4, 2026 17:49
- leftItems에 커스텀 UIView를 넣는 순간 뒤로가는 기본 swipe는 비 활성화 되므로 UINavigationController에 명시했습니다.
- 다운로드 탈풀 경로 확보 : 나중에 버튼 수정
- modelCard 다운로드 중...: 복잡한 UI 제거 -> 앞으로 errorMesssage로 만 활용합니다.
- swiftforamt 스타일 적용
@Kimyonhae Kimyonhae self-assigned this Jun 6, 2026
@Kimyonhae Kimyonhae added 🐛 Bug 크래시, 에러 로그, 예상과 다른 오동작을 수정합니다. 🚀 Enhancement 기존 기능 개선, UX/옵션 추가 등 labels Jun 6, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the onboarding download flow by hiding the download message label in DownloadModelCard, and adjusting button titles and navigation logic in OnBoardingViewModel based on the download status. It also introduces a global extension to UINavigationController to enable the interactive pop gesture. Feedback highlights that extending UINavigationController globally to override viewDidLoad is risky and can cause navigation freezing or unexpected side effects; creating a custom SafeNavigationController subclass is recommended instead.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@tuist

tuist Bot commented Jun 6, 2026

Copy link
Copy Markdown

🛠️ Tuist Run Report 🛠️

Tests 🧪

Scheme Status Cache hit rate Tests Skipped Ran Commit
ChaGok-Workspace 0 % 110 2 108 0ce525863

Builds 🔨

Scheme Status Duration Commit
ChaGok-Workspace 4m 23s 0ce525863

@Kimyonhae Kimyonhae merged commit 802a2bd into dev Jun 6, 2026
2 checks passed
@Kimyonhae Kimyonhae deleted the feat/269-backswipe branch June 6, 2026 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛 Bug 크래시, 에러 로그, 예상과 다른 오동작을 수정합니다. 🚀 Enhancement 기존 기능 개선, UX/옵션 추가 등

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Presentation] 사라진 BackSwipe 구현

1 participant