#Swift.
글
/ 총 6편UMP가 ATT를 직접 부른다: 프레임워크 바이너리로 확인한 순서 계약 ↗
기술AdMob IDFA 설명 메시지를 게시하려다 막혔습니다. 어느 쪽이 requestTrackingAuthorization을 부르는지 공식 문서에 없어서 UMP 프레임워크 바이너리를 읽었고, 거기서 앱과 SDK가 일회성 프롬프트를 두고 경합한다는 걸 확인했습니다.
@Suite(.serialized)로는 못 막는다: Swift Testing 병렬 실행과 전역 NotificationCenter ↗
기술CI에서만 죽는 테스트 하나를 쫓다 45분 hang의 원인을 두 번 진단했습니다. 첫 진단은 hang만 고쳤고, 진짜 원인은 전역 NotificationCenter를 구독하는 뷰와 병렬 실행이 만든 격리 결함이었습니다.
이미 만료된 Task.sleep은 throw하지 않는다: 버전당 1회 리뷰 요청 지키기 ↗
기술AppStore.requestReview(in:)는 실패를 알려주지 않는데 게이트는 버전당 1회입니다. 같은 설계를 iOS와 Android에 옮겼더니 Swift Concurrency와 Kotlin의 취소 의미론 차이로 iOS에만 결함이 남았습니다.
Apple Pencil 손글씨 숫자 입력: PencilKit·Core ML reject 설계 ↗
기술PencilKit stroke를 스도쿠 숫자 입력으로 바꿀 때 필요한 tap·ink 세션 분류, 28×28 전처리, confidence reject, 비동기 추론 계약을 DailySudoku 구현으로 살펴봅니다.
iOS 런타임 폰트 등록, CTFontManagerRegisterFontsForURL 실무 정리 ↗
기술iOS에서 CTFontManagerRegisterFontsForURL로 폰트를 런타임 등록하는 방법. UIAppFonts와의 차이, PostScript name 확인, 저장 위치와 해제 시점을 정리한다.
Swift Package Registry, Git URL 의존성 이후를 준비하는 방법 ↗
기술SwiftPM의 Git URL 의존성을 넘어 scope.package-name 식별자 기반 Package Registry로. iOS 팀이 도입 전에 봐야 할 CI 속도, 의존성 재현성, 사내 패키지 배포, 패키지 서명, Xcode 설정을 정리한다.