Credit card scanning for mobile apps
card.io library for iOS is now open-source!
Yes, that's right: theThis repository contains everything needed to build the card.io library for iOS.
What it does not yet contain is much in the way of documentation.
Note that this is actual production code, which has been iterated upon by multiple developers over several years. If you see something that could benefit from being tidied up, rewritten, or otherwise improved, your Pull Requests will be welcome! See CONTRIBUTING.md for details.
Using card.io
If you merely wish to incorporate card.io within your iOS app, simply download the latest official release from https://github.com/card-io/card.io-iOS-SDK. That repository includes complete integration instructions and sample code.
CocoaPods, then add this line to your podfile:
If you usepod 'CardIO'
Carthage, then add this line to your Cartfile:
If you usegithub "card-io/card.io-iOS-source"
You must also have an SSH key setup with GitHub so that the dmz submodule will download properly. See the documentation here for directions.
Dev setup
- clone this repo, including its
dmz
submodule:git submodule sync; git submodule update --init --recursive
- requires Xcode 5+ (toolchain for iOS 7)
- requires Python 2.6+
- for building releases, requires
pip
andfabric
Python
We use Python-based build scripts.
If you are using virtualenv and virtualenvwrapper, create a virtual environment (optional but recommended):
# Create virtual environment for Python
mkvirtualenv cardio
Install required Python dependencies (this command may require sudo rights if installing globally):
# Install required dependencies
pip install -r pip_requirements.txt
Baler
We use baler (included in pip_requirements.txt
) to encode assets (strings and images) within our library. Create a .baler_env
file in the top project directory, and set the $PATH
environment variable to include where you installed baler. Examples:
# Create a .baler_env, specifying the correct path for an installation using virtualenv
echo 'export PATH=$PATH:~/.virtualenvs/cardio/bin' > .baler_env
# - OR -
# Create a .baler_env, specifying the correct path if not using virtualenv
echo 'export PATH=$PATH:'`dirname \`which bale\`` > .baler_env
card.io-dmz
The card.io-dmz submodule (included here in the dmz
directory) includes the core image-processing code.
Normal development
Use Xcode in a normal fashion to build the library. The project's icc
target is a demo app which will allow you to exercise the library in various ways.
Unofficial card.io-iOS-SDK release
How to make a Release build of the library for your own use:
- Run
fab build:outdir=~
(or specify some other output directory).
Official card.io-iOS-SDK release
How official releasers officially make an official release of card.io-iOS-SDK
Contributors
card.io was created by Josh Bleecher Snyder.
Subsequent help has come from Brent Fitzgerald, Tom Whipple, Dave Goldman, Roman Punskyy, Mark Rogers, and Martin Rybak.
And from you! Pull requests and new issues are welcome. See CONTRIBUTING.md for details.