핵심 요약
크몽 iOS 팀은 다크모드 지원을 도입했고, UIKit+SwiftUI 구조에서 CGColor의 다이나믹 컬러 불일치를 해결했습니다. iOS 17의 registerForTraitChanges API를 활용해 다크모드 전환 이벤트를 간결하게 감지하고, 뷰가 현재 모드의 색상을 기억해 동적으로 업데이트합니다.
구현 방법
- UIKit과 SwiftUI가 혼합된 구조에서 border 색상의 다이나믹 갱신 프로토콜을 구현
- CGColor 의 다이나믹 컬러 미지원 문제를 해결하기 위해 뷰 단에서 색상 업데이트 로직 도입
- iOS 17의 registerForTraitChanges API를 활용해 trait 변화 구독을 간소화
- 다크모드 전환 이벤트에 맞춰 색상 업데이트를 자동으로 수행하도록 뷰의 트레이잇 변경 처리 연결
주요 결과
- 다크/라이트 전환 시 border 색상이 일관되게 업데이트되도록 개선
- 다크모드 도입으로 사용자 환경 분석 이벤트 트래킹 추가로 사용성 인사이트 확보



