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+를 대상으로 합니다.

일반적인 사용 흐름

  1. 패키지 추가 – Xcode에서 URL https://github.com/v-modal/vmodal_sdk_swift_iphoneduo를 통해 추가합니다.
  2. 프로젝트 구성 – 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")
    
  3. 동영상 업로드:
    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
    
  4. 자연어 또는 메타데이터로 검색:
    let results = try await scope.search(
        "cyclist in red jacket crossing the bridge",
        options: ScopedSearchOptions(searchSources: ["image"], limit: 20)
    )
    
  5. 취소 처리task.cancel()을 호출하거나 뷰가 사라질 때 비동기 검색 작업을 취소합니다.

예제 및 도구

  • StarterIOS – 설정, 컬렉션 탐색, 업로드, 인덱싱, 검색을 보여주는 최소한의 앱입니다.
  • Framebase 예제 – 로컬 동영상 아카이브를 탐색하고 준비하며 검색 결과를 재생하는 방법을 보여줍니다.
  • SDKSimulation 도구 – 디버깅을 위해 각 통합 단계를 시뮬레이션합니다.
  • 문서 – DocC로 생성된 완전한 API 참조 및 시작 가이드 (Sources/VModalSDK/VModalSDK.docc).

지원 플랫폼

  • iOS (SwiftUI 또는 UIKit) – ✅
  • macOS – ✅
  • watchOS, tvOS, visionOS – ❌ (이 릴리스에서는 미지원)
  • 기타 플랫폼 – ❌ (해당 환경용에 맞는 VModal SDK 사용)

사전 요구 사항

개발 워크플로우

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로 작업을 계속할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트