목록으로
웹뷰 · 브릿지

iOS 네이티브 메시지 중복 실행

iOS에서 브릿지 메시지가 한 번에 두 번 처리되던 문제를 중복 방지 계층으로 해결.

01

상황

iOS에서 네이티브가 보낸 메시지의 핸들러가 한 번의 메시지에 두 번씩 실행됐습니다.

02

원인 분석

iOS 환경에서 메시지 이벤트가 window와 document 양쪽으로 발생해, 핸들러가 중복으로 걸렸습니다.

03

해결

핸들러를 useEffectEvent로 최적화해 useEffect 재등록을 없애고, 50ms 내 동일 메시지는 무시하는 중복 방지 계층(message-bus)을 두어 같은 메시지를 한 번만 처리하게 했습니다.

04

결과 · 배운 점

메시지가 한 번만 처리되도록 정리돼, 중복 실행으로 인한 부작용(중복 네비게이션·중복 토스트 등)이 사라졌습니다.