Files
sodalive-ios/docs/20260306_라이브룸외부이동확인다이얼로그.md

2.4 KiB

20260306 라이브룸 외부 이동 확인 다이얼로그 구현

작업 목표

  • 라이브룸(LiveRoomViewV2)에 입장한 상태에서 딥링크/푸시로 다른 페이지 이동 요청이 들어오면 즉시 이동하지 않는다.
  • SodaDialog로 확인/취소 다이얼로그를 노출하고, 확인을 눌렀을 때만 이동한다.
  • 다이얼로그 문구는 국제화(I18n)를 적용한다.

구현 체크리스트

  • 딥링크/푸시 이동 트리거 지점 확인 (HomeView)
  • 라이브룸 상태에서 이동 요청 보류 및 확인 다이얼로그 노출
  • 확인 시 라이브룸 종료 트리거 후 보류된 이동 실행
  • 취소 시 보류된 이동 취소 및 push/deeplink 값 정리
  • 다이얼로그 문구 국제화 키 추가 및 적용
  • 진단/빌드 검증 수행

검증 기록

  • 무엇/왜/어떻게: 딥링크/푸시 이동 처리 지점(HomeViewpush* valueChanged)을 조사하고, 라이브룸 재생 중에는 이동 액션을 보류한 뒤 SodaDialog 확인 시에만 LiveRoomViewV2로 종료 요청(Notification) -> 라이브 종료 후 보류 액션 실행 흐름으로 변경했다.
  • 실행 명령: 백그라운드 탐색 bg_781ddd35, bg_38f4cad5
  • 결과: 딥링크/푸시 진입 경로(AppDelegate -> AppState.push* -> HomeView/SplashView)와 I18n 패턴(I18n.Common/I18n.LiveRoom)을 확인했다.
  • 실행 명령: lsp_diagnostics (SodaLive/Sources/Main/Home/HomeView.swift, SodaLive/Sources/Live/Room/V2/LiveRoomViewV2.swift, SodaLive/Sources/I18n/I18n.swift)
  • 결과: LiveRoomViewV2.swift는 진단 오류 없음. HomeView.swift/I18n.swift는 SourceKit 인덱싱 컨텍스트에서 외부 모듈/심볼 미해석 오탐이 발생했고, 실제 유효성은 빌드로 확인했다.
  • 실행 명령: xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build
  • 결과: ** BUILD SUCCEEDED **
  • 실행 명령: xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build
  • 결과: ** BUILD SUCCEEDED **
  • 실행 명령: xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" test
  • 결과: Scheme SodaLive is not currently configured for the test action.
  • 실행 명령: xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test
  • 결과: Scheme SodaLive-dev is not currently configured for the test action.