Skip to content

Commit

Permalink
changes for 29.9.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
J. Doe (https://devcenter.bitrise.io/builds/setting-your-git-credentials-on-build-machines/) committed Mar 27, 2024
1 parent cb95163 commit bf5bfe5
Show file tree
Hide file tree
Showing 53 changed files with 497 additions and 194 deletions.
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,23 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

**Note**: If the strings translations change it will result in a MINOR version change, therefore you are responsible for testing your translated layout in case you are using custom translations. [More on language localisation](README.md#language-customisation)

## [29.9.0] - 2024-03-21

### Added

- Added UIAccessibilityTraitButton for 'CAN'T FIND YOUR COUNTRY' button in the Country Selection Screen
- Added Motion support for all devices: Older iPhones and all iPads now also supported. Motion capture fallback configuration has therefore been deprecated.
- If you currently set `recordAudio`, use `MotionStepConfiguration(recordAudio:)` instead. If not, use `nil` instead of `MotionStepConfiguration(captureFallback:)`.

### Changed

- Improved the accessibility announcements on the NFC dialog while users scan their passport chip
- Improved readability for accessibility by showing the complete text when font settings are set to 200%.

### Fixed

- Fixed regression from 29.7.1 where in cases that Video capture should be restarted the same capture was instead continued, leading to videos that were too long and with the audio out of sync

## [29.8.0] - 2024-02-08

### Added
Expand Down
7 changes: 7 additions & 0 deletions MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

These guides below are provided to ease the transition of existing applications using the Onfido SDK from one version to another that introduces breaking API changes.

* [Onfido iOS SDK 29.9.0 Migration Guide](#onfido-ios-sdk-2990-migration-guide)
* [Onfido iOS SDK 29.6.0 Migration Guide](#onfido-ios-sdk-2960-migration-guide)
* [Onfido iOS SDK 29.5.0 Migration Guide](#onfido-ios-sdk-2950-migration-guide)
* [Onfido iOS SDK 29.3.0 Migration Guide](#onfido-ios-sdk-2930-migration-guide)
Expand Down Expand Up @@ -65,6 +66,12 @@ These guides below are provided to ease the transition of existing applications
* [Onfido iOS SDK 4.0.0 Migration Guide](#onfido-sdk-400-migration-guide)
* [Onfido iOS SDK 3.0.0 Migration Guide](#onfido-sdk-300-migration-guide)

## Onfido iOS SDK 29.9.0 Migration Guide

### Deprecated API Changes

- If you currently set `recordAudio`, use `MotionStepConfiguration(recordAudio:)` instead. If not, use `nil` instead of `MotionStepConfiguration(captureFallback:)`.

## Onfido iOS SDK 29.6.0 Migration Guide

### Functionality Changes
Expand Down
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ let package = Package(

.binaryTarget(
name: "Onfido",
url: "https://s3-eu-west-1.amazonaws.com/onfido-sdks/ios/Onfido-v29.8.0.zip",
checksum: "72040b810eba10024cb8203181f31e793bf29d6408e97db92a52b3f0b11a976c"
url: "https://s3-eu-west-1.amazonaws.com/onfido-sdks/ios/Onfido-v29.9.0.zip",
checksum: "ac0b5c0c284ace8e2ade9d85593b6490b5ea6d3c98df1793259aa89378056d15"
),


Expand Down
83 changes: 5 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -482,8 +482,6 @@ switch response {
case OnfidoFlowError.versionInsufficient:
// This happens when you are using an older version of the iOS SDK and trying
// to access a new functionality from workflow. You can fix this by updating the SDK
case OnfidoFlowError.motionUnsupported:
// This happens when the device does not support the Motion product and no fallback capture method has been configured

default: // necessary because of Swift
}
Expand Down Expand Up @@ -659,7 +657,7 @@ The possible steps include:
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `withWelcomeStep` | Welcome screen shown to the user with preliminary instructions. [Customization](#welcome-step) options include modification to the text elements and instructions shown to the user. |
| `withDocumentStep` | Set of screens that control the capture via photo or upload of the user's document. Numerous [customization](#document-step) options are available to define the document list presented to the user and the overall capture experience. |
| `withFaceStep` | Set of screens that control the capture of a selfie, video or motion capture of the user. The [customization](#face-step) options allow the selection of the capture variant as well as fallback options. |
| `withFaceStep` | Set of screens that control the capture of a selfie, video or motion capture of the user. The [customization](#face-step) options allow the selection of the capture variant. |
| `withProofOfAddressStep` | Screen where the user selects the issuing country and type of document to [verify their address](#proof-of-address-step). |

#### Welcome step
Expand Down Expand Up @@ -955,44 +953,6 @@ Builder * variantBuilder = [ONFaceStepVariantConfig builder];

To configure for **Motion**:

The Motion variant may not be supported on certain devices based on minimum device and OS requirements. For example, Motion
is currently not supported on devices older than iPhone 7 and/or on iOS older than 12, as well as on iPads.

If the Motion variant is not supported on the user's device, you can configure the SDK to allow the user to capture a
photo or a video instead by using the `MotionStepCaptureFallback` class.

The following examples show how to configure the Motion variant with a photo capture fallback and a video capture
fallback.

Please note that if no fallback is configured and Motion is not supported on the user's device, an `ONFlowError` of
case `motionUnsupported` will be returned through the response handler.

To configure for **Motion with fallback** to capturing a live photo:

```
NSError * error;
Builder * variantBuilder = [ONFaceStepVariantConfig builder];
[variantBuilder withMotionWithConfig:
[[MotionStepConfiguration alloc] initWithCaptureFallback:
[[MotionStepCaptureFallback alloc] initWithPhotoFallbackWithConfiguration:
[[PhotoStepConfiguration alloc] initWithShowSelfieIntroScreen: YES]]]];
[configBuilder withFaceStepOfVariant: [variantBuilder buildAndReturnError: &error]];
```

To configure for **Motion with fallback** to capturing a live video:

```
NSError * error;
Builder * variantBuilder = [ONFaceStepVariantConfig builder];
[variantBuilder withMotionWithConfig:
[[MotionStepConfiguration alloc] initWithCaptureFallback:
[[MotionStepCaptureFallback alloc] initWithVideoFallbackWithConfiguration:
[[VideoStepConfiguration alloc] initWithShowIntroVideo: YES manualLivenessCapture: NO]]]];
[configBuilder withFaceStepOfVariant: [variantBuilder buildAndReturnError: &error]];
```

To configure for **Motion with no fallback**:

```
NSError * error;
Builder * variantBuilder = [ONFaceStepVariantConfig builder];
Expand Down Expand Up @@ -1039,35 +999,7 @@ let config = try OnfidoConfig.builder()
.build()
```

To configure for **Motion with fallback** to capturing a live photo:

```swift
let config = try OnfidoConfig.builder()
.withSDKToken("<YOUR_SDK_TOKEN_HERE>")
.withWelcomeStep()
.withDocumentStep()
.withFaceStep(ofVariant: .motion(withConfiguration:
MotionStepConfiguration(captureFallback:
MotionStepCaptureFallback(photoFallbackWithConfiguration:
PhotoStepConfiguration(showSelfieIntroScreen: true)))))
.build()
```

To configure for **Motion with fallback** to capturing a live video:

```swift
let config = try OnfidoConfig.builder()
.withSDKToken("<YOUR_SDK_TOKEN_HERE>")
.withWelcomeStep()
.withDocumentStep()
.withFaceStep(ofVariant: .motion(withConfiguration:
MotionStepConfiguration(captureFallback:
MotionStepCaptureFallback(videoFallbackWithConfiguration:
VideoStepConfiguration(showIntroVideo: true, manualLivenessCapture: false)))))
.build()
```

To configure for **Motion with no fallback**:
To configure for **Motion**:

```swift
let config = try OnfidoConfig.builder()
Expand Down Expand Up @@ -1250,8 +1182,6 @@ case let OnfidoResponse.error(error):
// Occurs if the user denies permission to the SDK during the flow
case OnfidoFlowError.microphonePermission:
// Occurs when the user denies permission for microphone usage by the app during the flow
case OnfidoFlowError.motionUnsupported:
// Occurs when the device does not support the Motion product and no fallback capture method has been configured
case OnfidoFlowError.failedToWriteToDisk:
// Occurs when the SDK tries to save capture to disk, maybe due to a lack of space
case OnfidoFlowError.upload(let OnfidoApiError):
Expand Down Expand Up @@ -1330,9 +1260,6 @@ case ONFlowErrorCameraPermission:
case ONFlowErrorMicrophonePermission:
// Occurs when the user denies permission for microphone usage by the app during the flow
break;
case ONFlowErrorMotionUnsupported:
// Occurs when the device does not support the Motion product and no fallback capture method has been configured
break;
case ONFlowErrorFailedToWriteToDisk:
// Occurs when the SDK tries to save capture to disk, maybe due to a lack of space
break;
Expand Down Expand Up @@ -1703,8 +1630,8 @@ via [email](mailto:[email protected]), including the word ISSUE: at the start o
Alternatively, you can search the support documentation available via the customer experience
portal, [public.support.onfido.com](http://public.support.onfido.com).

Previous versions of the SDK will be supported for a month after a new major version release. Note that when the support
period has expired for an SDK version, no bug fixes will be provided, but the SDK will keep functioning (until further
notice). More details can be found in our [SDK version releases guide](https://developers.onfido.com/guide/sdk-version-releases).
We recommend you update your SDK to the latest version release as frequently as possible. Customers on newer versions of the Onfido SDK consistently see better performance across user onboarding and fraud mitigation, so we strongly advise keeping your SDK integration up-to-date.

You can review our full SDK versioning policy [here](https://developers.onfido.com/guide/sdk-version-releases).

Copyright 2024 Onfido, Ltd. All rights reserved.
2 changes: 1 addition & 1 deletion SampleApp/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ def setup_shared_pods
use_frameworks!
inhibit_all_warnings!

pod 'Onfido', '29.8.0'
pod 'Onfido', '29.9.0'
end

target 'SampleApp' do
Expand Down
4 changes: 2 additions & 2 deletions SampleApp/SampleApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -316,7 +316,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
Expand Down
2 changes: 1 addition & 1 deletion SampleAppObjC/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ def setup_shared_pods
use_frameworks!
inhibit_all_warnings!

pod 'Onfido', '29.8.0'
pod 'Onfido', '29.9.0'
end

target 'SampleAppObjC' do
Expand Down
8 changes: 4 additions & 4 deletions SampleAppObjC/SampleAppObjC.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
Expand Down Expand Up @@ -339,7 +339,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.1;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
Expand All @@ -356,7 +356,7 @@
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 2X946JA9UV;
INFOPLIST_FILE = SampleAppObjC/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.onfido.SampleAppObjC;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -377,7 +377,7 @@
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 2X946JA9UV;
INFOPLIST_FILE = SampleAppObjC/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.onfido.SampleAppObjC;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down
28 changes: 14 additions & 14 deletions license/onfido_licenses.json
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
{
"dependencies": [
{
"name": "Swinject",
"project_url": "https://github.com/Swinject/Swinject",
"name": "Factory",
"project_url": "https://github.com/hmlongco/Factory",
"license_name": "MIT",
"copyright_notice": "Copyright (c) 2015 Swinject Contributors",
"changed_source_code": false,
"copyright_notice": "Copyright (c) 2022 Michael Long",
"changed_source_code": true,
"source_code_changes": null
},
{
"name": "analytics-ios",
"project_url": "https://github.com/segmentio/analytics-ios",
"license_name": "MIT",
"copyright_notice": "Copyright (c) 2016 Segment.io, Inc.",
"changed_source_code": false,
"source_code_changes": null
"name": "Open CV",
"project_url": "https://opencv.org",
"license_name": "Apache 2 License",
"copyright_notice": "Copyright (C) 2015-2023, OpenCV Foundation",
"changed_source_code": false,
"source_code_changes": null
},
{
"name": "Open CV",
"project_url": "https://sourceforge.net/projects/opencvlibrary/files/3.4.5/opencv-3.4.5-ios-framework.zip/download",
"license_name": "3-clause BSD License",
"copyright_notice": "Copyright (C) 2015-2016, OpenCV Foundation",
"name": "Open SSL",
"project_url": "https://www.openssl.org",
"license_name": "Apache License v2",
"copyright_notice": "Copyright (c) 1998-2023 The OpenSSL Project Authors",
"changed_source_code": false,
"source_code_changes": null
},
Expand Down
12 changes: 10 additions & 2 deletions localization/Localizable_DE.strings
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"onfido_doc_capture_button_accessibility" = "Auslöser";
"onfido_selfie_capture_button_accessibility" = "Auslöser";
/* Accessibility */
"onfido_doc_capture_frame_accessibility" = "Ansicht von der Kamera";
"onfido_doc_capture_frame_accessibility" = "Erfassen Sie Ihr Dokument";
"onfido_selfie_capture_frame_accessibility" = "Ansicht von der Selfie-Kamera. Positionieren Sie Ihr Gesicht innerhalb des Oval und tippen Sie dann auf den Auslöser";
"onfido_video_capture_frame_accessibility" = "Ansicht von der Selfie-Kamera. Positionieren Sie Ihr Gesicht innerhalb des Oval, um mit der Aufnahme zu beginnen.";
"onfido_selfie_confirmation_image_accessibility" = "Foto von Ihrem Gesicht";
Expand Down Expand Up @@ -731,4 +731,12 @@
"onfido_nfc_scan_error_can_subtitle" = "Sie haben die maximale Anzahl an Versuchen erreicht, um Ihre CAN-Nummer einzugeben";
"onfido_nfc_scan_error_can_primary_button" = "Verifizierung beenden";
"onfido_interactive_task_waiting_title_5" = "Medien hochladen...";
"onfido_nfc_scan_error_document_alt_primary_button" = "Erneut versuchen";
"onfido_nfc_scan_error_document_alt_primary_button" = "Erneut versuchen";
"onfido_doc_capture_alert_mrz_title" = "Untere %d Zeilen (MRZ) unklar";
"onfido_doc_capture_alert_mrz_detail" = "Machen Sie den unteren Teil Ihres Dokuments sichtbar";
"onfido_generic_close_sdk_title" = "Sind Sie sicher, dass Sie beenden möchten?";
"onfido_generic_close_sdk_subtitle" = "Sie müssen den Verifizierungsprozess möglicherweise neu starten, wenn Sie zurückkehren.";
"onfido_generic_close_sdk_exit" = "Beenden";
"onfido_generic_close_sdk_cancel" = "Abbrechen";
"onfido_nfc_scan_doc_realign_title" = "Scan unterbrochen";
"onfido_nfc_scan_doc_realign_body" = "Positionieren Sie Ihr Dokument erneut gegen Ihr Gerät";
12 changes: 10 additions & 2 deletions localization/Localizable_EN.strings
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"onfido_doc_capture_button_accessibility" = "Shutter";
"onfido_selfie_capture_button_accessibility" = "Shutter";
/* Accessibility */
"onfido_doc_capture_frame_accessibility" = "View from camera";
"onfido_doc_capture_frame_accessibility" = "Capture your document";
"onfido_selfie_capture_frame_accessibility" = "View from selfie camera. Keep your face within the oval, then tap the shutter button";
"onfido_video_capture_frame_accessibility" = "View from selfie camera. Keep your face within the oval to start recording.";
"onfido_selfie_confirmation_image_accessibility" = "Photo of your face";
Expand Down Expand Up @@ -732,4 +732,12 @@
"onfido_nfc_scan_error_can_subtitle" = "You’ve reached the maximum attempts to enter your CAN number";
"onfido_nfc_scan_error_can_primary_button" = "Exit verification";
"onfido_interactive_task_waiting_title_5" = "Uploading media...";
"onfido_nfc_scan_error_document_alt_primary_button" = "Retry";
"onfido_nfc_scan_error_document_alt_primary_button" = "Retry";
"onfido_doc_capture_alert_mrz_title" = "Bottom %d lines (MRZ) unclear";
"onfido_doc_capture_alert_mrz_detail" = "Make the bottom of your document visible";
"onfido_generic_close_sdk_title" = "Are you sure you want to exit?";
"onfido_generic_close_sdk_subtitle" = "You may need to restart the verification process if you return.";
"onfido_generic_close_sdk_exit" = "Exit";
"onfido_generic_close_sdk_cancel" = "Cancel";
"onfido_nfc_scan_doc_realign_title" = "Scan interrupted";
"onfido_nfc_scan_doc_realign_body" = "Reposition your document against your device";
Loading

0 comments on commit bf5bfe5

Please sign in to comment.