WeScan 可以轻松地将扫描功能添加到您的 iOS 应用程序中!它是按照 UIImagePickerController
模式设计的,这使得使用起来非常简单。
- 快速且轻量级
- 实时扫描文档
- 编辑检测到的矩形
- 自动扫描和闪光灯支持
- 支持 PDF 和 UIImage
- 已翻译为英语、中文、意大利语、葡萄牙语和法语
- 批量扫描
- Swift 5.0
- iOS 10.0+
Swift Package Manager 是一种用于自动化 Swift 代码分发的工具,并集成到 swift
编译器中。它处于早期开发阶段,但 WeScan 已经支持在支持平台上使用它。
设置好 Swift 包后,只需将它添加到 Package.swift
的 dependencies
值即可将其作为依赖项添加。
dependencies: [
.package(url: "https://github.com/WeTransfer/WeScan.git", .upToNextMajor(from: "1.7.0"))
]
Carthage 是一个去中心化的依赖项管理器,它会构建您的依赖项并向您提供二进制框架。
为了使用 Carthage 将 WeScan 集成到您的 Xcode 项目中,请将其指定在您的 Cartfile
中
github "WeTransfer/WeScan" >= 0.9
运行 carthage update
以构建框架,并将生成的 WeScan.framework
拖放到您的 Xcode 项目中。
仅下载项目,然后将 "WeScan" 文件夹拖放到您的项目中。
只需将 WeScan 框架添加到项目的嵌入式二进制文件和链接框架及库中即可。
-
为了使框架可用,在 Swift 源文件顶部添加
import WeScan
-
在 Info.plist 中添加
NSCameraUsageDescription
键,并设置适当的值,其中您必须告知用户允许相机权限的原因 -
确保您的视图控制器符合
ImageScannerControllerDelegate
协议
class YourViewController: UIViewController, ImageScannerControllerDelegate {
// YourViewController code here
}
- 在您的视图控制器中实现代理函数
func imageScannerController(_ scanner: ImageScannerController, didFailWithError error: Error) {
// You are responsible for carefully handling the error
print(error)
}
func imageScannerController(_ scanner: ImageScannerController, didFinishScanningWithResults results: ImageScannerResults) {
// The user successfully scanned an image, which is available in the ImageScannerResults
// You are responsible for dismissing the ImageScannerController
scanner.dismiss(animated: true)
}
func imageScannerControllerDidCancel(_ scanner: ImageScannerController) {
// The user tapped 'Cancel' on the scanner
// You are responsible for dismissing the ImageScannerController
scanner.dismiss(animated: true)
}
- 最后,在视图控制器中的某个位置创建并呈现
ImageScannerController
实例
let scannerViewController = ImageScannerController()
scannerViewController.imageScannerDelegate = self
present(scannerViewController, animated: true)
- 在您的项目中创建一个占位符 swift 类。当 Xcode 询问是否要创建桥接头时,按“创建桥接头”
- 在新头文件中,将 Objective-C 类(
#import myClass.h
)添加到您想要使用 WeScan 的位置 - 在您的类中,导入头文件 (
import <yourProjectName.swift.h>
) - 将 WeScan 文件夹拖拽到您的项目中以添加
- 在您的类中,添加
@Class ImageScannerController;
ImageScannerController *scannerViewController = [[ImageScannerController alloc] init];
[self presentViewController:scannerViewController animated:YES completion:nil];
作为此项目的创建者和维护者,我们很高兴邀请贡献者帮助我们保持最新。请花一点时间查阅 贡献文档,以便使贡献过程对每个人都简单而有效。
WeScan 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。