Mux-Upload-SDK 1.0.1

Mux-Upload-SDK 1.0.1

Mux 维护。



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 来运行/编辑示例应用。