Skip to content

fix: 앱 실행 시 로딩 Alert 안 뜨는 버그 + 빈 뭉치 전환 무한로딩 버그 수정#82

Merged
giljihun merged 1 commit into
developfrom
bugfix/-홈-앱-실행-시-메인-뭉치-로딩-사라짐
Feb 11, 2026

Hidden character warning

The head ref may contain hidden characters: "bugfix/-\ud648-\uc571-\uc2e4\ud589-\uc2dc-\uba54\uc778-\ubb49\uce58-\ub85c\ub529-\uc0ac\ub77c\uc9d0"
Merged

fix: 앱 실행 시 로딩 Alert 안 뜨는 버그 + 빈 뭉치 전환 무한로딩 버그 수정#82
giljihun merged 1 commit into
developfrom
bugfix/-홈-앱-실행-시-메인-뭉치-로딩-사라짐

Conversation

@giljihun
Copy link
Copy Markdown
Member

  • handleKeyringDataChange에서 빈 뭉치일 때 isSceneReady 리셋 방지
  • createKeyringDataList에서 설정한 isSceneReady = true가 유지되도록 함
  • MultiKeyringSceneView의 불필요한 onAppear 체크 로직 제거

🎯 PR 내용

앱 실행 시 로딩 Alert 안 뜨는 버그 + 빈 뭉치 전환 무한로딩 버그 수정

원인 분석

1차 문제: 앱 실행 시 로딩 Alert 안 뜸

  1. MultiKeyringSceneView.onAppear 실행
  2. keyringDataList.isEmpty 체크 → true (데이터 로딩 중이라 비어있음)
  3. onAllKeyringsReady() 즉시 호출
  4. 0.5초 후 isSceneReady = true
  5. 로딩 Alert 사라짐 (데이터 로딩 중인데!)

여기가 어제 메인뭉치 수정 후, 무한로딩 해결하려고 추가했던 로직

→ 해결: onAppear의 isEmpty 체크 제거

2차 문제: 빈 뭉치 전환 시 무한로딩

  1. switchBundle → createKeyringDataList → isSceneReady = true
  2. keyringDataList = [] 설정
  3. onChange(of: keyringDataList) 트리거
  4. handleKeyringDataChange() → isSceneReady = false (덮어씀!)
  5. 키링 없어서 onAllKeyringsReady 호출 안됨
  6. 무한로딩

→ 해결: 빈 뭉치일 때 isSceneReady 리셋 방지

변경사항

// MultiKeyringSceneView.swift - onAppear에서 제거
- if keyringDataList.isEmpty {
-     onAllKeyringsReady?()
- }
  // HomeViewModel.swift
  func handleKeyringDataChange() {
  +   guard !keyringDataList.isEmpty else { return }
      withAnimation(.easeIn(duration: 0.2)) {
          isSceneReady = false
      }
  }

📱 스크린샷 (UI 변경 시)

🔗 관련 이슈

✅ 체크리스트

  • 빌드 성공
  • 테스트 완료
  • Self-review 완료

- handleKeyringDataChange에서 빈 뭉치일 때 isSceneReady 리셋 방지
- createKeyringDataList에서 설정한 isSceneReady = true가 유지되도록 함
- MultiKeyringSceneView의 불필요한 onAppear 체크 로직 제거
@giljihun giljihun self-assigned this Feb 11, 2026
@giljihun giljihun linked an issue Feb 11, 2026 that may be closed by this pull request
func handleKeyringDataChange() {
// 빈 뭉치면 이미 createKeyringDataList에서 isSceneReady = true 설정됨
// 다시 false로 리셋하면 무한로딩 발생
guard !keyringDataList.isEmpty else { return }
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

그놈의 무한로딩... 해결 방안이 명확하네요.

@giljihun giljihun merged commit a6e63b6 into develop Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bugfix: [홈] 앱 실행 시 메인 뭉치 로딩 사라짐

2 participants