ScryfallKit

Build and test Swift Version Compatibility Platform Support

一个用于访问 Scryfall REST API 的 Swift 包

文档

这个库基本上是将 Scryfall 的 REST API 翻译成一系列 Swift 枚举和结构体。强烈建议您阅读官方 Scryfall API 文档,因为本项目中的文档不会尝试深入解释每个端点的工作方式。

要获取最新的文档,请使用 此处 发布的 DocC 页面

要在本地生成这些页面,请从 Apple 的 Swift DocC 插件中使用以下命令

swift package --disable-sandbox preview-documentation --target ScryfallKit

入门

通过 Xcode UI 将 ScryfallKit 添加到您的项目中,或者通过以下 Swift 包流程添加

let package = Package(
    // ... Other Package.swift stuff goes here
    dependencies: [
        .package(url: "https://github.com/JacobHearst/ScryfallKit", from: "5.0.0"), // Add the library to your manifest
    ],
    targets: [
        .target(name: "MyPackage", dependencies: ["ScryfallKit"]), // Add it to your target's dependencies
    ]
)

示例

import ScryfallKit

let client = ScryfallClient()

// Retrieve the Strixhaven Mystical Archive printing of Doom Blade
do {
    let doomBlade = try await client.getCardByName(exact: "Doom Blade", set: "STA")
    print(doomBlade.cmc)
} catch {
    print("Received error: \(error)")
}

// Or using a completion handler
client.getCardByName(exact: "Doom Blade", set: "STA") { result in
    switch result {
    case .success(let doomBlade):
        print(doomBlade.cmc)
    case .failure(let error):
        print("Received error: \(error)")
    }
}

网络日志记录

ScryfallClient 具有可配置的网络日志记录级别,具有两个选项:minimal 和 verbose。启用 verbose 日志记录将打印每个请求和响应的 HTTP body。Minimal 日志记录将记录已发出请求(及其发出的 URL),以及已收到响应。

贡献

随时欢迎贡献,只需 fork 此仓库,进行并测试您的更改,然后打开一个 pull request。 我会尝试在合理的时间内进行审查。