v-modal/vmodal_sdk_swift_iphoneduo
V-Modal Visual Search SDK optimized for IOS Swift and Iphone DUO
Apple 플랫폼용 VModal SDK (Swift)
무엇인가요 – iOS 및 macOS 앱이 VModal 클라우드 서비스와 통신할 수 있도록 해주는 오픈소스 Swift 패키지입니다. 이 서비스는 AI 기반의 다중 모달 동영상 검색(의미적, 음성-텍스트, OCR, 이미지 기반) 및 업로드/인덱싱 기능을 제공합니다. SDK는 인증, 요청/응답 모델, 스트리밍 업로드, 진행률 보고, 취소, 타입 안전한 결과를 처리하며 UI는 완전히 개발자의 앱 내부에 유지됩니다.
주요 기능
- 의미적 동영상 및 이미지 검색 – 자연어 설명, 말한 단어, 화면 내 텍스트, 시각적 객체로 순간을 찾을 수 있습니다.
- ASR 및 OCR 인덱싱 – 백엔드가 업로드된 동영상에서 음성과 텍스트를 추출하여 검색 가능하게 합니다.
- 스트리밍 업로드 – 전체 파일을 메모리에 로드하지 않고
URL에서 대용량 동영상 파일을 직접 업로드할 수 있습니다. 진행률은AsyncStream을 통해 노출되며 취소가 가능합니다. - 범위 기반 조직 – 프로젝트, 컬렉션, 스트림은 간단한 문자열(
projectID,collectionName,streamName)로 식별됩니다. 모든 작업은 특정 컬렉션/스트림에 범위가 지정됩니다. - 런타임 API 키 처리 – 런타임에 베어러 토큰을 제공하거나, 토큰을 교체하거나 삭제할 수 있으며 앱을 재빌드할 필요가 없습니다. SDK는 로그인 UI를 전혀 표시하지 않습니다.
- Swift 네이티브 API – 완전히 타입 안전하고 async/await 호환되며, Swift 6.0 및 Xcode 26.6 이상을 지원하며 iOS 16+ 및 macOS 13+를 대상으로 합니다.
일반적인 사용 흐름
- 패키지 추가 – Xcode에서 URL
https://github.com/v-modal/vmodal_sdk_swift_iphoneduo를 통해 추가합니다. - 프로젝트 구성 – API 키로 설정:
let keys = try MutableAPIKeyProvider("runtime-api-key") let project = try VModal.configure(projectID: "my_app", apiKeyProvider: keys) let scope = try project.scope(collectionName: "user_42", streamName: "uploads") - 동영상 업로드:
let source = try UploadSource(fileURL: videoURL) let task = scope.upload(source) for await p in task.progress { print("\(p.percent)%") } let result = try await task.result - 자연어 또는 메타데이터로 검색:
let results = try await scope.search( "cyclist in red jacket crossing the bridge", options: ScopedSearchOptions(searchSources: ["image"], limit: 20) ) - 취소 처리 –
task.cancel()을 호출하거나 뷰가 사라질 때 비동기 검색 작업을 취소합니다.
예제 및 도구
- StarterIOS – 설정, 컬렉션 탐색, 업로드, 인덱싱, 검색을 보여주는 최소한의 앱입니다.
- Framebase 예제 – 로컬 동영상 아카이브를 탐색하고 준비하며 검색 결과를 재생하는 방법을 보여줍니다.
- SDKSimulation 도구 – 디버깅을 위해 각 통합 단계를 시뮬레이션합니다.
- 문서 – DocC로 생성된 완전한 API 참조 및 시작 가이드 (
Sources/VModalSDK/VModalSDK.docc).
지원 플랫폼
- iOS (SwiftUI 또는 UIKit) – ✅
- macOS – ✅
- watchOS, tvOS, visionOS – ❌ (이 릴리스에서는 미지원)
- 기타 플랫폼 – ❌ (해당 환경용에 맞는 VModal SDK 사용)
사전 요구 사항
- Swift 6.0, Xcode 26.6 이상
- iOS 16+ / macOS 13+
- VModal API 키 (https://v-modal.com/page/contact.ts 에서 요청)
개발 워크플로우
git clone https://github.com/v-modal/vmodal_sdk_swift_iphoneduo.git
cd vmodal_sdk_swift_iphoneduo
bash install.sh check # 툴체인 및 종속성 확인
bash build.sh analyze # 정적 분석
bash test.sh test # 단위 테스트 (오프라인)
# 실시간 통합 테스트 (자격 증명 필요)
bash test.sh live
리포지토리는 시뮬레이터 목록 표시, 장치 선택, 예제 앱 실행을 위한 헬퍼 스크립트도 제공합니다.
라이선스 – MIT.
결론 – Apple 앱에 AI 기반 동영상 검색 또는 검색 가능한 동영상 업로드 기능을 추가하고 싶다면, VModal의 Swift SDK는 VModal 클라우드 서비스에 대한 작고 타입 안전한 래퍼를 제공합니다. 벡터 인덱스, 음성-텍스트 변환, 이미지 인식과 같은 모든 무거운 작업은 백엔드에서 처리되며, 개발자는 순수한 Swift/SwiftUI로 작업을 계속할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트