/card.io-iOS-source

The open-source code for the card.io-iOS-SDK: provides fast, easy credit card scanning in mobile apps

Primary LanguageC++OtherNOASSERTION

card.io logo

Credit card scanning for mobile apps

Yes, that's right: the card.io library for iOS is now open-source!

This 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. 😿 So please feel free to ask any questions by creating github issues -- we'll gradually build our documentation based on the discussions there.

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.

Brought to you by
PayPal logo

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.

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 and fabric

Python

We use python-based build scripts.

    # If you are using virtualenv and virtualenvwrapper, create a virtualenv
    # (optional but recommended)
    mkvirtualenv cardio

    # Install 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, and Roman Punskyy.

And from you! Pull requests and new issues are welcome. See CONTRIBUTING.md for details.