Skip to content

Commit

Permalink
Release 7.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathanellis committed Jul 12, 2019
1 parent 8d51558 commit ec02cc6
Show file tree
Hide file tree
Showing 19 changed files with 11 additions and 44 deletions.
37 changes: 5 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
# iProov iOS SDK v7.0.0-beta3
# iProov iOS SDK v7.0.0

## 🤳 Introduction

The iProov iOS SDK allows you to integrate iProov into your iOS app. We also have an [Android SDK](https://github.com/iproov/android) and [HTML5 client](https://github.com/iProov/html5).

> **💠 PRE-RELEASE SOFTWARE:** This version is currently in beta and not all features of the SDK are enabled or fully operations.
The iProov iOS SDK is a binary iOS dynamic framework. It is supported on devices running iOS 9.0 and above, on both iPhones and iPads, using Xcode 10.2.1 (see note below regarding Xcode version compatibility).

The framework has been written in Swift, and we recommend use of Swift for the simplest and cleanest integration, however it is also possible to call iProov from within an Objective-C app using our Objective-C wrapper, which provides an Objective-C friendly API to invoke the Swift code.
Expand All @@ -19,20 +17,6 @@ The framework package is provided via this repository, which contains the follow
* **WaterlooBankObjC** -- a folder containing an Xcode sample project for _Waterloo Bank_ written in Objective-C.
* **iProov.framework & iProov.podspec** -- these are the files which will be pulled in automatically by Cocoapods. You do not need to do anything with these files.

## 💠 Pre-release software

Please note that iOS SDK v7.0.0 is currently beta (pre-release) software for pre-release evaluation/testing purposes only, **and is not intended to be used in production**. Do not put this SDK into a production app without checking with iProov first.

#### Known issues

- The SDK can only be installed via Cocoapods `:git` parameter, and is not available on the trunk repo. v7 will soon be available on the trunk repo.
- The new evolutionary adaptive lighting model is still undergoing training. You may experience failures to iProov in particularly bright environments (e.g. outdoors).
- We do not currently have Waterloo Bank sample code in Objective-C.

Look out for the 💠 symbol in the documentation for additional/missing information in relating to pre-release software.

If you find any other issues, please [contact support](mailto:[email protected]).

## ⚠️ Important notice regarding Xcode compatibility

Please note that iProov is distributed as a compiled binary framework. Due to [current Swift limitations](https://forums.swift.org/t/plan-for-module-stability/14551), this means that the version of Xcode (and the version of Swift) that was used to compile the iProov framework must exactly match the version of Xcode used to compile your app.
Expand Down Expand Up @@ -64,9 +48,8 @@ Integration with your app is supported via both Cocoapods and Carthage. We recom
2. Add the following to your **Podfile** (inside the target section):

```ruby
pod 'iProov', :git => 'https://github.com/iProov/ios.git', :branch => 'nextgen'
pod 'iProov'
```
> **💠 PRE-RELEASE SOFTWARE:** You will be able to move the `git:` and `:branch` parameters once the final version of the SDK is released.

3. Run `pod install`.

Expand All @@ -83,15 +66,10 @@ Add the following to your Cartfile:
github "socketio/socket.io-client-swift" == 15.1.0
github "kishikawakatsumi/KeychainAccess" ~> 3.2.0
github "SwiftyJSON/SwiftyJSON" ~> 4.0.0
binary "https://raw.githubusercontent.com/iProov/ios/nextgen/carthage/IProov.json"
binary "https://raw.githubusercontent.com/iProov/ios/master/carthage/IProov.json"
```
> **⬆️ UPGRADING NOTICE:** Take note of the new dependencies & versions!
---

> **💠 PRE-RELEASE SOFTWARE:** Take note of the nextgen-specific URL for the IProov binary. This will need to be updated once v7 is released to production.

After installation, you will need to add an `NSCameraUsageDescription` entry to your app's Info.plist, with the reason why your app requires camera access (e.g. “To iProov you in order to verify your identity.”)

## 🚀 Get started
Expand Down Expand Up @@ -153,10 +131,6 @@ By default, iProov will stream to our EU back-end platform. If you wish to strea

> **⬆️ UPGRADING NOTICE:** Previously, after launching iProov, the SDK would handle the entire user experience end-to-end, from getting a token all the way through to the streaming UI and would then pass back a pass/fail/error result to your app. In v7, the SDK flashes the screen and then hands back control to your app, whilst the capture is streamed in the background. This means that you can now control the UI to display your own streaming UI, or allow the user to continue with another activity whilst the iProov capture streams in the background.
---

> **💠 PRE-RELEASE SOFTWARE:** Objective-C sample code is coming soon.
## ⚙ Options

You can customize the iProov session by passing in an `Options` object when launching iProov and setting any of these variables:
Expand Down Expand Up @@ -195,7 +169,7 @@ options.ui.presentationDelegate = MyPresentationDelegate() // See the section be
*/

options.network.certificates = [Bundle.main.path(forResource: "custom_cert", ofType: "der")!] // Supply an array of paths of certificates to be used for pinning. Useful when using your own proxy server, or for overriding the built-in certificate pinning for some other reason. Certificates should be generated in DER-encoded X.509 certificate format, eg. with the command: $ openssl x509 -in cert.crt -outform der -out cert.der
options.network.disableCertificatePinning = false // Disables SSL/TLS certificate pinning to the server. WARNING! Do not enable this in production apps.
options.network.certificatePinningDisabled = false // Disables SSL/TLS certificate pinning to the server. WARNING! Do not enable this in production apps.

/*
CaptureOptions
Expand Down Expand Up @@ -257,8 +231,6 @@ If the user's device language is set to one of the above, the SDK will be locali

It is also possible to manually customize any of the strings in the app, regardless of locale.

> **💠 PRE-RELEASE SOFTWARE:** More information on string customization coming soon.
## 💥 Handling failures & errors

### Failures
Expand All @@ -283,6 +255,7 @@ Errors are caught via the `.error(error)` enum case in the callback. The `error`

A description of these cases are as follows:

* `captureAlreadyActive` - An existing iProov capture is already in progress. Wait until the current capture completes before starting a new one.
* `streamingError(String?)` - An error occurred with the video streaming process. Consult the error associated value for more information.
* `encoderError(code: Int32?)` - An error occurred with the video encoder. Report the error code to iProov for further assistance.
* `lightingModelError` - An error occurred with the lighting mode. This should be reported to iProov for further assistance.
Expand Down
6 changes: 4 additions & 2 deletions carthage/IProov.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
"6.2.0": "https://raw.githubusercontent.com/iProov/ios/master/carthage/iProov_6_2_0.zip",
"6.2.1": "https://raw.githubusercontent.com/iProov/ios/master/carthage/iProov_6_2_1.zip",
"6.3.0": "https://raw.githubusercontent.com/iProov/ios/master/carthage/iProov_6_3_0.zip",
"7.0.0-beta1": "https://raw.githubusercontent.com/iProov/ios/nextgen/carthage/iProov_7_0_0-beta1.zip",
"7.0.0-beta2": "https://raw.githubusercontent.com/iProov/ios/nextgen/carthage/iProov_7_0_0-beta2.zip",
"7.0.0-beta1": "https://raw.githubusercontent.com/iProov/ios/master/carthage/iProov_7_0_0-beta1.zip",
"7.0.0-beta2": "https://raw.githubusercontent.com/iProov/ios/master/carthage/iProov_7_0_0-beta2.zip",
"7.0.0-beta3": "https://raw.githubusercontent.com/iProov/ios/master/carthage/iProov_7_0_0-beta3.zip",
"7.0.0": "https://raw.githubusercontent.com/iProov/ios/master/carthage/iProov_7_0_0.zip",
}
Binary file added carthage/iProov_7_0_0.zip
Binary file not shown.
Binary file modified iProov.framework/Assets.car
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified iProov.framework/Info.plist
Binary file not shown.
Binary file modified iProov.framework/Modules/iProov.swiftmodule/arm.swiftmodule
Binary file not shown.
Binary file modified iProov.framework/Modules/iProov.swiftmodule/arm64.swiftmodule
Binary file not shown.
Binary file modified iProov.framework/Modules/iProov.swiftmodule/i386.swiftmodule
Binary file not shown.
Binary file modified iProov.framework/Modules/iProov.swiftmodule/x86_64.swiftmodule
Binary file not shown.
2 changes: 1 addition & 1 deletion iProov.framework/README.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Loco ios export: iOS Localizable.strings
Project: iProov
Release: Working copy
Exported at: Fri, 24 May 2019 10:39:38 +0100
Exported at: Fri, 12 Jul 2019 11:53:05 +0100
Exported by: Jonathan Ellis
Binary file modified iProov.framework/en.lproj/Localizable.strings
Binary file not shown.
Binary file modified iProov.framework/iProov
Binary file not shown.
Binary file modified iProov.framework/nb.lproj/Localizable.strings
Binary file not shown.
Binary file modified iProov.framework/nl.lproj/Localizable.strings
Binary file not shown.
Binary file modified iProov.framework/nn.lproj/Localizable.strings
Binary file not shown.
Binary file modified iProov.framework/tr.lproj/Localizable.strings
Binary file not shown.
10 changes: 1 addition & 9 deletions iProov.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'iProov'
s.version = '7.0.0-beta3'
s.version = '7.0.0'
s.summary = 'It\'s never been so simple to authenticate securely'
s.homepage = 'https://www.iproov.com/'
s.license = { :type => 'MIT', :file => 'licenses/3rdparty.md' }
Expand All @@ -9,8 +9,6 @@ Pod::Spec.new do |s|

s.ios.deployment_target = '9.0'
s.swift_version = '5.0'
s.source_files = 'iProov/Classes/**/*'
s.resources = 'iProov/Assets/**/*'

s.ios.vendored_frameworks = 'iProov.framework'

Expand All @@ -21,11 +19,5 @@ Pod::Spec.new do |s|
s.dependency 'KeychainAccess', '~> 3.2.0'
s.dependency 'Socket.IO-Client-Swift', '~> 15.1.0'
s.dependency 'SwiftyJSON', '~> 4.0.0'

s.test_spec 'Tests' do |test_spec|
test_spec.source_files = 'iProov/Tests/**/*'
test_spec.dependency 'Quick'
test_spec.dependency 'Nimble'
end

end

0 comments on commit ec02cc6

Please sign in to comment.