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暴露,支持取消。 - 作用域组织 – 项目、集合和流通过简单字符串(
projectID、collectionName、streamName)标识。所有操作均作用于特定集合/流。 - 运行时 API 密钥处理 – 可在运行时提供 Bearer Token,支持轮换或清除,无需重新构建应用;SDK 永不显示登录界面。
- 原生 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 开发。
相关
- 项目
- 项目
- 项目
- 项目