기사 목록
119개의 글이 있습니다
Swift에서 AsyncSequence로 데이터를 단계적으로 불러오기
Iterative data loading in Swift
- CardioBot의 화면은 HealthKit 요청 40~50개를 사용해 여러 건강 지표를 구성하며, 요청을 한꺼번에 시작하면 모든 결과가 모일 때까지 화면 갱신을 기다려야 한다.
- MetricsSequence는 데이터 항목별 로딩 단계를 AsyncSequence로 표현하고, 각 단계에서 MetricsSnapshot을 갱신해 누적된 부분 결과를 반환한다.
- for await 루프는 매 단계의 스냅샷으로 화면 상태를 업데이트하며, 로딩 순서를 조정하거나 AsyncSequence의 debounce·map 같은 연산자를 적용할 수 있다.
Claude Code·Codex·Cursor의 토큰 사용량을 줄이는 방법
How to reduce token usage in Claude Code, Codex, and Cursor
- 분석한 에이전트 세션에서 전체 토큰의 94.2%는 캐시 읽기였고, 에이전트 응답은 0.6%에 그쳐 출력보다 반복되는 컨텍스트를 줄이는 편이 효과적이었다.
- xcsift와 전역 hook을 사용하면 필터 없는 xcodebuild·SwiftPM 출력이 다음 단계마다 컨텍스트에 다시 포함되는 문제를 프로젝트별 지침에 의존하지 않고 막을 수 있다.
- AGENTS.md를 작게 유지하고 파일 재읽기·중복 skill·불필요한 폴링을 줄이는 한편, 탐색용 subagent에는 작고 빠른 모델을 배정하는 방법을 제안한다.
Swift 개발자를 위한 AI 도구와 모델 소식
This Week in Swift x AI
- SwiftFairy는 로컬 MCP 서버를 통해 코딩 에이전트가 Swift 코드를 점검하게 하며, 실제 사용에서 버그 가능성과 코드 스타일을 포함한 수정 항목 109개를 제안했다.
- Xcode 27은 공식 agent skills를 내보내는 명령을 제공하고, Jev는 확률을 포함한 선택형 답변을 빠르게 반환하는 Decision Model로 소개됐다.
- 글쓴이는 Opus 5.5가 빠르고 토큰 사용량이 적다고 평가했지만, 복잡한 다단계 계획에서는 Fable 5.1을 더 낫게 봤으며 두 모델을 작업에 따라 나눠 쓴다.
새 워크숍: 예제로 배우는 Jev
New Workshop: Jev by Examples
- Jev는 참·거짓 질문에 답하는 TypeSafe AI의 새 System One 모델로, 앱 안에서 빠른 결정을 내리는 데 활용할 수 있다고 소개된다.
- 워크숍에서는 Swift 클라이언트와 Cloudflare 통합을 사용해 iOS 및 macOS 앱에서 Jev를 다루는 예제를 학습한다.
- 예제에는 사용자의 의도를 파악하는 semantic search와 앱 화면 상태를 바탕으로 다음 동작을 선택하는 computer use가 포함될 예정이다.
iPhone Duo Simulator로 SwiftUI 앱의 레이아웃과 동작 테스트하기
iPhone Duo Simulator: Testing and optimizing your SwiftUI app
- iPhone Duo 지원의 출발점은 기기 식별이나 고정 화면 크기 분기가 아니라, SwiftUI 레이아웃이 표시 공간의 변화에 맞춰 크기와 구성을 조정하도록 만드는 것이다.
- ArrangementView, reserved regions, 세로 툴바, 힌지 반응 API는 기본 적응형 레이아웃을 대체하지 않으며, 화면별 필요에 따라 iOS 27.1에서 점진적으로 적용한다.
- Simulator는 화면 전환과 레이아웃 검증에 유용하지만 카메라, 실제 접촉 범위, 햅틱, 성능과 접히는 디스플레이 표현은 실기기에서 확인해야 한다.
배포 타깃을 올리지 않고 SwiftUI API 백포팅하기
Backporting SwiftUI APIs
- iOS 27.1의 `toolbarVerticalBehavior`를 백포팅하면 앱의 배포 타깃을 올리지 않고도 새 API를 호출할 수 있으며, 이전 OS에서는 API를 사용할 수 없을 때의 동작을 직접 정할 수 있다.
- `Backport` 네임스페이스로 API를 감싸면 백포팅한 호출을 한곳에 모을 수 있지만, 사용 시 `.backport`를 붙여야 한다. 이 접두어는 향후 백포팅 코드를 찾는 데도 쓰인다.
- 별도 네임스페이스 대신 `ported` 접두어와 `@available`을 사용하면 새 API가 배포 타깃에 포함될 때 컴파일러 경고나 오류로 제거 시점을 알릴 수 있다.
Vapor 백엔드 배포 전 핵심 동작을 테스트하기
Writing Tests Before Shipping My First Vapor Backend in 2026 pt. 7
- LinkVault의 테스트 환경은 개발·운영 DB와 분리된 인메모리 SQLite를 사용하며, 테스트마다 마이그레이션을 실행하고 되돌려 데이터가 남지 않게 구성한다.
- VaporTesting과 Swift Testing으로 잘못된 가입 입력, 인증이 필요한 경로, 인증 사용자의 링크 생성, 사용자 간 링크 접근 차단을 검증한다.
- 테스트는 성공 경로뿐 아니라 입력 검증과 사용자 데이터 소유권 같은 경계를 확인해야 하며, 글은 이 패턴을 컬렉션·태그·큐 작업 등으로 확장할 기반을 마련한다.
Swift 6.4 출시: Swift Build 기본 적용과 상호운용성·메모리 안전성 개선
Swift 6.4 Released
- Swift Package Manager의 기본 빌드 시스템이 Swift Build로 바뀌어 Linux, macOS, Windows에서 같은 방식으로 프로젝트를 빌드할 수 있다.
- Subprocess 1.0, C++20 std::span 연동, Java 상호운용성 확장과 WebAssembly 브리징 성능 개선이 포함돼 Swift의 플랫폼 지원 범위가 넓어졌다.
- UniqueArray와 Iterable 등 복사 없는 데이터 처리 기능이 추가됐고, 비동기 정리 작업과 테스트·디버깅 도구도 개선됐다.
SwiftUI Agent Skill 설치와 활용법
SwiftUI Agent Skill: Install and use with AI coding tools
- SwiftUI Agent Skill은 주제별 참조 문서를 작업에 맞게 불러와 에이전트가 SwiftUI 코드를 작성하거나 검토할 때 필요한 지침을 제공합니다.
- 버전 5.0.0은 Xcode 27과 SDK 27 기준으로 검증된 API 지침을 추가하고, 적응형 레이아웃과 상태 관리 등 최신 SwiftUI 패턴을 다룹니다.
- skills CLI로 전역 또는 프로젝트에 설치할 수 있으며, 기존 설치는 CLI 1.5.24 이상에서 업데이트해야 새 경로를 올바르게 인식합니다.
Swift 디버그 정보에서 모듈을 정확히 추적하기
Module Tracking in Swift Debug Info
- Swift 6.3부터 명시적으로 빌드한 Swift 모듈의 의존성과 경로를 기록해 LLDB가 모듈 이름만으로 대상을 찾던 문제를 줄인다.
- SwiftPM과 Xcode는 Swift driver가 새 경로 정보를 전달하므로 별도 설정이 필요 없지만, 자체 빌드 시스템은 컴파일 작업에 -debug-module-path를 전달해야 할 수 있다.
- Swift 6.4부터 자체 빌드 시스템은 Linux·Windows의 -modulewrap 작업과 Darwin의 -add_ast_path 옵션을 제거할 수 있으며, dSYM과 디버그 바이너리의 크기도 줄어든다.