종료일이 지난 목표의 자동 판정(evaluateIfEnded)이 목표 탭 진입 시에만 실행돼, 목표 탭을 열지 않으면 위젯·워치·모음 탭 카드에 '진행 중'으로 계속 남아 있었다. 앱 실행/포그라운드 복귀(scenePhase .active) 시점에 같은 판정을 추가로 실행한다. - 목표 탭 onAppear 로직과 동일한 코드 — 진행 중 목표만 조회, 변경이 있을 때만 DataChange.commit (위젯·워치·라이브 액티비티 갱신) - 다짐 없는 목표는 evaluateIfEnded가 건드리지 않으므로 '확인 필요' 직접 선택 흐름은 그대로 - 위젯 확장에서는 판정하지 않음 (프로바이더 경합·CloudKit 내보내기 지연 위험 회피) - 검증용 DEBUG 인자 -endGoalYesterday "제목" 추가. 시뮬레이터에서 목표 탭을 열지 않은 콜드 스타트만으로 statusRaw가 achieved로 전환되는 것을 스토어 조회로 확인 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013yKDMhuF39GVYy3FMcGHh7
Description
This is a repository where I have collected my study codes, project codes I have worked on so far, and setting files.
Languages
Swift
78.6%
Python
6.7%
C
6%
Java
4.4%
TypeScript
3%
Other
1.3%