LATEST · SWIFT

URLSession 취소를 실패 알림으로 보여주지 않기

Swift concurrency에서 URLSession 요청을 취소했는데 에러 토스트가 뜨는 문제를 CancellationError와 URLError.cancelled 기준으로 정리한다.

SERIES · SwiftUI 디버깅 패턴 (3)
SEE ALL →
RECENT POSTS 08 / 71
P_001 · SWIFT

Firebase RemoteConfig 빼고 GitHub Actions + 정적 JSON으로 갈아탄 후기

단순 broadcast 용도로만 쓰던 Firebase RemoteConfig를 GitHub Actions + 정적 서버 JSON 구조로 갈아탔다. 트레이드오프, 새 구조, 마이그레이션 시 캐시 stale 이슈까지.

MAY 15, 2026 · 5 MIN
#firebase#remoteconfig#github actions
P_002 · SWIFT

SwiftUI에서 PreferenceKey가 안 먹어서 onGeometryChange로 갈아탄 디버깅

SwiftUI ScrollView에서 스크롤 위치에 따라 네비게이션 타이틀을 점진적으로 노출하려는데 PreferenceKey/GeometryReader 측정값이 갱신되지 않았다. onGeometryChange로 갈아탄 디버깅 회고.

MAY 15, 2026 · 7 MIN
#swiftui#scrollview#ongeometrychange
MAY 14, 2026
P_003 · SWIFT

SwiftUI에서 NantesLabel 살리기

SwiftUI Text로는 안 되는 자동 링크 탐지, 줄 수 제한, 더 보기 토글을 UIKit NantesLabel을 UIViewRepresentable로 래핑해서 해결한 패턴과 네 가지 함정 정리.

MAY 14, 2026 · 7 MIN
#swiftui#uikit#uiviewrepresentable
P_004 · SWIFT

`.ignoresSafeArea(.bottom)` 한 줄에 액션 버튼이 통째로 사라졌다

한 줄짜리 modifier가 자식 전부에 적용되면서 overlay 액션 버튼까지 home indicator 밑으로 끌어내린 사례.

MAY 14, 2026 · 3 MIN
#swiftui#ignoressafearea#safeareainset
P_005 · SWIFT

Bool 한 개에 결정 세 개 묶었을 때

공용 컴포넌트의 옵션 한 개가 사실은 결정 세 개였다. 정책이 갈라지는 순간 쪼개야 한다.

MAY 14, 2026 · 4 MIN
#swiftui#designsystem#apidesign
P_006 · SWIFT

Coordinator 시그니처 안 깨고 UIKit MVVM+C → SwiftUI MVI 갈아끼우기

상세 화면을 UIKit MVVM+C에서 SwiftUI MVI(Store)로 갈아엎으면서 Coordinator 외부 시그니처는 한 글자도 안 바꾼 이유와 방법 정리.

MAY 14, 2026 · 4 MIN
#coordinator#uikit#swiftui
P_007 · SWIFT

서버 스펙 안 나왔을 때 클라 먼저 작업하는 법

백엔드 기다리느라 일정 밀리는 게 싫어서 만든 나름의 체크리스트. 나중에 뜯어고칠 비용을 0에 가깝게.

MAY 14, 2026 · 5 MIN
#swift#ios#architecture
P_008 · SWIFT

공용 SwiftUI 컴포넌트의 마진, 누구 책임이지?

padding 두 번 먹이면 안쪽으로 두 배 들어간다. 공용 컴포넌트 마진 정책을 정하자.

MAY 14, 2026 · 4 MIN
#swiftui#uikit#uihostingcontroller