COORDINATOR
09P_001
·
SWIFT
Coordinator 패턴에서 부모 없는 외부 진입이 만드는 delegate nil 함정
푸시나 딥링크로 상세 화면을 직접 열 때 부모 Coordinator가 없어 delegate nil로 종료 흐름이 멈춘 문제와 fallback 처리 기록.
MAY 22, 2026 · 5 MIN
P_002
·
SWIFT
실기기에서만 깨진 콜드스타트 푸시 race condition 디버깅 기록
시뮬레이터에서는 멀쩡했지만 실기기 콜드스타트 푸시에서만 상세 화면이 열리지 않던 문제를 네 단계로 추적한 기록.
MAY 22, 2026 · 7 MIN
P_003
·
SWIFT
UIKit 모달 여러 개가 동시에 present 될 때 큐로 줄 세운 기록
UIKit에서 여러 publisher가 동시에 modal present를 트리거할 때 생기는 충돌을 priority queue, RunLoop 디바운스, dismiss completion으로 직렬화한 사례.
MAY 21, 2026 · 8 MIN
P_004
·
SWIFT
Coordinator re-attach 때 생기는 deinit race window 막기
UIKit Coordinator를 재부착하는 순간 old coordinator deinit과 외부 push/deeplink 이벤트가 겹치며 생기는 race window를 막는 방법.
MAY 21, 2026 · 7 MIN
P_005
·
SWIFT
iOS 푸시 알림 중복 진입을 막는 2층 dedupe 패턴
같은 iOS 푸시가 notification tap, cold launch, pending route 경로로 중복 처리되는 문제를 fingerprint dedupe와 envelope id 소비 추적으로 막은 사례.
MAY 21, 2026 · 6 MIN
P_006
·
SWIFT
iOS Coordinator에서 푸시 진입을 단일 라우터로 정리한 기록
UIKit MVVM Coordinator 앱에서 list ViewModel이 푸시를 직접 구독하던 구조를 AppNavigationRouter와 async/await 기반 단일 진입점으로 정리한 사례.
MAY 21, 2026 · 7 MIN
P_007
·
SWIFT
Coordinator 시그니처 안 깨고 UIKit MVVM+C → SwiftUI MVI 갈아끼우기
상세 화면을 UIKit MVVM+C에서 SwiftUI MVI(Store)로 갈아엎으면서 Coordinator 외부 시그니처는 한 글자도 안 바꾼 이유와 방법 정리.
MAY 14, 2026 · 4 MIN
P_008
·
SWIFT
서버 스펙 안 나왔을 때 클라 먼저 작업하는 법
백엔드 기다리느라 일정 밀리는 게 싫어서 만든 나름의 체크리스트. 나중에 뜯어고칠 비용을 0에 가깝게.
MAY 14, 2026 · 5 MIN