WeScan
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.2
- 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:
$ pod install
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
ImageScannerControllerDelegate
protocol
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)
}
func imageScannerControllerDidCancel(_ scanner: ImageScannerController) {
// Your ViewController is responsible for dismissing the ImageScannerController
scanner.dismiss(animated: true)
}
- Simply present the
ImageScannerController
instance on yourViewController
// Somewhere on your ViewController
let scannerVC = ImageScannerController()
scannerVC.imageScannerDelegate = self
self.present(scannerVC, animated: true)
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.