글.
만들면서 알게 된 것들을 적어 둡니다.
iOS와 소프트웨어, 그리고 덜어내는 일에 대한 기술 노트와 짧은 생각. 부산에서.
글
/ 총 10편Rust 공통 모듈을 크로스플랫폼에서 공유하기 - 4편. Apple 플랫폼과 XCFramework ↗
기술Rust 공통 모듈을 iOS 앱에서 쓰기 위해 static library, XCFramework, Swift Package, UniFFI binding을 같은 release unit으로 묶고 Xcode와 CI에서 재현하는 기준을 정리합니다.
automationmodetool, Xcode UI 테스트의 Automation Mode 암호 프롬프트 정리 ↗
기술macOS에서 Xcode UI 테스트가 Automation Mode 암호 프롬프트에 막힐 때 automationmodetool이 정확히 무엇을 해결하는지 정리한다. TCC/PPPC 권한과 구분해 CI 러너 부트스트랩 위치까지 다룬다.
Rust 공통 모듈을 크로스플랫폼에서 공유하기 - 3편. UniFFI로 iOS와 Android 연결하기 ↗
기술Rust 공통 모듈을 iOS와 Android에서 함께 쓰기 위해 UniFFI 바인딩을 설계하고, generated binding을 adapter 뒤에 숨기는 구조와 모바일 런타임 고려사항을 정리합니다.
macOS 디버깅 권한 오류와 DevToolsSecurity -enable 작동 방식 ↗
기술macOS에서 디버깅 도구를 사용하거나 CI/CD 러너를 빌드할 때 마주치는 디버깅 권한 팝업을 차단하고, DevToolsSecurity가 내부 인증 데이터베이스를 어떻게 조작하는지 상세히 분석합니다.
Mac에서 Windows로 보낸 한글 파일명이 깨지는 이유: 자소 분리(NFD) 현상과 convmv 해결책 ↗
기술macOS에서 한글 파일명이 자소 분리(NFD)되어 Windows에서 깨지는 원인과 convmv를 사용한 해결 방법을 정리합니다.
Rust 공통 모듈을 크로스플랫폼에서 공유하기 - 2편. FFI 경계와 API 설계 ↗
기술Rust 공통 모듈을 크로스플랫폼에서 안전하고 효율적으로 호출하기 위해 FFI 경계를 잡고 API를 설계하는 구체적인 실무 전략을 정리합니다.
Rust 공통 모듈을 크로스플랫폼에서 공유하기 - 1편. 어디까지 Rust로 묶을 것인가 ↗
기술iOS·Android·Web에서 Rust 공통 모듈을 공유할 때 도메인 엔진의 경계를 어떻게 잡을지 정리한다. 무엇을 sudoku-core에 넣고 무엇을 플랫폼에 남길지, UniFFI·WASM 바인딩 계층과 앱 adapter 구조까지 다룬다.
iOS 런타임 폰트 등록, CTFontManagerRegisterFontsForURL 실무 정리 ↗
기술iOS에서 CTFontManagerRegisterFontsForURL로 폰트를 런타임 등록하는 방법. UIAppFonts와의 차이, PostScript name 확인, 저장 위치와 해제 시점을 정리한다.
Swift Package Registry, Git URL 의존성 이후를 준비하는 방법 ↗
기술SwiftPM의 Git URL 의존성을 넘어 scope.package-name 식별자 기반 Package Registry로. iOS 팀이 도입 전에 봐야 할 CI 속도, 의존성 재현성, 사내 패키지 배포, 패키지 서명, Xcode 설정을 정리한다.
WWDC26, iOS 개발자가 먼저 봐야 할 변화들 ↗
기술App Intents·Foundation Models·Core AI·Xcode 27까지, iOS 개발자 관점에서 먼저 봐야 할 WWDC26의 변화들.
이 사이트는 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.