<commit_before># Keyper iOS SDK Developers Guide
**SDK Version: 0.9.+**
 
Contact: *<EMAIL>*

Last Updated: *28.06.2016*

The keyper SDK offers developers a complete mobile ticket solution, that they can include and use within their apps.

## Getting Started

There are at least two ways to integrate the SDK: with or without Cocoapods. We will show both ways here.

### Prerequisites

- This SDK has been built with Xcode 8.1, so we'd recommend you use at least this version.
- If you decide to use Cocoapods, you need to use version 1.0.0 or higher (check with ```pod --version```), since the podspec is not compabible with lower versions.
- The SDK does not use any Swift code, so you need not worry about runtime versions. 

### Adding SDK Binaries WITH Cocopoapods

_Note: You can look at the Example project in this repository to see how the SDK is integrated using Cocoapods. Please note though that you will have to integrate the ```keyper-ios-sdk``` pod via ```pod 'keyper-ios-sdk', :git => 'https://github.com/keyper/keyper-ios-sdk.git', :tag => '0.9.0'```, since the local path declaration only works for this example project._

1. Open Terminal.app
2. Update/install Cocoapods by running ```sudo gem install cocoapods```
3. ```cd``` into your project directory (such that ```ls``` shows the ```.xcodeproj``` file)
4. If your project is not yet using Cocoapods:
    1. Run ```pod init```
    2. Open the newly created ```Podfile``` (e.g. with ```nano Podfile```, or ```open .``` and then opening it from Finder)
    3. In the ```Podfile```, uncomment or edit your minimal target platform (e.g. ```platform :ios, '9.0'```). keyper SDK supports versions as low as 8.0.
5. In the ```Podfile```, add the target(s) and keyper SDK dependency for your project (named exactly like the one from Xcode when you look at the project file), like so: 
    
	```
	target 'target-name-that-you-copied-from-xcode' do 
      pod 'keyper-ios-sdk', :git => 'https://github.com/keyper/keyper-ios-sdk.git', :tag => '0.9.1'
	end
	```
	Look at this repository's branch selector to find out which versions are available. Each version has its own branch. Later on, the SDK might be available via Cocoapod's central repository, but currently it's not.
6. Run ```pod install```. This might take a while when executed the first time.
7. Open the project in Xcode using the ```.xcworkspace``` file from this time on. If your original workspace (before integrating Cocoapods) relied on subprojects, have a look at Cocoapods' documentation to let Cocoapods generate your workspace file properly (especially https://guides.cocoapods.org/syntax/podfile.html#project).

### Adding SDK Binaries WITHOUT Cocopoapods

1. Download and unzip the SDK's files (e.g., for version 0.9.0, the complete ZIP file can be found at https://github.com/keyper/keyper-ios-sdk/archive/0.9.0.zip - look at this repository's branch/tag selector to find out which versions are available).
2. Create a ```keyper SDK```, ```Vendor``` or similar group in your Xcode project if you don't want the SDK's files to clutter your structure
3. Locate the folder ```keyper-ios-sdk``` within the previously extracted files, and drag them into your project (into a group if you want). If the previously extracted folder is within your project's folder, you can uncheck ```Copy items if needed``` in the dialog. Please note that you will only ever need the files in the ```keyper-ios-sdk``` folder, so you can delete all files outside that.

If you run into any problems with installation, please contact us at *<EMAIL>*.

## General

keyper iOS SDK is compatible with deployment targets of 8.0 or higher.

The SDK consists of:

- Header files (*.h) that allow you to start and interface with the SDK in your code.
- A static library (libkeyper-ios-sdk.a) that contains all the views and business logic of the SDK in compiled form. Note that this file is way bigger than the actual size impact the SDK will have on your app.
- Bundle files (*.bundle) that contain image and localization assets. You can look into them by right-clicking in Finder and selecting "Show package contents".

The SDK requests two permissions at runtime:
<commit_msg>Fixing versions in readme, adding changelog.<commit_after># Keyper iOS SDK Developers Guide
**SDK Version: 0.9.1**
 
Contact: *<EMAIL>*

Last Updated: *09 Dec 2016*

The keyper SDK offers developers a complete mobile ticket solution, that they can include and use within their apps.

## Changelog

**2016-06-29**

Initial release

**2016-12-09**

- Adding support for handling season tickets, and even sending them individually
- Using request batching (with https://github.com/keyper/KEYBatchRequest)
- Added deep linking
- Improving semantics, like price/currency homogeneity
- Refining language when addressing the user
- Fixing some bugs

## Getting Started

There are at least two ways to integrate the SDK: with or without Cocoapods. We will show both ways here.

### Prerequisites

- This SDK has been built with Xcode 8.1, so we'd recommend you use at least this version.
- If you decide to use Cocoapods, you need to use version 1.0.0 or higher (check with ```pod --version```), since the podspec is not compabible with lower versions.
- The SDK does not use any Swift code, so you need not worry about runtime versions. 

### Adding SDK Binaries WITH Cocopoapods

_Note: You can look at the Example project in this repository to see how the SDK is integrated using Cocoapods. Please note though that you will have to integrate the ```keyper-ios-sdk``` pod via ```pod 'keyper-ios-sdk', :git => 'https://github.com/keyper/keyper-ios-sdk.git', :tag => '0.9.1'```, since the local path declaration only works for this example project._

1. Open Terminal.app
2. Update/install Cocoapods by running ```sudo gem install cocoapods```
3. ```cd``` into your project directory (such that ```ls``` shows the ```.xcodeproj``` file)
4. If your project is not yet using Cocoapods:
    1. Run ```pod init```
    2. Open the newly created ```Podfile``` (e.g. with ```nano Podfile```, or ```open .``` and then opening it from Finder)
    3. In the ```Podfile```, uncomment or edit your minimal target platform (e.g. ```platform :ios, '9.0'```). keyper SDK supports versions as low as 8.0.
5. In the ```Podfile```, add the target(s) and keyper SDK dependency for your project (named exactly like the one from Xcode when you look at the project file), like so: 
    
	```
	target 'target-name-that-you-copied-from-xcode' do 
      pod 'keyper-ios-sdk', :git => 'https://github.com/keyper/keyper-ios-sdk.git', :tag => '0.9.1'
	end
	```
	Look at this repository's branch selector to find out which versions are available. Each version has its own branch. Later on, the SDK might be available via Cocoapod's central repository, but currently it's not.
6. Run ```pod install```. This might take a while when executed the first time.
7. Open the project in Xcode using the ```.xcworkspace``` file from this time on. If your original workspace (before integrating Cocoapods) relied on subprojects, have a look at Cocoapods' documentation to let Cocoapods generate your workspace file properly (especially https://guides.cocoapods.org/syntax/podfile.html#project).

### Adding SDK Binaries WITHOUT Cocopoapods

1. Download and unzip the SDK's files (e.g., for version 0.9.1, the complete ZIP file can be found at https://github.com/keyper/keyper-ios-sdk/archive/0.9.1.zip - look at this repository's branch/tag selector to find out which versions are available).
2. Create a ```keyper SDK```, ```Vendor``` or similar group in your Xcode project if you don't want the SDK's files to clutter your structure
3. Locate the folder ```keyper-ios-sdk``` within the previously extracted files, and drag them into your project (into a group if you want). If the previously extracted folder is within your project's folder, you can uncheck ```Copy items if needed``` in the dialog. Please note that you will only ever need the files in the ```keyper-ios-sdk``` folder, so you can delete all files outside that.

If you run into any problems with installation, please contact us at *<EMAIL>*.

## General

keyper iOS SDK is compatible with deployment targets of 8.0 or higher.

The SDK consists of:

- Header files (*.h) that allow you to start and interface with the SDK in your code.
- A static library (libkeyper-ios-sdk.a) that contains all the views and business logic of the SDK in compiled form. Note that this file is way bigger than the actual size impact the SDK will have on your app.
- Bundle files (*.bundle) that contain image and localization assets. You can look into them by right-clicking in Finder and selecting "Show package contents".

The SDK requests two permissions at runtime:

{'fraction_non_alphanumeric': 0.096380038826082, 'fraction_numerical': 0.012218796391458262, 'mean_word_length': 4.1067055393586, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 15, 'https://': 9, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1931036', 'n_tokens_mistral': 2589, 'n_tokens_neox': 2436, 'n_words': 1279}