v-modal/vmodal_sdk_swift_iphoneduo

V-Modal Visual Search SDK optimized for IOS Swift and Iphone DUO

Apple 平台用 VModal SDK(Swift)

是什麼 – 一個開源的 Swift 套件,讓 iOS 與 macOS 應用能與 VModal 雲端服務通訊。此服務提供 AI 驅動的多模態影片搜尋(語意、語音轉文字、OCR、影像基礎)以及上傳/索引功能。SDK 處理驗證、請求/回應模型、串流上傳、進度報告、取消操作與類型安全的結果,同時將 UI 完全保留在開發者的應用內。

核心功能

  • 語意影片與影像搜尋 – 透過自然語言描述、語音內容、螢幕文字或視覺物件尋找特定時刻。
  • ASR 與 OCR 索引 – 後端從上傳的影片中提取語音與文字,使其可被搜尋。
  • 串流上傳 – 可直接從 URL 上傳大檔案影片,無需將整個檔案載入記憶體;進度透過 AsyncStream 暴露,支援取消。
  • 作用域組織 – 專案、集合與串流透過簡單字串(projectIDcollectionNamestreamName)識別。所有操作皆作用於特定集合/串流。
  • 執行時 API 金鑰處理 – 可在執行時提供 Bearer Token,支援輪換或清除,無需重新建置應用;SDK 永不顯示登入介面。
  • 原生 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 開發。

相關

  • 專案
  • 專案
  • 專案
  • 專案