“box-dev-logo”

Box Swift SDK 生成

我们很高兴地推出最新一代(目前为 Beta 版)Box Swift SDK Gen,旨在提升开发者体验并简化您与 Box Content Cloud 的集成。

使用此 SDK,您将可以访问

  1. 完整 API 支持:新一代 Box SDK 使开发者能够全面覆盖 Box API 生态系统。现在,您可以访问 Box 提供的所有最新特性和功能,从而构建更复杂且功能丰富的应用程序。
  2. 快速 API 更新:告别等待将新的 Box API 合并到 SDK 的时代。借助我们新的自动生成开发方法,我们现在可以更快地(在几天之内)将新的 Box API 添加到 SDK。这意味着您可以毫无延迟地在应用程序中利用最新的功能。
  3. 嵌入式文档:我们深知,轻松访问信息对于开发者至关重要。通过我们的新方法,我们已将所有对象和参数的全面文档直接包含在 SDK 的源代码中。这意味着您不再需要在开发者门户上查找此信息,从而节省您的时间并简化您的开发流程。
  4. 增强的便捷方法:我们致力于提升您的开发体验,并继续推出便捷方法。这些方法涵盖了诸如分块上传、分类等各个方面。
  5. 无缝启动:新的 SDK 集成了身份验证、指数退避自动重试、异常处理、请求取消和类型检查等基本功能,使您能够专注于应用程序的业务逻辑。

拥抱新一代 Box SDK,释放 Box Content Cloud 的全部潜力。

目录

安装

Swift Package Manager

Swift Package Manager 是一个用于管理 Swift 代码分发的工具。它与 Swift 构建系统集成,以自动化下载、编译和链接依赖项的过程。

要将依赖项添加到您的 Xcode 项目,请单击 Xcode 项目文件上的 Packages Dependencies,然后单击加号图标以添加包。然后输入以下仓库 URL https://github.com/box/box-swift-sdk-gen.git 并单击下一步。

或者,您可以将依赖项添加到 Package.swift 的 dependencies 值中。

有关详细说明,请参阅 SPM 的官方文档

Carthage

Carthage 是一个去中心化的依赖项管理器,它构建您的依赖项并为您提供二进制框架。

要将依赖项添加到 BoxSdkGen,您需要将以下行添加到您的 Cartfile

git "https://github.com/box/box-swift-sdk-gen.git"

然后运行

carthage bootstrap --use-xcframeworks

最后,将构建的 xcframework 从 Carthage/Build 拖到您的项目中。

有关更详细的说明,请参阅 Carthage 的官方文档

CocoaPods

CocoaPods 是 Swift 和 Objective-C Cocoa 项目的依赖项管理器。要开始将 BoxSdkGen 与 CocoaPods 一起使用,您需要将 BoxSdkGen 依赖项添加到您的 Podfile

pod 'BoxSdkGen'

然后在您的项目目录中运行以下命令

$ pod install

现在打开您的 [项目].xcworkspace 并构建。

有关更详细的说明,请参阅 Cocoapods 的官方文档

入门指南

要开始使用 SDK,请从 Box 开发者控制台中您的应用程序的“配置”页面获取开发者令牌。您可以使用此令牌为您的 Box 帐户进行测试调用。

SDK 提供了一个 BoxDeveloperTokenAuth 类,允许您使用开发者令牌进行身份验证。使用 BoxDeveloperTokenAuth 的实例来初始化 BoxClient 对象。使用 BoxClient 对象,您可以访问管理器,从而允许您对您的 Box 帐户执行一些操作。

下面的示例演示了如何使用开发者令牌进行身份验证并打印根文件夹中所有项目的名称。

import BoxSdkGen

let auth = BoxDeveloperTokenAuth(token: "DEVELOPER_TOKEN_GOES_HERE")
let client = BoxClient(auth: auth)

let items = try await client.folders.getFolderItems(folderId: "0")
if let entries = items.entries {
    for entry in entries {
        switch entry {
        case let .fileMini(file):
            print("file \(file.name!) [\(file.id)]")
        case let .folderMini(folder):
            print("folder \(folder.name!) [\(folder.id)]")
        case let .webLinkMini(webLink):
            print("webLink \(webLink.name!) [\(webLink.id)]")
        }
    }
}

显示如何使用 SDK 调用 Box API 的使用文档可以在此处找到。

我们建议您熟悉其余的身份验证方法上传文件下载文件

集成测试

在本地运行集成测试

创建自定义应用程序

要在本地运行集成测试,您需要在 Box 开发者控制台中创建一个 自定义应用程序,并将 服务器身份验证(客户端凭据授权) 选择为身份验证方法。创建完成后,您可以编辑应用程序的属性

现在选择 授权 并提交应用程序以供帐户管理员审核。

导出配置

要运行集成测试,您需要几个环境变量来指定您的帐户和您创建的 Box 应用程序。

  1. CLIENT_ID 环境变量设置为应用程序的 OAuth 2.0 凭据 部分中 配置 选项卡中的对应值。
  2. CLIENT_SECRET 环境变量设置为应用程序的 OAuth 2.0 凭据 部分中 配置 选项卡中的对应值。
  3. ENTERPRISE_ID 环境变量设置为应用程序的 应用程序信息 部分中 常规设置 选项卡中的对应值。
  4. USER_ID 环境变量设置为应用程序的 应用程序信息 部分中 常规设置 选项卡中的对应值。
  5. BOX_FILE_REQUEST_ID 环境变量设置为用户帐户中已创建的文件请求的 ID,BOX_EXTERNAL_USER_EMAIL 设置为不属于任何企业的免费外部用户的电子邮件。
  6. WORKFLOW_FOLDER_ID 环境变量设置为删除触发工作流的文件的 Relay 工作流的 ID。工作流应具有手动启动,以便能够从 API 启动它。
  7. 设置环境变量:APP_ITEM_ASSOCIATION_FILE_ID 为具有关联应用程序项的文件的 ID,APP_ITEM_ASSOCIATION_FOLDER_ID 为具有关联应用程序项的文件夹的 ID。

运行测试

要在本地运行集成测试

  1. swift test

问题、错误和功能请求?

需要直接联系我们? 浏览问题工单!或者,如果这不起作用,提交新的工单,我们会尽快回复您。如果您对 Box API 有一般性问题,可以发布到 Box 开发者论坛

版权和许可

版权所有 2023 Box, Inc. 保留所有权利。

根据 Apache License, Version 2.0(“许可证”)获得许可;除非遵守许可证,否则您不得使用此文件。您可以在以下网址获得许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样” basis 分发,不附带任何形式的明示或暗示的保证或条件。请参阅许可证,了解有关特定语言的权限和限制。