Mux 的 Swift 上传 SDK
此 SDK 可以轻松将从 iOS 或 iPadOS 应用程序上传的视频上传到 Mux。它通过将大文件分成块并单独上传每个块来处理大文件。
每个视频都上传到一个由受信任的后端服务器请求 Mux 视频 API 创建的已验证的 上传 URL。 请不要在您的应用程序中包含用于创建已验证上传 URL 的秘密 API 凭据。
用法
要使用此 SDK,您需要使用 Swift Package Manager 或 Cocoapods 将其添加为依赖项。
服务器端:创建直接上传
如果您尚未创建,您必须创建一个 访问令牌 以完成这些步骤。要开始上传,您必须首先创建一个 上传 URL。然后,将直接上传 PUT URL 提供给您的应用程序,以便应用程序可以开始上传过程。
客户端:安装SDK
将我们的SDK作为包依赖项添加到您的Xcode项目中。
Swift包管理器
Swift包管理器是一个用于管理Swift代码分发的工具。它与Xcode和Swift构建系统集成,以自动下载、编译和链接依赖项的过程。
有关如何在Xcode中使用Swift包管理器的分步指南(我们的存储库URL(在右上角的'搜索'字段中)为https://github.com/muxinc/swift-upload-sdk
)。
Cocoapods
Cocoapods是Xcode项目的依赖项管理器。有关使用说明,请参阅这里。要将我们的SDK integrate到您的Xcode项目中使用Cocoapods,请按照以下方式在您的Podfile
中指定它
pod 'Mux-Upload-SDK'
客户端:启动上传
要启动上传,您必须首先创建一个上传URL。然后,将上传URL和要上传的文件传递到SDK中。
import MuxUploadSDK
let directUploadURL: URL = /* Fetch the direct upload URL created before */
let videoInputURL: URL = /* File URL to your video file. See Test App for how to retrieve a video from PhotosKit */
let upload = MuxUpload(
uploadURL: directUploadURL,
inputFileURL: videoInputURL,
)
upload.progressHandler = { state in
self.uploadScreenState = .uploading(state)
}
upload.resultHandler = { result in
switch result {
case .success(let success):
self.uploadScreenState = .done(success)
self.upload = nil
NSLog("Upload Success!")
case .failure(let error):
self.uploadScreenState = .failure(error)
NSLog("!! Upload error: \(error.localizedDescription)")
}
}
self.upload = upload
upload.start()
如何在一个真实应用中使用SDK的简单示例可以在这里找到这里
开发
本 SDK 是一个可以通过 Xcode 打开的 Swift 包。要编辑此 SDK,请克隆它并在 Xcode 中打开根目录。
本 SDK 包含一个示例/测试应用,位于 TestApp/
文件夹中。您可以通过打开 apps/Test App/Upload Test App.xcodeproj
来运行/编辑示例应用。