KKBOX Open API Swift 开发者 SDK,适用于 iOS/macOS/watchOS/tvOS

2019 © KKBOX.

Actions Status  build  License Apache  CocoaPods  Support  Support  Support  Support 

KKBOX 的 Open API 提供了 KKBOX 丰富音乐库中的各种数据。 它可以帮助你访问 KKBOX 歌曲、专辑、艺人歌单等数据。

这是一个纯 Swift 实现的客户端,用于访问 KKBOX 的 Open API。 你可以使用 Swift Package Manager 或 CocoaPods 轻松地将 SDK 集成到你的 iOS/macOS/watchOS/tvOS 项目中。

该 SDK 利用了 Swift 编程语言的许多强大功能,例如将 API 响应封装到枚举中,以及自 Swift 4 以来的 JSON 编码器/解码器。

另一方面,SDK 无法直接在你的 Objective-C 代码中调用。 如果你需要在你的 Objective-C 代码中使用 KKBOX 的 Open API,你可能需要将 SDK 封装在你自己的桥接代码中,或者,你可能需要查看 KKBOX 的 Objective-C SDK

更多信息,请访问 KKBOX 开发者网站

要求

该 SDK 支持:

该 SDK 使用 NSURLSession 来进行 HTTP 连接。 由于 NSURLSession 尚未移植到 Linux,因此你还不能在 Linux 上运行 Swift SDK,即使 Swift 可以在 Linux 上运行。

构建 ⚒

你需要最新的 Xcode 和 macOS。 建议使用 Xcode 9 和 macOS 10.13 High Sierra。

安装

该 SDK 支持 CocoaPods 和 Swift Package Manager。

CocoaPods

该 SDK 支持 CocoaPods。 请将 pod 'KKBOXOpenAPISwift' 添加到你的 Podfile,然后调用 pod install

Carthage

将以下行添加到你的 Cartfile

github 'KKBOX/OpenAPI-Swift'

然后运行 carthage update

Swift Package Manager

将该 SDK 作为依赖项添加到你的 Package.swift

// swift-tools-version:4.0

import PackageDescription

let package = Package(
    name: "KKBOXOpenAPI-test",
    products: [
        .executable(name: "KKBOXOpenAPI-test", targets: ["YourTargetName"])
    ],
    dependencies: [
        .package(url: "https://github.com/KKBOX/OpenAPI-Swift", .upToNextMinor(from: "1.1.6"))
    ],
    targets: [
        .target(name: "YourTargetName", dependencies: ["KKBOXOpenAPISwift"], path: "./Path/To/Your/Sources")
    ]
)

用法

要开始使用 SDK,你需要创建一个 KKBOXOpenAPI 的实例。

let API = KKBOXOpenAPI(clientID: "YOUR_CLIENT_ID", secret: "YOUR_CLIENT_SECRET")

然后,通过传递客户端凭据,让该实例获取访问令牌。

_ = try? self.API.fetchAccessTokenByClientCredential { result in
    switch result {
    case .error(let error):
        // Handle error...
    case .success(_):
        // Successfully logged-in
    }
}

最后,你可以开始进行 API 调用。 例如,你可以通过调用“fetchTrack”来获取歌曲的详细信息。

_ = try? self.API.fetch(track: "4kxvr3wPWkaL9_y3o_") { result in
    switch result {
    case .error(let error):
        // Handle error...
    case .success(let track):
        // Handle the song track.
    }
}

你可以使用 Swift 或 Objective-C 编程语言来开发你的应用程序,尽管我们这里只有 Swift 示例代码。

API 文档 📖

许可证

版权所有 2019 KKBOX Technologies Limited

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

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

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