J.
BLOG
글 목록소개구독
태그

#Swift.

/ 총 6편
2026.08.18
읽기 12분

UMP가 ATT를 직접 부른다: 프레임워크 바이너리로 확인한 순서 계약

기술

AdMob IDFA 설명 메시지를 게시하려다 막혔습니다. 어느 쪽이 requestTrackingAuthorization을 부르는지 공식 문서에 없어서 UMP 프레임워크 바이너리를 읽었고, 거기서 앱과 SDK가 일회성 프롬프트를 두고 경합한다는 걸 확인했습니다.

iOSSwiftAdvertisingPrivacyATT
2026.08.18
읽기 8분

@Suite(.serialized)로는 못 막는다: Swift Testing 병렬 실행과 전역 NotificationCenter

기술

CI에서만 죽는 테스트 하나를 쫓다 45분 hang의 원인을 두 번 진단했습니다. 첫 진단은 hang만 고쳤고, 진짜 원인은 전역 NotificationCenter를 구독하는 뷰와 병렬 실행이 만든 격리 결함이었습니다.

iOSSwiftTestingCI-CDTroubleshooting
2026.08.18
읽기 9분

이미 만료된 Task.sleep은 throw하지 않는다: 버전당 1회 리뷰 요청 지키기

기술

AppStore.requestReview(in:)는 실패를 알려주지 않는데 게이트는 버전당 1회입니다. 같은 설계를 iOS와 Android에 옮겼더니 Swift Concurrency와 Kotlin의 취소 의미론 차이로 iOS에만 결함이 남았습니다.

iOSSwiftStoreKitConcurrencyAndroid
2026.08.07
읽기 10분

Apple Pencil 손글씨 숫자 입력: PencilKit·Core ML reject 설계

기술

PencilKit stroke를 스도쿠 숫자 입력으로 바꿀 때 필요한 tap·ink 세션 분류, 28×28 전처리, confidence reject, 비동기 추론 계약을 DailySudoku 구현으로 살펴봅니다.

iOSSwiftPencilKitCore MLApple Pencil
2026.06.18
읽기 9분

iOS 런타임 폰트 등록, CTFontManagerRegisterFontsForURL 실무 정리

기술

iOS에서 CTFontManagerRegisterFontsForURL로 폰트를 런타임 등록하는 방법. UIAppFonts와의 차이, PostScript name 확인, 저장 위치와 해제 시점을 정리한다.

iOSSwiftCoreTextFont
2026.06.18
읽기 9분

Swift Package Registry, Git URL 의존성 이후를 준비하는 방법

기술

SwiftPM의 Git URL 의존성을 넘어 scope.package-name 식별자 기반 Package Registry로. iOS 팀이 도입 전에 봐야 할 CI 속도, 의존성 재현성, 사내 패키지 배포, 패키지 서명, Xcode 설정을 정리한다.

SwiftSwiftPMPackage RegistryiOS
전체 글 보기
© 2026 진재명 · blog.jaemyeong.com
iOS 소프트웨어 엔지니어 · 부산