iOS 26에서 CAEmitterLayer 폭죽이 안 터진다 — 전체폭 line emitter 방출 드롭 회귀 디버깅기

TestFlight 빌드를 받은 테스터에게서 피드백이 왔다. “축하 화면에서 폭죽이 안 터지는데?” NFC 태그 등록에 성공하면 전면 축하 화면과 함께 색종이(confetti)가 쏟아지게 만들어놨는데, 실기기에서 카드만 뜨고 파티클이 전혀 안 보인다는 거다. 코드를 보면 멀쩡하다. CAEmitterLayer를 UIViewRepresentable로 감싼 전형적인 confetti 구현이고, 시뮬레이터 프리뷰에서는 몇 달 전부터 잘 돌았다. 그런데 iOS 26 실기기에서는 빌드를 두 번 갈아엎어도 안 터졌다. 결론부터 말하면 iOS 26에서 emitterSize가 화면 전체폭인 .line emitter는 셀 구성과 타이밍이 전부 정상이어도 방출 자체가 통째로 드롭되는 회귀가 있었고, 검색해도 안 나오는 문제라 A/B 판별로 직접 격리해야 했다. 이 글은 그 4라운드 디버깅 기록이다. 가는 길에 SwiftUI @Observable의 수동 Binding 추적 단절, updateUIView zero-bounds 레이스 같은 다른 함정도 두 개 잡았다. ...

2026-07-03 09:56 · 8분 소요 · Seunghan
개인정보처리방침 이용약관 면책조항 문의