一个用于访问 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。 我会尝试在合理的时间内进行审查。