使用 EAN-Search.org 提供的 API 进行 UPC、GTIN、ISBN 和 EAN 条形码查找的 Swift 包。
只需将 UPCBarcodeLookup 作为依赖项添加到您的 Product.swift 中。
dependencies: [
.package(url: "https://github.com/eansearch/UPCBarcodeLookup.git", branch: "main")
]
使用您的 API 令牌 初始化 API 实例。
由于所有方法都返回结果列表,如果结果超过 10 个,您需要分页浏览结果。
import UPCBarcodeLookup
let token = ProcessInfo.processInfo.environment["EAN_SEARCH_API_TOKEN"]!
let ean = "5099750442227" // a GTIN, UPC or EAN code, eg from your barcode scanner
let upcLookup = UPCBarcodeLookup(apiToken: token)
do {
let product = try await upcLookup.barcodeLookup(ean: ean)
print ("EAN \(ean) is " + (product?.name ?? "not found"))
let country = try await upcLookup.issuingCountryLookup(ean: ean)
print ("EAN \(ean) was issued in " + (country))
let ok = try await upcLookup.verifyChecksum(ean: ean)
print ("EAN \(ean) checksum OK = \(ok)")
let range = try await upcLookup.barcodePrefixSearch(prefix: "50997504422")
print("Prefix range: 50997504422*")
for product in range {
print ("EAN \(product.ean) is \(product.name)")
}
let products = try await upcLookup.keywordSearch(keywords: "Bananaboat")
print("Keyword: Bananaboat:")
for product in products {
print ("EAN \(product.ean) is \(product.name)")
}
let cat = try await upcLookup.categorySearch(keywords: "Thriller", category: 45)
print("Keyword Thriller in category Music:")
for product in cat {
print ("EAN \(product.ean) is \(product.name)")
}
let similar = try await upcLookup.similarProductSearch(keywords: "Apple iPhone 16GB robust")
print("Similar search:")
for product in similar {
print ("EAN \(product.ean) is \(product.name)")
}
let png = try await upcLookup.generateBarcodeImage(ean: ean, width: 400, height: 300)!
let fileManager = FileManager.default
var documentURL = try! fileManager.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
documentURL = documentURL.appendingPathComponent("barcode.png")
try! png.write(to: documentURL)
print("Credits remaining: ", upcLookup.creditsRemaining())
} catch {
print ("Error: \(error)")
}