WeScan makes it easy to add scanning functionalities to your iOS app!
It's modelled after UIImagePickerController
, which makes it a breeze to use.
- Live scanning of documents
- Edit detected rectangle
- Fast
- Lightweight dependency
- Batch scanning
- Swift 4.0
- iOS 10.0+
- Xcode 9.x
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 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.
Just download the project, and drag and drop the "WeScan" folder in your project.
- 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, completion: nil)
}
func imageScannerControllerDidCancel(_ scanner: ImageScannerController) {
// Your ViewController is responsible for dismissing the ImageScannerController
scanner.dismiss(animated: true, completion: nil)
}
- Simply present the
ImageScannerController
instance on yourViewController
// Somewhere on your ViewController
let scannerVC = ImageScannerController()
scannerVC.imageScannerDelegate = self
self.present(scannerVC, animated: true, completion: nil)
- 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.
WeScan is available under the MIT license. See the LICENSE file for more info.