SwiftGS1Barcode
一个使用 Swift 编写的 GS1 条码库和解码器
一个库,可以将 GS1 条码字符串解析为对象,并允许轻松访问 GS1 条码可能具有的属性。
支持大量常见的应用标识符(GS1 条码),但可以轻松地在运行时扩展以支持任何所需标识符。
欢迎贡献。
您还可以在 CocoaPods 上找到此项目,或可以使用 Swift 包管理器。
入门
解析如同以下这样简单
import SwiftGS1Barcode
// ...
let gs1Barcode = "01101234670417283002\u{1D}1721103110S123456"
let barcode = GS1Barcode(raw: gs1Barcode)
barcode.validate() // To check if you barcode is valid
print(barcode.gtin) // 10123467041728
print(barcode.countOfItems) // 2
print(barcode.expirationDate) // 31.10.2021
print(barcode.lotNumber) // S123456
高级使用
要将解析与初始化分开,我推荐使用如下代码
import SwiftGS1Barcode
// ...
let gs1BarcodeText = "01101234670417283002\u{1D}1721103110S123456"
let barcode = GS1Barcode()
barcode.raw = gs1BarcodeText
_ = barcode.parse()
要解析 自定义应用标识符,请使用以下代码
import SwiftGS1Barcode
// ...
let gs1BarcodeText = "90HelloWorld\u{1D}01101234670417283002\u{1D}1721103110S123456"
let barcode = GS1Barcode()
barcode.applicationIdentifiers["custom1"] = GS1ApplicationIdentifier("90", length: 30, type: .String, dynamicLength: true)
barcode.raw = gs1BarcodeText
_ = barcode.parse()
print(barcode.applicationIdentifiers["custom1"]!.stringValue)
有关如何设置应用标识符的示例,请查看 GS1Barcode 类
可用属性
以下属性目前被支持
ID | 应用标识符 | 实验性支持 |
---|---|---|
00 | serialShippingContainerCode | |
01 | gtin | |
02 | gtinOfContainedTradeItems | |
10 | lotNumber(批量号) | |
11 | 生产日期 | |
12 | 到期日期 | |
13 | 包装日期 | |
15 | 最佳使用期日期 | |
17 | 过期日期 | |
20 | 产品变体 | |
21 | 序列号 | |
22 | 次要数据字段 | |
30 | 项目数量 | |
37 | 包含的单位数 | |
310 | 产品重量(千克) | |
23n | lotNumberN | 是 |
240 | 附加产品标识符 | 是 |
241 | 客户零件编号 | 是 |
242 | 按订单定制变体编号 | 是 |
250 | 次要序列号 | 是 |
251 | 参考源实体 | 是 |
实验性支持表示这些属性正在被解析,但没有提供getter。您可以通过调用,例如 myGs1Barcode.applicationIdentifiers["additionalProductIdentification"]
来获取值。 另外,如果出现任何解析问题,实现可能会发生变化。
您可以通过将其添加到键/值字典中来添加自定义应用标识符
let barcode = GS1Barcode()
barcode.applicationIdentifiers["custom1"] = GS1ApplicationIdentifier("90", length: 30, type: .String, dynamicLength: true)
它们将被 parse()
函数自动解析。
您还可以自行为自己贡献并添加到 GS1BarcodeParser.swift
类中,或者如果您缺少某些内容,可以打开 issue。
安装
Swift Package Manager(推荐)
打开你的项目并在Xcode中点击 文件 -> Swift Packages -> 添加依赖 并输入 [email protected]:xremix/SwiftGS1Barcode.git
CocoaPods
您可以通过使用 CocoaPods 在项目中安装 库。将以下代码添加到您的 Podfile
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'SwiftGS1Barcode'
end
另一种选择是将直接从 GitHub 源(或不同的分支)添加
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'SwiftGS1Barcode', :git => 'https://github.com/xremix/SwiftGS1Barcode', :branch => 'master'
end
手动
可以将项目添加为 Git 子模块
。只需将 SwiftGS1Barcode.xcodeproj
文件拖入您的 Xcode 项目中。
别忘了将框架添加到您的应用程序目标中
资源
该项目使用的一些资源。
GS1 解析
https://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf https://www.activebarcode.de/codes/ean128_ucc128_ai.html https://www.gs1.at/fileadmin/user_upload/Liste_GS1_Austria_Application_Identifier.pdf