BoxSDK 5.6.0

BoxSDK 5.6.0

Sujay GarlankaPatrick SimonSkye FreeArtur Jankowskisdk-build 维护。



BoxSDK 5.6.0

“box-dev-logo”

Box iOS SDK

Project Status Platforms License Swift Package Manager Carthage compatible CocoaPods compatible Build Status Coverage

入门文档: https://developer.box.com/guides/mobile/ios/quick-start/

备注

Box iOS SDK 的 Objective-C(在 v3.0.0 之前)已从主分支移动到 objective-c-maintenance 分支。今后,主分支将包含从 v3.0.0 开始的 Swift 版本的 iOS SDK。

Box iOS SDK

要求

  • iOS 11.0+ / Mac OS X 10.13+ / tvOS 11.0+ / watchOS 4.0+
  • 支持Xcode 10.0+

安裝 SDK

Carthage

第1步:將其添加到您的 Cartfile

git "https://github.com/box/box-ios-sdk.git" ~> 5.0

第2步:更新依賴

$ carthage update --use-xcframeworks --platform iOS

第3步:將從 Carthage/Build 构建的 xcframework 拖入您的項目。

更多信息,請參考Carthage官方文档

CocoaPods

第1步:將其添加到您的 Podfile

pod 'BoxSDK', '~> 5.0'

第2步:在包含 Podfile 的目錄中運行以下命令安裝 pod

$ pod install

更多信息,請參考CocoaPods官方文档

Swift Package Manager

将BoxSDK导入到项目中

步骤 1:点击Xcode项目文件。

步骤 2:点击“Swift 包”(Swift Packages),然后点击加号添加一个包。

步骤 3:输入以下仓库URL https://github.com/box/box-ios-sdk.git 并点击“下一步”。

步骤 4:保留默认设置以获取最新版本,然后点击“下一步”完成导入。

整个过程大致如下

Import Package

将BoxSDK作为依赖项添加

有关详细信息,请参阅 SPM 的官方文档

入门指南

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

import BoxSDK

let client = BoxSDK.getClient(token: "YOUR_DEVELOPER_TOKEN")
client.users.getCurrentUser() { result in
    switch result {
    case let .error(error):
        print("Error: \(error)")
    case let .success(user):
        print("\(user.name) (\(user.login)) is logged in")
    }
}

如何使用SDK调用Box API的使用文档可以在 这里 找到。

展示类、方法、变量等定义的Jazzy文档可以在 这里 找到。

示例应用

OAuth2 示例应用

在仓库 这里 可以找到一个使用 OAuth2 验证的系统应用样例。此应用演示了如何使用 SDK 进行调用,可以通过输入自己的凭据直接运行。

执行示例应用

步骤 1: 运行 carthage

$ cd SampleApps/OAuth2SampleApp
$ carthage update --use-xcframeworks --platform iOS

步骤 2: 打开 Xcode 项目文件

$ open OAuth2SampleApp.xcodeproj

步骤 3: 插入客户端 ID 和客户端密钥

首先,从 Box 开发者控制台 获取 OAuth2 应用程序的客户端 ID 和密钥。然后,将这些值添加到示例应用的 sample app 中的 Constants.swift 文件。

static let clientId = "YOUR CLIENT ID GOES HERE"
static let clientSecret = "YOUR CLIENT SECRET GOES HERE"

步骤 4: 设置重定向 URL

使用上一步中的相同客户端 ID,在 Box 开发者控制台 中设置应用程序的重定向 URL 为 boxsdk-<>://boxsdkoauth2redirect,其中 <> 是客户端 ID。例如,如果您的客户端 ID 为 vvxff7v61xi7gqveejo8jh9d2z9xhox5,则重定向 URL 应为 boxsdk-vvxff7v61xi7gqveejo8jh9d2z9xhox5://boxsdkoauth2redirect

步骤 5: 运行示例应用

JWT 验证示例应用

在仓库 这里 可以找到一个使用 JWT 验证的示例应用。此应用演示了如何设置与远程授权服务的 JWT 验证,直到您提供获取令牌的代码之前不会运行。

执行示例应用

步骤 1: 运行 carthage

$ cd SampleApps/JWTSampleApp
$ carthage update --use-xcframeworks --platform iOS

步骤 2: 打开 Xcode 项目文件

$ open JWTSampleApp.xcodeproj

步骤 3: 插入客户端 ID 和客户端密钥

首先,从 Box 开发者控制台 获取 OAuth2 应用程序的客户端 ID 和密钥。然后,将这些值添加到示例应用的 sample app 中的 Constants.swift 文件。

static let clientId = "YOUR CLIENT ID GOES HERE"
static let clientSecret = "YOUR CLIENT SECRET GOES HERE"

步骤 4: 添加获取访问令牌的代码

在示例应用的 ViewController.swift 文件中,编辑 obtainJWTTokenFromExternalSources() 方法

func obtainJWTTokenFromExternalSources() -> DelegatedAuthClosure {
    return { uniqueID, completion in
        #error("Obtain a JWT Token from your own service or a Developer Token for your app in the Box Developer Console at https://app.box.com/developers/console and return it in the completion.")
        // The code below is an example implementation of the delegate function
        // Please provide your own implementation
        
        // ...
    }
}

步骤 5: 运行示例应用

版本

我们对所有变更使用修改版的语义化版本控制。有关详细信息,包括自2022年7月30日起生效的版本策略,请参阅版本策略

支持的版本

仅支持当前的MAJOR版本的SDK。新功能、功能、错误修复和安全更新将仅添加到当前的MAJOR版本。

当前版本处于SDK发展的前沿,旨在为处于积极开发状态且需要最新和最佳功能的客户而设计。我们不会为新的功能指定发布日期,而是设定了最多为2-3个月的固定次要或补丁版本发布周期(虽然我们可能会更频繁地发布)。同时,没有重大或破坏性发布的计划。相反,我们将提前一个季度通知即将到来的破坏性更改,以便客户进行升级计划。我们始终建议所有用户运行当前版本的次要版本,无论使用的是哪个major版本。我们强烈建议在EOL日期之前,尽早升级到最新的SDK major版本。

版本计划

版本 支持的环境 状态 首次发布 EOL/终止
5 iOS 11.0+ / Mac OS X 10.13+ / tvOS 11.0+ / watchOS 4.0+ 支持 2021年10月28日 TBD
4 EOL 2020年2月13日 2021年10月28日
3 EOL 2019年11月20日 2020年2月13日

版权与许可证

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

本文件依据Apache License, Version 2.0(以下简称“许可证”)许可;除非符合许可证条件或书面同意,否则不得使用本软件。您可以在以下地址获得许可证的副本:

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

除非适用法律要求或书面同意,否则在许可证下分发的软件是基于“原样”提供的,不提供任何明示或暗示的保证或条件。有关许可证中规定的权限和限制的具体语言,请参阅许可证。