if let testImage = UIImage(named: "test.png")?.cgImage {
let codes = EFQRCode.recognize(testImage)
if !codes.isEmpty {
print("There are \(codes.count) codes")
for (index, code) in codes.enumerated() {
print("The content of QR Code \(index) is \(code).")
}
} else {
print("There is no QR Codes in testImage.")
}
}
EFQRCode 是一个轻量级的、用来生成和识别二维码的纯 Swift 库,可根据输入的水印图和图标产生艺术二维码,基于
CoreGraphics
、CoreImage
和ImageIO
进行开发。EFQRCode 为你提供了一种更好的在你的 App 中操作二维码的方式,它能够运行于 iOS、macOS、watchOS 和 tvOS 平台,并且支持通过 CocoaPods、Carthage 和 Swift Package Manager 获取。本项目受 qrcode 启发。概述
示例
TestFlight
你可以点击下方的
TestFlight
按钮下载示例程序:应用商店
你可以点击下方的 App Store 按钮从应用商店下载示例程序,支持 iOS、tvOS 和 watchOS:
你也可以点击下方的 Mac App Store 按钮下载 macOS 示例程序:
手动
git clone
命令下载本仓库;sh Startup.sh
命令获取所有依赖;EFQRCode.xcworkspace
工程中包含了所有的示例程序,用 Xcode 打开它,选择对应平台 target 编译即可。或执行以下命令:
环境
Swift 3.0+
iOS 8.0+ / macOS 10.11+ / tvOS 9.0+
Swift 4.0+
iOS 8.0+ / macOS 10.11+ / tvOS 9.0+ / watchOS 2.0+
Swift 5.0+
iOS 8.0+ / macOS 10.11+ / tvOS 9.0+ / watchOS 2.0+
iOS 9.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+
安装
CocoaPods
EFQRCode 可以通过 CocoaPods 进行获取。只需要在你的 Podfile 中添加如下代码就能实现引入:
然后,执行如下命令即可:
Carthage
Carthage 是一个去中心化的依赖管理器,它为我们构建依赖并通过提供二进制 Frameworks 的方式供我们使用。
你可以通过 Homebrew 使用如下命令来安装 Carthage:
通过在你的
Cartfile
添加如下语句可以将 EFQRCode 引入你的项目:接下来执行
carthage update
命令生成 Framework 并且将生成的EFQRCode.framework
拖入工程即可。Swift Package Manager
Swift Package Manager 是一个集成在 Swift 编译器中的用来进行 Swift 代码自动化发布的工具。
如果你已经建立了你的 Swift 包,将 EFQRCode 加入依赖是十分容易的,只需要将其添加到你的
Package.swift
文件的dependencies
项中即可:快速使用
1. 导入 EFQRCode
在你需要使用的地方添加如下代码引入 EFQRCode 模块:
2. 二维码识别
获取图片中所包含的二维码,同一张图片中可能包含多个二维码,所以返回值是一个字符串数组:
3. 二维码生成
根据所输入参数创建各种艺术二维码图片,快速使用方式如下:
content
size
backgroundColor
foregroundColor
watermark
结果:
4. 动态二维码
可通过 EFQRCode 的类方法
generateGIF
来创建 GIF 二维码,使用方式如下:generator
EFQRCodeGenerator
对象data
delay
loopCount
你可以通过查看 Demo 代码的方式来获取更多信息,结果预览:
5. 接下来
查看 用户手册 了解更多细节。
您也可以查看下列非官方的使用说明:
备注
magnification
替代size
,或适当提高它们的数值;Issue
和Pull request
都是受欢迎的。备注的备注:好用的话可以给个
星星
,蟹蟹,QAQ…其它平台/语言
贡献者
这个项目的存在多亏了所有贡献的人。[参与贡献]
捐赠
如果你认为这个项目给你带来了帮助,你可以给我买杯咖啡。如果你喜欢这个项目,并愿意为它的发展提供进一步的支持,你可以选择在 Open Collective 上成为
支持者
。感谢所有的支持者! 🙏 [成为支持者]赞助商
使用 EFQRCode 的应用
其他
文档与演示项目中部分图片来源于网络,如侵犯您的合法权益,请联系我们删除。
联系
邮箱:eyrefree@eyrefree.org
协议
EFQRCode 基于 MIT 协议进行分发和使用,更多信息参见协议文件。