WeScan makes it easy to add scanning functionalities to your iOS app!
It's modelled after UIImagePickerController, which makes it a breeze to use.
Features
- Live scanning of documents
- Edit detected rectangle
- Fast
- Lightweight dependency
- Batch scanning
Example
Requirements
- Swift 4.0
- iOS 10.0+
- Xcode 9.x
Installation
Cocoapods
CocoaPods is a dependency manager for Cocoa projects.
To integrate WeScan into your Xcode project using CocoaPods, specify it in your Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'WeScan', '>= 0.9'
end
Then, run the following command:
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
To integrate WeScan into your Xcode project using Carthage, specify it in your Cartfile:
github "WeTransfer/WeScan" >= 0.9
Run carthage update to build the framework and drag the built WeScan.framework into your Xcode project.
Manually
Just download the project, and drag and drop the "WeScan" folder in your project.
Usage
- Make sure that your ViewController conforms to the
ImageScannerControllerDelegateprotocol
class YourViewController: UIViewController, ImageScannerControllerDelegate {
- Implement the delegate functions
// Somewhere on your ViewController that conforms to ImageScannerControllerDelegate func imageScannerController(_ scanner: ImageScannerController, didFailWithError error: Error) { print(error) } func imageScannerController(_ scanner: ImageScannerController, didFinishScanningWithResults results: ImageScannerResults) { // Your ViewController is responsible for dismissing the ImageScannerController scanner.dismiss(animated: true, completion: nil) } func imageScannerControllerDidCancel(_ scanner: ImageScannerController) { // Your ViewController is responsible for dismissing the ImageScannerController scanner.dismiss(animated: true, completion: nil) }
- Simply present the
ImageScannerControllerinstance on yourViewController
// Somewhere on your ViewController let scannerVC = ImageScannerController() scannerVC.imageScannerDelegate = self self.present(scannerVC, animated: true, completion: nil)
Communication
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request.
License
WeScan is available under the MIT license. See the LICENSE file for more info.

