4.4 KiB
4.4 KiB
20260327 캐릭터 상세 진입 인증 국가 분기 적용
개요
- 캐릭터(또는 크리에이터) 터치로 상세 페이지로 이동할 때 수행되는 인증 체크를 접속국가 기준으로 분기한다.
- 한국(
KR) 사용자는 기존 본인인증 체크를 유지하고, 비한국 사용자는 콘텐츠 보기 설정 경로를 안내하는 기존 정책과 동일하게 맞춘다.
요구사항 요약
- 대상: 캐릭터 상세 진입 탭 핸들러의 인증 가드 로직
- 변경 사항:
KR(정규화 기준, 빈값 포함) 사용자: 기존 본인인증 체크 유지non-KR사용자: 인증 대신 콘텐츠 보기 설정 유도 정책 적용
완료 기준 (Acceptance Criteria)
- AC1: 캐릭터 상세 진입 인증 가드에서 국가코드 정규화(
trim + uppercased)가 적용된다. - AC2: 한국 사용자는 기존 본인인증 체크 흐름이 유지된다.
- AC3: 비한국 사용자는 콘텐츠 보기 설정 유도 분기로 동작한다.
- AC4: 기존 네비게이션/팝업 흐름과 충돌 없이 동작한다.
- AC5: 빌드/진단/테스트 시도 결과가 문서에 기록된다.
구현 체크리스트
- 캐릭터 상세 진입 인증 체크 위치 식별
- 기존 국가 분기 정책 스니펫 확인 및 재사용 지점 선정
- 탭 핸들러 분기 로직 변경
- 수정 파일 진단 및 워크스페이스 빌드/테스트 실행
- 검증 기록 문서화
검증 계획
- 정적 진단: 수정 파일
lsp_diagnostics - 빌드:
xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug buildxcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build
- 테스트 시도:
xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" testxcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test
검증 기록
-
일시: 2026-03-27
- 무엇: 캐릭터 상세 진입 인증 국가 분기 적용 작업 계획 문서 작성
- 왜: 구현 전 변경 범위와 완료 기준을 고정해 요청사항을 정확히 반영하기 위함
- 어떻게: docs 규칙에 맞춰 요구사항/완료기준/검증계획을 체크리스트로 구성
- 실행 명령/도구:
apply_patch(문서 생성) - 결과: 구현 계획 문서 생성 완료
-
일시: 2026-03-27
- 무엇: 캐릭터 상세 진입 인증 체크를 국가코드 기준(KR/non-KR)으로 분기 적용
- 왜: 기존 “모든 국가 auth 필수” 로직을 정책 변경사항(한국은 본인인증, 비한국은 콘텐츠 보기 설정 유도)에 맞추기 위함
- 어떻게:
ChatTabView.handleCharacterSelection(_:)와HomeTabView.handleCharacterSelection(_:)에countryCode정규화(trim + uppercased) 추가isKoreanCountry일 때만 기존auth == false본인인증 팝업(isShowAuthConfirmView) 흐름 유지!isKoreanCountry && !UserDefaults.isAdultContentVisible()조건에서AppState.shared.errorMessage = I18n.Settings.adultContentEnableGuideAppState.shared.isShowErrorPopup = trueAppState.shared.setAppStep(step: .contentViewSettings)로 유도하고 상세 진입 차단
- 실행 명령/도구:
- 탐색:
task(subagent_type="explore", description="Find character detail auth gate"),task(subagent_type="explore", description="Find country branch conventions") - 진단:
lsp_diagnostics(ChatTabView.swift),lsp_diagnostics(HomeTabView.swift) - 빌드:
xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build,xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build - 테스트 시도:
xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" test,xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test
- 탐색:
- 결과:
- 두 스킴 Debug 빌드 모두
BUILD SUCCEEDED - 테스트는 두 스킴 모두
Scheme ... is not currently configured for the test action으로 실행 불가(테스트 액션 미구성) lsp_diagnostics는 SourceKit 환경에서No such module 'Bootpay'를 보고하지만 실제 xcodebuild는 통과하여 컴파일 정상 확인- 수동 QA는 현재 CLI 환경에서 UI 탭/팝업 플로우 실행이 불가하여 미실행(실기기/시뮬레이터에서 KR/non-KR 분기 확인 필요)
- 두 스킴 Debug 빌드 모두