피드로 돌아가기
From Vibe-Coding to Reality: Building MarvinSync
Dev.toDev.to
Mobile

Swift 숙련도 없이 Cursor AI로 구축한 macOS-Android 동기화 도구

From Vibe-Coding to Reality: Building MarvinSync

Thomas Künneth2026년 4월 3일10intermediate

Context

전통적인 ID3 태그 기반 메타데이터 스캔 방식의 중복 데이터 발생 및 부정확한 타이틀 매칭 문제. macOS 환경에서 Android 기기로의 로컬 음악 라이브러리 동기화를 위한 효율적인 파일 시스템 접근 필요성.

Technical Solution

  • 메타데이터 분석 대신 폴더 계층 구조(Artist/Album/Tracks)를 라이브러리 정의로 사용하는 단순 파일 시스템 기반 설계
  • AVMetadataItem을 활용하여 첫 번째 트랙에서만 앨범 아트를 추출하는 효율적 리소스 처리 방식
  • 2초 간격으로 ADB(Android Debug Bridge) 상태를 폴링하는 ConnectedDeviceChecker 구현
  • @Published 상태 변수를 통해 연결된 기기 수에 따라 동기화 버튼의 활성화 여부를 결정하는 컨텍스트 인식 UI 로직
  • SwiftUI Form의 레이아웃 충돌 해결을 위해 .labelsHidden()을 적용한 표준 인터페이스 준수 설계
  • Cursor AI를 활용해 아키텍처 설계 지식을 Swift 구문으로 변환하는 Vibe-Coding 개발 프로세스 적용

Key Takeaway

최신 API를 통한 복잡한 분석보다 폴더 트리와 같은 단순한 아키텍처가 더 견고한 시스템을 구축하는 기반이 됨. AI 보조 개발 시 plausible(그럴싸함)과 shipped(완성됨)를 구분하는 엔지니어의 최종 검증 역량이 필수적임.


복잡한 메타데이터 파싱 시 데이터 정합성 문제가 발생한다면 물리적 파일 시스템 계층 구조를 신뢰하는 단순화 전략을 검토할 것

원문 읽기