Files
sodalive-ios/docs/20260225_후원비밀문구국제화수정.md

4.4 KiB

20260225 후원 비밀 문구 국제화 수정

구현 체크리스트

  • 채널 후원/라이브 룸 후원 비밀 문구 분기 위치 확인
  • I18n에 채널 후원용 비밀후원 문구 추가
  • 공용 후원 다이얼로그(LiveRoomDonationDialogView)에 컨텍스트별 비밀 문구 주입 파라미터 추가
  • 채널 후원 진입점(UserProfileView)에서 비밀후원 문구 전달
  • 진단/빌드/테스트 검증 수행 및 결과 기록

검증 기록

  • 무엇: 수정 파일 3개(I18n.swift, LiveRoomDonationDialogView.swift, UserProfileView.swift)에 대해 lsp_diagnostics 오류 확인 왜: 변경 직후 타입/문법 수준 오류를 선검증하기 위함 어떻게: lsp_diagnostics 실행 결과: SourceKit 환경 의존 오류 확인 (No such module 'Kingfisher', Cannot find 'LanguageHeaderProvider' in scope), 이후 실제 xcodebuild 빌드는 성공

  • 무엇: 기본 스킴 빌드 검증 왜: 후원 다이얼로그/국제화 문자열 변경이 앱 컴파일에 문제 없는지 확인하기 위함 어떻게: xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug build 결과: ** BUILD SUCCEEDED **

  • 무엇: dev 스킴 빌드 검증 왜: 동일 변경이 SodaLive-dev 스킴에도 회귀 없이 반영되는지 확인하기 위함 어떻게: xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build 결과: ** BUILD SUCCEEDED **

  • 무엇: 테스트 액션 실행 가능 여부 확인 왜: 저장소 검증 절차에 테스트 명령이 포함되므로 실행 결과 확인 필요 어떻게: xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" testxcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test 결과: 두 스킴 모두 Scheme ... is not currently configured for the test action.로 테스트 액션 미구성 상태

추가 요구사항 반영 체크리스트 (2차)

  • 비밀미션 체크 시 메시지 입력창 플레이스홀더는 기존과 동일하게 비밀 접두어를 유지

  • 비밀후원 체크 시 메시지 입력창 플레이스홀더는 체크하지 않은 상태와 동일하게 유지

  • 무엇: 공용 후원 다이얼로그 플레이스홀더 분기 옵션 추가 왜: 비밀미션/비밀후원 컨텍스트별로 메시지 입력창 문구 동작을 분리해야 하기 때문 어떻게: LiveRoomDonationDialogViewshouldPrefixSecretInMessagePlaceholder 파라미터(기본 true)를 추가하고 플레이스홀더를 isSecret && shouldPrefixSecretInMessagePlaceholder 조건으로 변경 결과: 기본 흐름(비밀미션)은 기존 동작 유지, 옵션 비활성 시(비밀후원) 접두어 미표시

  • 무엇: 채널 후원 진입점에 플레이스홀더 분기 옵션 적용 왜: 채널 후원은 비밀후원 체크 시에도 일반 메시지 플레이스홀더를 유지해야 하기 때문 어떻게: UserProfileViewLiveRoomDonationDialogView 호출부에 shouldPrefixSecretInMessagePlaceholder: false 전달 결과: 채널 후원 다이얼로그에서 비밀후원 체크 여부와 무관하게 플레이스홀더가 동일하게 유지

  • 무엇: 2차 반영 후 수정 파일 진단 확인 왜: 분기 파라미터 추가 이후 정적 진단 상태 확인 필요 어떻게: lsp_diagnostics 실행(LiveRoomDonationDialogView.swift, UserProfileView.swift, I18n.swift) 결과: SourceKit 환경 의존 오류 확인 (No such module 'Kingfisher', Cannot find 'LanguageHeaderProvider' in scope), 이후 실제 빌드 성공으로 컴파일 정상 확인

  • 무엇: 2차 반영 후 기본/dev 스킴 빌드 재검증 왜: 플레이스홀더 분기 변경이 스킴별 컴파일에 영향 없는지 확인 필요 어떻게: xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug buildxcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build 결과: 두 스킴 모두 ** BUILD SUCCEEDED **

  • 무엇: 2차 반영 후 테스트 액션 재확인 왜: 저장소 기준 테스트 실행 가능 상태를 변경 후에도 확인하기 위함 어떻게: xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" testxcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" test 결과: 두 스킴 모두 Scheme ... is not currently configured for the test action.로 테스트 액션 미구성 상태