ListenBrainzKit

ListenBrainzKit 是一个围绕 ListenBrainz API 构建的 Swift 封装库,最初是为我的 iOS 音乐应用 Jewelcase 而构建的。

要求

设置

在您的 Package.swift 文件中将 ListenBrainzKit 添加为依赖项

dependencies: [
    .package(url: "https://github.com/samglt/ListenBrainzKit.git", from: "0.1.0"),
],

或者在 Xcode 中通过选择 File > Add Package Dependencies... 并输入 https://github.com/samglt/ListenBrainzKit 来添加它

用法

您可以使用 ListenBrainz 令牌和一个可选的自定义根 URL 初始化客户端。如果您不使用官方的 ListenBrainz 端点(例如,如果您运行自己的实例)。

import ListenBrainzKit

let client = LBClient(token: token)
// or:
let client = LBClient(token: token, customRoot: URL(string: "https://10.0.0.10:1234")!)

提交收听记录

// Submit a single listen
try await client.core.submitListen(meta: .init(artist: "Kylie Minogue",
                                               track: "Come Into My World",
                                               release: "Fever",
                                               tracknumber: 7),
                                   at: time)

// Submit a batch of past listens
try await client.core.submitListens([
    .init(meta: .init(artist: "Kylie Minogue",
                      track: "Fever"),
          listenedAt: Date.now.addingTimeInterval(-180)),
    .init(meta: .init(artist: "Kylie Minogue",
                      track: "More More More"),
          listenedAt: Date.now.addingTimeInterval(-360))
])

开发

运行集成测试需要在环境变量 LISTENBRAINZ_TOKEN 中设置 ListenBrainz 令牌

支持的端点