@soyio/soyio-rn-sdk 4.1.2 → 4.1.4-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ios/Frameworks/FaceTecSDK.xcframework/Info.plist +44 -0
- package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/FaceTecSDK +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/_CodeSignature/CodeResources +729 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/af.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/ar.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/1f5b84f51ce0fcfbb76e904b7bcaa7560f601e1394a0b29367a09385312287eb +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/2b075ac1a6132b5b8a4c9ef0ba6b0cd84db7838aca9a000e50d907f40770a4ab +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/59cc2a9af81aaca2376702c2490650f4da2775fa673274db98aad41b7ef101c0 +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/5b63e98b991aedabb60665503384f30bffd939decf9433883b30b78011ee501a +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/66388dc76dc16bc6b76b682edd218a575bf45b9b +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/6b3133f0f39ff89a2a169d61176ee17cafacc5e288f334e2b64ee82892d11ccd +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/9077d16225f9314163ef1e7db6fc7d4088bb903d134bd95f23d5591ca4dfbfca +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/a74f2afb9d20f2375ccbd14e67c094b85c89ceb608f7cf8ae04f3f646a6c5672 +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/b501893e75f62ee1707643e35b21109927b07ed5b202321c961b424cbc2e4695 +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/dbd7a353f0130bb983d6ba05917e9be991d70e8f028df4b74e30bc6497ef7f71 +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/f2.xml +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/fd6d368a5658496536e2bfae170d1b823a3629b242cafc09784bfba4e56d8c80 +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/marker +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/cache_uyertuazlkxcjrlwkejr/39bb748b334003e3fa/vu0ilin6we3lrzo5f83f7qs2jul4aq7v4aoynrmch8zfvpi8ezrfyafa4t0fx87l +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/de.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/el.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/en.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/es.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/fr.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/kk.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/nb.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/pt-BR.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/ru.lproj/FaceTec.strings +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64_x86_64-simulator/FaceTecSDK.framework/FaceTecSDK +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64_x86_64-simulator/FaceTecSDK.framework/Headers/FaceTecPublicApi.h +1935 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64_x86_64-simulator/FaceTecSDK.framework/Headers/FaceTecPublicStringKeys.h +109 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64_x86_64-simulator/FaceTecSDK.framework/Headers/FaceTecSDK.h +16 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64_x86_64-simulator/FaceTecSDK.framework/Info.plist +0 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64_x86_64-simulator/FaceTecSDK.framework/Modules/module.modulemap +6 -0
- package/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64_x86_64-simulator/FaceTecSDK.framework/_CodeSignature/CodeResources +146 -0
- package/package.json +3 -2
- package/soyio_rn_sdk.podspec +2 -8
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Assets.car +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/GenericGuidanceContentLayout.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Headers/FaceTecPublicApi.h +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Headers/FaceTecPublicStringKeys.h +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Headers/FaceTecSDK.h +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Info.plist +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Modules/module.modulemap +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/PrivacyInfo.xcprivacy +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/ReadyScreenGuidanceContentLayout.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/RetryScreenGuidanceContentLayout.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/SharedGuidanceLayout.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/9Uo-4b-JiE-view-Ae0-rb-UqS.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/CJ6-MX-bJp-view-8JL-Rc-0g1.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/FaceScanViewController.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/FaceTecAdditionalReviewViewController.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/FaceTecIDFeedbackViewController.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/FaceTecOCRConfirmationViewController.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/IDCaptureViewController.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/IDSelectionViewController.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/Info.plist +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/Pyw-6G-JSY-view-Zue-Eo-Q2U.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/QWA-8Y-vUM-view-wJB-Z5-eD2.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/alz-Ia-X3d-view-IKu-EI-Hug.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/Storyboard.storyboardc/l2Q-cc-kD8-view-UUy-6c-meu.nib +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/attributions.txt +0 -0
- /package/ios/Frameworks/{FaceTecSDK.framework → FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework}/strip-unused-architectures-from-target.sh +0 -0
|
@@ -0,0 +1,1935 @@
|
|
|
1
|
+
#import <UIKit/UIKit.h>
|
|
2
|
+
#import "FaceTecPublicStringKeys.h"
|
|
3
|
+
|
|
4
|
+
/** Represents the resolution options for the returned Audit Trail Image(s) */
|
|
5
|
+
typedef NS_ENUM(NSInteger, FaceTecAuditTrailType) {
|
|
6
|
+
/** Configures FaceTec SDK to disable returning Audit Trail Images. */
|
|
7
|
+
FaceTecAuditTrailTypeDisabled = 0,
|
|
8
|
+
/** Configures FaceTec SDK to return the fullest resolution image possible. */
|
|
9
|
+
FaceTecAuditTrailTypeFullResolution = 1,
|
|
10
|
+
/** Configures FaceTec SDK to return images of height 640. */
|
|
11
|
+
FaceTecAuditTrailTypeHeight640 = 2,
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/** Represents the options for placement of the Cancel Button. */
|
|
15
|
+
typedef NS_ENUM(NSInteger, FaceTecCancelButtonLocation) {
|
|
16
|
+
/** Cancel Button will appear in the top left. */
|
|
17
|
+
FaceTecCancelButtonLocationTopLeft = 0,
|
|
18
|
+
/** Cancel Button will appear in the top right. */
|
|
19
|
+
FaceTecCancelButtonLocationTopRight = 1,
|
|
20
|
+
/** Cancel Button will be disabled and hidden. */
|
|
21
|
+
FaceTecCancelButtonLocationDisabled = 2,
|
|
22
|
+
/** Cancel Button will be appear at the location and size specified by cancelButtonCustomization.customLocation. */
|
|
23
|
+
FaceTecCancelButtonLocationCustom = 3,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/** Represents the options for the transition animation used when dismissing the Interface. */
|
|
27
|
+
typedef NS_ENUM(NSInteger, FaceTecExitAnimationStyle) {
|
|
28
|
+
/** Default. Quick fade out. */
|
|
29
|
+
FaceTecExitAnimationStyleNone = 0,
|
|
30
|
+
/** Frame will fade out as oval and frame expand out quickly. */
|
|
31
|
+
FaceTecExitAnimationStyleRippleOut = 1,
|
|
32
|
+
/** Frame will slowly fade out as oval and frame slowly expand out.*/
|
|
33
|
+
FaceTecExitAnimationStyleRippleOutSlow = 2,
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
typedef NS_ENUM(NSInteger, FaceTecSecurityWatermarkImage) {
|
|
37
|
+
FaceTecSecurityWatermarkImageFaceTecZoom = 0,
|
|
38
|
+
FaceTecSecurityWatermarkImageFaceTec = 1,
|
|
39
|
+
FaceTecSecurityWatermarkImageFaceTecPoweredBy = 2,
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/** For setting FaceTec Vocal Guidance mode. */
|
|
43
|
+
typedef NS_ENUM(NSInteger, FaceTecVocalGuidanceMode) {
|
|
44
|
+
FaceTecVocalGuidanceModeNoVocalGuidance = 0,
|
|
45
|
+
FaceTecVocalGuidanceModeMinimalVocalGuidance = 1,
|
|
46
|
+
FaceTecVocalGuidanceModeFullVocalGuidance = 2,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
/** Max Audit Trail Images To Return . By default one audit trail image will be returned*/
|
|
50
|
+
typedef NS_ENUM(NSInteger, FaceTecAuditTrailImagesToReturn) {
|
|
51
|
+
FaceTecAuditTrailImagesToReturnOne = 0,
|
|
52
|
+
FaceTecAuditTrailImagesToReturnUpToSix = 1
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
@protocol FaceTecSDKProtocol;
|
|
56
|
+
|
|
57
|
+
__attribute__((visibility("default")))
|
|
58
|
+
@interface FaceTec: NSObject
|
|
59
|
+
@property (nonatomic, class, readonly, strong) id <FaceTecSDKProtocol> _Nonnull sdk;
|
|
60
|
+
@end
|
|
61
|
+
|
|
62
|
+
@class NSDate;
|
|
63
|
+
|
|
64
|
+
/** Represents the possible state of camera permissions. */
|
|
65
|
+
typedef NS_ENUM(NSInteger, FaceTecCameraPermissionStatus) {
|
|
66
|
+
/** The user has not yet been asked for permission to use the camera */
|
|
67
|
+
FaceTecCameraPermissionStatusNotDetermined = 0,
|
|
68
|
+
/** The user denied the app permission to use the camera or manually revoked the app’s camera permission.
|
|
69
|
+
From this state, permission can only be modified by the user from System ‘Settings’ context. */
|
|
70
|
+
FaceTecCameraPermissionStatusDenied = 1,
|
|
71
|
+
/** The camera permission on this device has been disabled due to policy.
|
|
72
|
+
From this state, permission can only be modified by the user from System ‘Settings’ context or contacting the system administrator. */
|
|
73
|
+
FaceTecCameraPermissionStatusRestricted = 2,
|
|
74
|
+
/** The user granted permission to use the camera. */
|
|
75
|
+
FaceTecCameraPermissionStatusAuthorized = 3,
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
@class UIColor;
|
|
79
|
+
@class CAGradientLayer;
|
|
80
|
+
@class FaceTecGuidanceCustomization;
|
|
81
|
+
@class FaceTecOvalCustomization;
|
|
82
|
+
@class FaceTecFeedbackCustomization;
|
|
83
|
+
@class FaceTecCancelButtonCustomization;
|
|
84
|
+
@class FaceTecFrameCustomization;
|
|
85
|
+
@class FaceTecResultScreenCustomization;
|
|
86
|
+
@class FaceTecOverlayCustomization;
|
|
87
|
+
@class FaceTecIDScanCustomization;
|
|
88
|
+
@class FaceTecOCRConfirmationCustomization;
|
|
89
|
+
@class FaceTecVocalGuidanceCustomization;
|
|
90
|
+
@class FaceTecInitialLoadingAnimationCustomization;
|
|
91
|
+
|
|
92
|
+
@protocol FaceTecCustomAnimationDelegate;
|
|
93
|
+
/**
|
|
94
|
+
Applications should implement this delegate to configure custom UIViews to display for specific interface animations.
|
|
95
|
+
*/
|
|
96
|
+
@protocol FaceTecCustomAnimationDelegate <NSObject>
|
|
97
|
+
/**
|
|
98
|
+
Configure a custom UIView to display on the OCR Confirmation Screen's scroll indicator.
|
|
99
|
+
This method will be called every time that the OCR Confirmation Screen is displayed.
|
|
100
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
101
|
+
Note: The scroll indicator animation is displayed indefinitely until user action, so the custom animation should be set to loop/repeat infinitely.
|
|
102
|
+
If this returns nil, the default animation will be used.
|
|
103
|
+
*/
|
|
104
|
+
@optional
|
|
105
|
+
- (UIView * _Nullable)onCreateOCRConfirmationScrollIndicatorAnimationView NS_SWIFT_NAME(onCreateOCRConfirmationScrollIndicatorAnimationView());
|
|
106
|
+
/**
|
|
107
|
+
Configure a custom UIView to display on the Securing Camera Screen for the animation during camera loading.
|
|
108
|
+
This method will be called every time that the Securing Camera Screen is displayed.
|
|
109
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
110
|
+
Note: The activity indicator animation is displayed indefinitely during the server-side work, so the custom animation should be set to loop/repeat infinitely.
|
|
111
|
+
If this returns nil, the default animation will be used.
|
|
112
|
+
*/
|
|
113
|
+
@optional
|
|
114
|
+
- (UIView * _Nullable)onCreateInitialLoadingAnimationView NS_SWIFT_NAME(onCreateInitialLoadingAnimationView());
|
|
115
|
+
/**
|
|
116
|
+
Configure a custom UIView to display on the Result Screen for the activity indicator animation during server-side work.
|
|
117
|
+
This method will be called every time that the Result Screen is displayed after completing the and/or ID Scan process.
|
|
118
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
119
|
+
Note: The activity indicator animation is displayed indefinitely during the server-side work, so the custom animation should be set to loop/repeat infinitely.
|
|
120
|
+
If this retuns a UIView instance, the UIView supplied will be used instead of the default activity indicator animation or any rotating-image animation configured with FaceTecCustomization.FaceTecResultScreenCustomization.customActvityIndicatorImage.
|
|
121
|
+
If this returns nil, FaceTecCustomization.FaceTecResultScreenCustomization.customActivityIndicatorImage will be used. If FaceTecCustomization.FaceTecResultScreenCustomization.customActivityIndicatorImage is nil, the default activity indicator animation will be used.
|
|
122
|
+
*/
|
|
123
|
+
@optional
|
|
124
|
+
- (UIView * _Nullable)onCreateNewResultScreenActivityIndicatorView NS_SWIFT_NAME(onCreateNewResultScreenActivityIndicatorView());
|
|
125
|
+
/**
|
|
126
|
+
Configure a custom UIView to display on the Result Screen for success scenarios.
|
|
127
|
+
This method will be called every time either FaceTecFaceScanResultCallback.onFaceScanResultProceedToNextStep() or FaceTecIDScanResultCallback.onIDScanResultProceedToNextStep() is called while the Result Screen is displayed after completing the and/or ID Scan process.
|
|
128
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
129
|
+
Note: By default, the result animation is displayed for 2 seconds, but can be configured within a range using the FaceTecResultScreenCustomization.resultAnimationDisplayTime API. Custom animation timing should be configured accordingly.
|
|
130
|
+
If this returns a UIView instance, the UIView supplied will be used instead of the default success animation or any success image configured with FaceTecResultScreenCustomization.resultAnimationSuccessBackgroundImage.
|
|
131
|
+
If this returns nil, the default success animation will be used.
|
|
132
|
+
*/
|
|
133
|
+
@optional
|
|
134
|
+
- (UIView * _Nullable)onCreateNewResultScreenSuccessAnimationView NS_SWIFT_NAME(onCreateNewResultScreenSuccessAnimationView());
|
|
135
|
+
/**
|
|
136
|
+
Configure a custom UIView to display on the Result Screen for unsuccess scenarios. Unsuccess result animations are only shown for unsuccessful Photo ID Match attempts.
|
|
137
|
+
This method will be called every time FaceTecIDScanResultCallback.retry() is called while Result Screen is displayed after completing the ID Scan process.
|
|
138
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
139
|
+
Note: By default, the result animation is displayed for 2 seconds, but can be configured within a range using the FaceTecResultScreenCustomization.resultAnimationDisplayTime API. Custom animation timing should be configured accordingly.
|
|
140
|
+
If this returns a UIView instance, the UIView supplied will be used instead of the default unsuccess animation or any unsuccess image configured with FaceTecResultScreenCustomization.resultAnimationUnsuccessBackgroundImage.
|
|
141
|
+
If this returns nil, the default unsuccess animation will be used.
|
|
142
|
+
*/
|
|
143
|
+
@optional
|
|
144
|
+
- (UIView * _Nullable)onCreateNewResultScreenUnsuccessAnimationView NS_SWIFT_NAME(onCreateNewResultScreenUnsuccessAnimationView());
|
|
145
|
+
/**
|
|
146
|
+
Configure a custom UIView to display on the NFC Scan Screen for the status animation before the user starts to scan their NFC chip.
|
|
147
|
+
This method will be called every time that NFC scanning is ready-to-start on the NFC Scan Screen.
|
|
148
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
149
|
+
Note: The NFC Starting animation is displayed indefinitely during the device-side work to scan the NFC chip, so the custom animation should be set to loop/repeat infinitely. If the animation ends before the NFC Starting animation is dismissed, the animation will be restarted.
|
|
150
|
+
If this retuns a UIView instance, the UIView supplied will be used instead of the default internal UIView.
|
|
151
|
+
If this returns nil, the default internal UIView will be used.
|
|
152
|
+
*/
|
|
153
|
+
@optional
|
|
154
|
+
- (UIView * _Nullable)onCreateNFCStartingAnimationView NS_SWIFT_NAME(onCreateNFCStartingAnimationView());
|
|
155
|
+
/**
|
|
156
|
+
Configure a custom UIView to display on the NFC Scan Screen for the status animation while the user scan's their NFC chip.
|
|
157
|
+
This method will be called every time that NFC scanning is in-progress on the NFC Scan Screen.
|
|
158
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
159
|
+
Note: The NFC Scanning animation is displayed indefinitely during the device-side work to scan the NFC chip, so the custom animation should be set to loop/repeat infinitely. If the animation ends before the NFC Scanning animation is dismissed, the animation will be restarted.
|
|
160
|
+
If this retuns a UIView instance, the UIView supplied will be used instead of the default internal UIView.
|
|
161
|
+
If this returns nil, the default internal UIView will be used.
|
|
162
|
+
*/
|
|
163
|
+
@optional
|
|
164
|
+
- (UIView * _Nullable)onCreateNFCScanningAnimationView NS_SWIFT_NAME(onCreateNFCScanningAnimationView());
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
Configure a custom UIView to display on the NFC Scan Screen for the status animation before the user starts to scan their NFC card chip.
|
|
168
|
+
This is similar to onCreateNFCStartingAnimationView, which is used for Passport books instead of Passport/NFC cards
|
|
169
|
+
*/
|
|
170
|
+
@optional
|
|
171
|
+
- (UIView * _Nullable)onCreateNFCCardStartingAnimationView NS_SWIFT_NAME(onCreateNFCCardStartingAnimationView());
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
Configure a custom UIView to display on the NFC Scan Screen for the status animation while the user scan's their NFC card chip
|
|
175
|
+
This is similar to onCreateNFCScanningAnimationView, which is used for Passport books instead of Passport/NFC cards
|
|
176
|
+
*/
|
|
177
|
+
@optional
|
|
178
|
+
- (UIView * _Nullable)onCreateNFCCardScanningAnimationView NS_SWIFT_NAME(onCreateNFCCardScanningAnimationView());
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
Configure a custom UIView to display on the NFC Scan Screen for the status animation after NFC Scan is skipped due to an error or user interaction.
|
|
182
|
+
This method will be called if the NFC Scan is skipped due to an error or user interaction.
|
|
183
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
184
|
+
Note: By default, the result animation is displayed for 2 seconds, but can be configured within a range using the FaceTecIDScanCustomization.nfcScreenAnimationDisplayTime API. Custom animation timing should be configured accordingly.
|
|
185
|
+
If this retuns a UIView instance, the UIView supplied will be used instead of the default internal UIView.
|
|
186
|
+
If this returns nil, the default internal UIView will be used.
|
|
187
|
+
*/
|
|
188
|
+
@optional
|
|
189
|
+
- (UIView * _Nullable)onCreateNFCSkipOrErrorAnimationView NS_SWIFT_NAME(onCreateNFCSkipOrErrorAnimationView());
|
|
190
|
+
/**
|
|
191
|
+
Configure a custom UIView to display on the ID Scan Additional Review Screen.
|
|
192
|
+
This method will be called when we show the ID Scan Additional Review Screen.
|
|
193
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
194
|
+
Note: By default, the result animation is displayed for 2 seconds, but can be configured within a range using the FaceTecIDScanCustomization.additionalReviewScreenAnimationDisplayTime API. Custom animation timing should be configured accordingly.
|
|
195
|
+
If this retuns a UIView instance, the UIView supplied will be used instead of the default internal UIView.
|
|
196
|
+
If this returns nil, the default internal UIView will be used.
|
|
197
|
+
*/
|
|
198
|
+
@optional
|
|
199
|
+
- (UIView * _Nullable)onCreateAdditionalReviewScreenAnimationView NS_SWIFT_NAME(onCreateAdditionalReviewScreenAnimationView());
|
|
200
|
+
/**
|
|
201
|
+
Configure a custom UIView to display on the ID Scan Feedback Screen.
|
|
202
|
+
This method will be called when we show the ID Scan Feedback Screen.
|
|
203
|
+
Sizing of the UIView's contents should be calculated relative to the UIView's bounds. Animations should be setup to start in the UIView's didMoveToSuperview method.
|
|
204
|
+
Note: By default, the result animation is displayed for 2 seconds, but can be configured within a range using the FaceTecIDScanCustomization.idFeedbackScreenAnimationDisplayTime API. Custom animation timing should be configured accordingly.
|
|
205
|
+
If this retuns a UIView instance, the UIView supplied will be used instead of the default internal UIView.
|
|
206
|
+
If this returns nil, the default internal UIView will be used.
|
|
207
|
+
*/
|
|
208
|
+
@optional
|
|
209
|
+
- (UIView * _Nullable)onCreateIDFeedbackScreenFlipIDToBackAnimationView NS_SWIFT_NAME(onCreateIDFeedbackScreenFlipIDToBackAnimationView());
|
|
210
|
+
@end
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Class used to customize the look and feel of the Interface.
|
|
214
|
+
* FaceTec SDK ships with a default theme but has a variety of variables that you can use to configure to your application's needs.
|
|
215
|
+
* To customize the Interface, simply create an instance of FaceTecCustomization and set some, or all, of the variables.
|
|
216
|
+
*/
|
|
217
|
+
__attribute__((visibility("default")))
|
|
218
|
+
@interface FaceTecCustomization : NSObject
|
|
219
|
+
|
|
220
|
+
/** Customize the User OCR Confirmation Screen. */
|
|
221
|
+
@property (nonatomic, strong) FaceTecOCRConfirmationCustomization * _Nonnull ocrConfirmationCustomization;
|
|
222
|
+
/** Customize the Photo ID Match Screens. */
|
|
223
|
+
@property (nonatomic, strong) FaceTecIDScanCustomization * _Nonnull idScanCustomization;
|
|
224
|
+
/** Customize the Overlay, separating the Interface from the presenting application context. */
|
|
225
|
+
@property (nonatomic, strong) FaceTecOverlayCustomization * _Nonnull overlayCustomization;
|
|
226
|
+
/** Customize the New User Guidance and Retry Screens. */
|
|
227
|
+
@property (nonatomic, strong) FaceTecGuidanceCustomization * _Nonnull guidanceCustomization;
|
|
228
|
+
/** Customize the Result Screen. */
|
|
229
|
+
@property (nonatomic, strong) FaceTecResultScreenCustomization * _Nonnull resultScreenCustomization;
|
|
230
|
+
/** Customize the Oval and the Progress Spinner animations. */
|
|
231
|
+
@property (nonatomic, strong) FaceTecOvalCustomization * _Nonnull ovalCustomization;
|
|
232
|
+
/** Customize the Feedback Bar. */
|
|
233
|
+
@property (nonatomic, strong) FaceTecFeedbackCustomization * _Nonnull feedbackCustomization;
|
|
234
|
+
/** Customize the Cancel Button. */
|
|
235
|
+
@property (nonatomic, strong) FaceTecCancelButtonCustomization * _Nonnull cancelButtonCustomization;
|
|
236
|
+
/** Customize the Frame. */
|
|
237
|
+
@property (nonatomic, strong) FaceTecFrameCustomization * _Nonnull frameCustomization;
|
|
238
|
+
/** Customize the interface animations. */
|
|
239
|
+
@property (nonatomic, strong) id<FaceTecCustomAnimationDelegate> _Nullable customAnimationDelegate;
|
|
240
|
+
/** Customize the FaceTec Security Watermark Image by selecting from 1 of the 3 available FaceTec watermarks. */
|
|
241
|
+
@property (nonatomic) enum FaceTecSecurityWatermarkImage securityWatermarkImage;
|
|
242
|
+
/** Customize FaceTec Vocal Guidance feature like settings run mode or providing sound files.*/
|
|
243
|
+
@property (nonatomic, strong) FaceTecVocalGuidanceCustomization * _Nonnull vocalGuidanceCustomization;
|
|
244
|
+
/** Customize the Securing Camera Screen. */
|
|
245
|
+
@property (nonatomic, strong) FaceTecInitialLoadingAnimationCustomization * _Nonnull initialLoadingAnimationCustomization;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Customize the transition out animation for an unsuccessful Session.
|
|
249
|
+
* Default is FaceTecExitAnimationStyleNone.
|
|
250
|
+
*/
|
|
251
|
+
@property (nonatomic) enum FaceTecExitAnimationStyle exitAnimationUnsuccess;
|
|
252
|
+
/**
|
|
253
|
+
* Customize the transition out animation for a successful Session.
|
|
254
|
+
* Default is FaceTecExitAnimationStyleNone.
|
|
255
|
+
*/
|
|
256
|
+
@property (nonatomic) enum FaceTecExitAnimationStyle exitAnimationSuccess;
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* This function allows special runtime control of the success message shown when the success animation occurs for a FaceScan.
|
|
260
|
+
* Please note that you can also customize this string via the standard customization/localization methods provided.
|
|
261
|
+
* Special runtime access is enabled to this text because the developer may wish to change this text depending on the mode of operation.
|
|
262
|
+
* This method does not update the success message for an ID Scan. For runtime control over the result messages displayed for an ID Scan, use the method setIDScanResultScreenMessageOverrides.
|
|
263
|
+
*/
|
|
264
|
+
+ (void) setOverrideResultScreenSuccessMessage:(NSString * _Nonnull)value;
|
|
265
|
+
+ (NSString * _Nullable) overrideResultScreenSuccessMessage;
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* This function allows special runtime control of the various possible result messages shown when the result animation occurs for an ID Scan Session.
|
|
269
|
+
* Please note that you can also customize these strings via the standard customization/localization methods provided.
|
|
270
|
+
*/
|
|
271
|
+
+ (void) setIDScanResultScreenMessageOverridesForSuccessFrontSide:(NSString * _Nonnull)successFrontSide successFrontSideBackNext:(NSString * _Nonnull)successFrontSideBackNext successFrontSideNFCNext:(NSString * _Nonnull)successFrontSideNFCNext successBackSide:(NSString * _Nonnull)successBackSide successBackSideNFCNext:(NSString * _Nonnull)successBackSideNFCNext successPassport:(NSString * _Nonnull)successPassport successPassportNFCNext:(NSString * _Nonnull)successPassportNFCNext successUserConfirmation:(NSString * _Nonnull)successUserConfirmation successNFC:(NSString * _Nonnull)successNFC successAdditionalReview:(NSString * _Nonnull)successAdditionalReview retryFaceDidNotMatch:(NSString * _Nonnull)retryFaceDidNotMatch retryIDNotFullyVisible:(NSString * _Nonnull)retryIDNotFullyVisible retryOCRResultsNotGoodEnough:(NSString * _Nonnull)retryOCRResultsNotGoodEnough retryIDTypeNotSupported:(NSString * _Nonnull)retryIDTypeNotSupported skipOrErrorNFC:(NSString * _Nonnull)skipOrErrorNFC NS_SWIFT_NAME(setIDScanResultScreenMessageOverrides(successFrontSide:successFrontSideBackNext:successFrontSideNFCNext:successBackSide:successBackSideNFCNext:successPassport:successPassportNFCNext:successUserConfirmation:successNFC:successAdditionalReview:retryFaceDidNotMatch:retryIDNotFullyVisible:retryOCRResultsNotGoodEnough:retryIDTypeNotSupported:skipOrErrorNFC:));
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* @deprecated - This API method is deprecated and will be removed in an upcoming release of the iOS SDK. Use the non-deprecated setIDScanResultScreenMessageOverrides API method instead.
|
|
275
|
+
* This function allows special runtime control of the various possible result messages shown when the result animation occurs for an ID Scan Session.
|
|
276
|
+
* Please note that you can also customize these strings via the standard customization/localization methods provided.
|
|
277
|
+
*/
|
|
278
|
+
+ (void) setIDScanResultScreenMessageOverridesForSuccessFrontSide:(NSString * _Nonnull)successFrontSide successFrontSideBackNext:(NSString * _Nonnull)successFrontSideBackNext successFrontSideNFCNext:(NSString * _Nonnull)successFrontSideNFCNext successBackSide:(NSString * _Nonnull)successBackSide successBackSideNFCNext:(NSString * _Nonnull)successBackSideNFCNext successPassport:(NSString * _Nonnull)successPassport successPassportNFCNext:(NSString * _Nonnull)successPassportNFCNext successUserConfirmation:(NSString * _Nonnull)successUserConfirmation successNFC:(NSString * _Nonnull)successNFC retryFaceDidNotMatch:(NSString * _Nonnull)retryFaceDidNotMatch retryIDNotFullyVisible:(NSString * _Nonnull)retryIDNotFullyVisible retryOCRResultsNotGoodEnough:(NSString * _Nonnull)retryOCRResultsNotGoodEnough retryIDTypeNotSupported:(NSString * _Nonnull)retryIDTypeNotSupported skipOrErrorNFC:(NSString * _Nonnull)skipOrErrorNFC NS_SWIFT_NAME(setIDScanResultScreenMessageOverrides(successFrontSide:successFrontSideBackNext:successFrontSideNFCNext:successBackSide:successBackSideNFCNext:successPassport:successPassportNFCNext:successUserConfirmation:successNFC:retryFaceDidNotMatch:retryIDNotFullyVisible:retryOCRResultsNotGoodEnough:retryIDTypeNotSupported:skipOrErrorNFC:)) DEPRECATED_MSG_ATTRIBUTE("This API method is deprecated and will be removed in an upcoming release of the iOS SDK. Use the non-deprecated setIDScanResultScreenMessageOverrides API method instead.");
|
|
279
|
+
|
|
280
|
+
+ (NSDictionary * _Nullable) idScanResultScreenMessageOverrides;
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* This function allows special runtime control of the various possible upload messages shown when the Result Screen's upload progress content is shown for an ID Scan Session.
|
|
284
|
+
* If this method is used, any values configured with FaceTecIDScanResultCallback.onIDScanUploadMessageOverride will be overridden with the applicable value configured with this method.
|
|
285
|
+
* Please note that for proper behavior of these dynamic upload message values, it is required that there is appropriate use of FaceTecIDScanResultCallback.onIDScanUploadProgress to track the progress of the request body being uploaded to the Sever.
|
|
286
|
+
*/
|
|
287
|
+
+ (void) setIDScanUploadMessageOverridesForFrontSideUploadStarted:(NSString * _Nonnull)frontSideUploadStarted frontSideStillUploading:(NSString * _Nonnull)frontSideStillUploading frontSideUploadCompleteAwaitingResponse:(NSString * _Nonnull)frontSideUploadCompleteAwaitingResponse frontSideUploadCompleteAwaitingProcessing:(NSString * _Nonnull)frontSideUploadCompleteAwaitingProcessing backSideUploadStarted:(NSString * _Nonnull)backSideUploadStarted backSideStillUploading:(NSString * _Nonnull)backSideStillUploading backSideUploadCompleteAwaitingResponse:(NSString * _Nonnull)backSideUploadCompleteAwaitingResponse backSideUploadCompleteAwaitingProcessing:(NSString * _Nonnull)backSideUploadCompleteAwaitingProcessing userConfirmedInfoUploadStarted:(NSString * _Nonnull)userConfirmedInfoUploadStarted userConfirmedInfoStillUploading:(NSString * _Nonnull)userConfirmedInfoStillUploading userConfirmedInfoUploadCompleteAwaitingResponse:(NSString * _Nonnull)userConfirmedInfoUploadCompleteAwaitingResponse userConfirmedInfoUploadCompleteAwaitingProcessing:(NSString * _Nonnull)userConfirmedInfoUploadCompleteAwaitingProcessing nfcUploadStarted:(NSString *_Nonnull)nfcUploadStarted nfcStillUploading:(NSString *_Nonnull)nfcStillUploading nfcUploadCompleteAwaitingResponse:(NSString *_Nonnull)nfcUploadCompleteAwaitingResponse nfcUploadCompleteAwaitingProcessing:(NSString *_Nonnull)nfcUploadCompleteAwaitingProcessing skippedNFCUploadStarted:(NSString *_Nonnull)skippedNFCUploadStarted skippedNFCStillUploading:(NSString *_Nonnull)skippedNFCStillUploading skippedNFCUploadCompleteAwaitingResponse:(NSString *_Nonnull)skippedNFCUploadCompleteAwaitingResponse skippedNFCUploadCompleteAwaitingProcessing:(NSString *_Nonnull)skippedNFCUploadCompleteAwaitingProcessing NS_SWIFT_NAME(setIDScanUploadMessageOverrides(frontSideUploadStarted:frontSideStillUploading:frontSideUploadCompleteAwaitingResponse:frontSideUploadCompleteAwaitingProcessing:backSideUploadStarted:backSideStillUploading:backSideUploadCompleteAwaitingResponse:backSideUploadCompleteAwaitingProcessing:userConfirmedInfoUploadStarted:userConfirmedInfoStillUploading:userConfirmedInfoUploadCompleteAwaitingResponse:userConfirmedInfoUploadCompleteAwaitingProcessing:nfcUploadStarted:nfcStillUploading:nfcUploadCompleteAwaitingResponse:nfcUploadCompleteAwaitingProcessing:skippedNFCUploadStarted:skippedNFCStillUploading:skippedNFCUploadCompleteAwaitingResponse:skippedNFCUploadCompleteAwaitingProcessing:));
|
|
288
|
+
+ (NSDictionary * _Nullable) idScanUploadMessageOverrides;
|
|
289
|
+
|
|
290
|
+
@property (nonatomic) NSDictionary* _Nullable featureFlagsMap;
|
|
291
|
+
|
|
292
|
+
@property (nonatomic) BOOL enableOfficialIDPhoto;
|
|
293
|
+
|
|
294
|
+
- (void) setGuidanceCustomization:(FaceTecGuidanceCustomization * _Nullable)guidanceCustomization;
|
|
295
|
+
- (void) setOvalCustomization:(FaceTecOvalCustomization * _Nullable)ovalCustomization;
|
|
296
|
+
- (void) setFeedbackCustomization:(FaceTecFeedbackCustomization * _Nullable)feedbackCustomization;
|
|
297
|
+
- (void) setFrameCustomization:(FaceTecFrameCustomization * _Nullable)zoomFrameCustomization;
|
|
298
|
+
- (void) setCancelButtonCustomization:(FaceTecCancelButtonCustomization * _Nullable)cancelButtonCustomization;
|
|
299
|
+
- (void) setVocalGuidanceCustomization:(FaceTecVocalGuidanceCustomization * _Nullable)vocalGuidanceCustomization;
|
|
300
|
+
- (void) setResultScreenCustomization:(FaceTecResultScreenCustomization * _Nullable)resultScreenCustomization;
|
|
301
|
+
- (void) setOverlayCustomization:(FaceTecOverlayCustomization * _Nullable)overlayCustomization;
|
|
302
|
+
- (void) setIdScanCustomization:(FaceTecIDScanCustomization * _Nullable)iDScanCustomization;
|
|
303
|
+
- (void) setOCRConfirmationCustomization:(FaceTecOCRConfirmationCustomization * _Nullable)ocrConfirmationCustomization;
|
|
304
|
+
- (void) setInitialLoadingAnimationCustomization:(FaceTecInitialLoadingAnimationCustomization * _Nullable)initialLoadingAnimationCustomization;
|
|
305
|
+
|
|
306
|
+
- (nonnull instancetype)init;
|
|
307
|
+
- (nonnull instancetype)initWithFeatureFlagsMap:(NSDictionary* _Nullable)featureFlagsMap NS_SWIFT_NAME(init(featureFlagsMap:));
|
|
308
|
+
+ (nonnull instancetype)new;
|
|
309
|
+
@end
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Customize the shadow that can be applied to the Frame and Feedback Bar.
|
|
313
|
+
* Note: These properties and their behavior correlate to the shadow-related attributes available for CALayer objects.
|
|
314
|
+
*/
|
|
315
|
+
__attribute__((visibility("default")))
|
|
316
|
+
@interface FaceTecShadow : NSObject
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Control the shadow's color.
|
|
320
|
+
* Default is black.
|
|
321
|
+
*/
|
|
322
|
+
@property (nonatomic) UIColor * _Nonnull color;
|
|
323
|
+
/**
|
|
324
|
+
* Control the shadow's opacity.
|
|
325
|
+
* Default is 0.
|
|
326
|
+
*/
|
|
327
|
+
@property (nonatomic) float opacity;
|
|
328
|
+
/**
|
|
329
|
+
* Control the shadow's radius.
|
|
330
|
+
* Default is 0.
|
|
331
|
+
*/
|
|
332
|
+
@property (nonatomic) float radius;
|
|
333
|
+
/**
|
|
334
|
+
* Control the shadow's offset.
|
|
335
|
+
* Default is CGSizeZero.
|
|
336
|
+
*/
|
|
337
|
+
@property (nonatomic) CGSize offset;
|
|
338
|
+
/**
|
|
339
|
+
* Control the insets from the parent's view frame for configuring the shadow's path.
|
|
340
|
+
* Default is UIEdgeInsetsZero.
|
|
341
|
+
*/
|
|
342
|
+
@property (nonatomic) UIEdgeInsets insets;
|
|
343
|
+
|
|
344
|
+
- (nonnull instancetype) init;
|
|
345
|
+
- (nonnull instancetype) initWithColor:(UIColor * _Nonnull)color opacity:(float)opacity radius:(float)radius offset:(CGSize)offset insets:(UIEdgeInsets)insets;
|
|
346
|
+
@end
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Customize the User OCR Confirmation Screen.
|
|
350
|
+
*/
|
|
351
|
+
__attribute__((visibility("default")))
|
|
352
|
+
@interface FaceTecOCRConfirmationCustomization : NSObject
|
|
353
|
+
/**
|
|
354
|
+
* Color of the User OCR Confirmation Screen background.
|
|
355
|
+
* Default is white.
|
|
356
|
+
*/
|
|
357
|
+
@property (nonatomic, strong) NSArray<UIColor *> * _Nonnull backgroundColors;
|
|
358
|
+
/**
|
|
359
|
+
* Color of the line below the main header on the User OCR Confirmation Screen.
|
|
360
|
+
* Default is custom color.
|
|
361
|
+
*/
|
|
362
|
+
@property (nonatomic, strong) UIColor * _Nonnull mainHeaderDividerLineColor;
|
|
363
|
+
/**
|
|
364
|
+
* Thickness of the line below the main header on the User OCR Confirmation Screen.
|
|
365
|
+
* Default is dynamically configured per device at runtime.
|
|
366
|
+
*/
|
|
367
|
+
@property (nonatomic) int mainHeaderDividerLineWidth;
|
|
368
|
+
/**
|
|
369
|
+
* Font of the the main header text on the User OCR Confirmation Screen.
|
|
370
|
+
* Default is bold system font.
|
|
371
|
+
*/
|
|
372
|
+
@property (nonatomic, strong) UIFont * _Nonnull mainHeaderFont;
|
|
373
|
+
/**
|
|
374
|
+
* Color of the main header text on the User OCR Confirmation Screen.
|
|
375
|
+
* Default is custom color.
|
|
376
|
+
*/
|
|
377
|
+
@property (nonatomic, strong) UIColor * _Nonnull mainHeaderTextColor;
|
|
378
|
+
/**
|
|
379
|
+
* Font of the section headers' text on the User OCR Confirmation Screen.
|
|
380
|
+
* Default is bold system font.
|
|
381
|
+
*/
|
|
382
|
+
@property (nonatomic, strong) UIFont * _Nonnull sectionHeaderFont;
|
|
383
|
+
/**
|
|
384
|
+
* Color of the section headers' text on the User OCR Confirmation Screen.
|
|
385
|
+
* Default is off-black.
|
|
386
|
+
*/
|
|
387
|
+
@property (nonatomic, strong) UIColor * _Nonnull sectionHeaderTextColor;
|
|
388
|
+
/**
|
|
389
|
+
* Font of the field labels' text on the User OCR Confirmation Screen.
|
|
390
|
+
* Default is light system font.
|
|
391
|
+
*/
|
|
392
|
+
@property (nonatomic, strong) UIFont * _Nonnull fieldLabelFont;
|
|
393
|
+
/**
|
|
394
|
+
* Color of the field labels' text on the User OCR Confirmation Screen.
|
|
395
|
+
* Default is off-black.
|
|
396
|
+
*/
|
|
397
|
+
@property (nonatomic, strong) UIColor * _Nonnull fieldLabelTextColor;
|
|
398
|
+
/**
|
|
399
|
+
* Font of the field values' text on the User OCR Confirmation Screen.
|
|
400
|
+
* Default is light system font.
|
|
401
|
+
*/
|
|
402
|
+
@property (nonatomic, strong) UIFont * _Nonnull fieldValueFont;
|
|
403
|
+
/**
|
|
404
|
+
* Color of the field values' text on the User OCR Confirmation Screen.
|
|
405
|
+
* Default is off-black.
|
|
406
|
+
*/
|
|
407
|
+
@property (nonatomic, strong) UIColor * _Nonnull fieldValueTextColor;
|
|
408
|
+
/**
|
|
409
|
+
* Color of the input fields' backgrounds on the User OCR Confirmation Screen.
|
|
410
|
+
* Default is transparent.
|
|
411
|
+
*/
|
|
412
|
+
@property (nonatomic, strong) UIColor * _Nonnull inputFieldBackgroundColor;
|
|
413
|
+
/**
|
|
414
|
+
* Font of the input fields' text on the User OCR Confirmation Screen.
|
|
415
|
+
* If this value is nil, the font of the input fields' text will use the value configured for .fieldValueFont.
|
|
416
|
+
* Default is nil.
|
|
417
|
+
*/
|
|
418
|
+
@property (nonatomic, strong) UIFont * _Nullable inputFieldFont;
|
|
419
|
+
/**
|
|
420
|
+
* Color of the input fields' text on the User OCR Confirmation Screen.
|
|
421
|
+
* If this value is nil, the color of the input fields' text will use the value configured for .fieldValueTextColor.
|
|
422
|
+
* Default is nil.
|
|
423
|
+
*/
|
|
424
|
+
@property (nonatomic, strong) UIColor * _Nullable inputFieldTextColor;
|
|
425
|
+
/**
|
|
426
|
+
* Color of the input fields' borders on the User OCR Confirmation Screen.
|
|
427
|
+
* Default is off-black.
|
|
428
|
+
*/
|
|
429
|
+
@property (nonatomic, strong) UIColor * _Nonnull inputFieldBorderColor;
|
|
430
|
+
/**
|
|
431
|
+
* Thickness of the input fields' borders on the User OCR Confirmation Screen.
|
|
432
|
+
* Default is dynamically configured per device at runtime.
|
|
433
|
+
*/
|
|
434
|
+
@property (nonatomic) int inputFieldBorderWidth;
|
|
435
|
+
/**
|
|
436
|
+
* Corner radius of the input fields' borders on the User OCR Confirmation Screen.
|
|
437
|
+
* Default is dynamically configured per device at runtime.
|
|
438
|
+
*/
|
|
439
|
+
@property (nonatomic) int inputFieldCornerRadius;
|
|
440
|
+
/**
|
|
441
|
+
* Font of the input fields' placeholder text on the User OCR Confirmation Screen.
|
|
442
|
+
* If this value is nil, the font of the input fields' placeholder text will use the value configured for .inputFieldFont unless that value is nil, in which case the font of the input fields' placeholder text will use the value configured for .fieldValueFont.
|
|
443
|
+
* Default is nil.
|
|
444
|
+
*/
|
|
445
|
+
@property (nonatomic, strong) UIFont * _Nullable inputFieldPlaceholderFont;
|
|
446
|
+
/**
|
|
447
|
+
* Color of the input fields' placeholder text on the User OCR Confirmation Screen.
|
|
448
|
+
* If this value is nil, the color of the input fields' placeholder text will use the value configured for .inputFieldTextColor with a 0.4 alpha component unless that value is nil, in which case the color of the input fields' placeholder text will use the value configured for .fieldValueTextColor with a 0.4 alpha component.
|
|
449
|
+
* Default is nil.
|
|
450
|
+
*/
|
|
451
|
+
@property (nonatomic, strong) UIColor * _Nonnull inputFieldPlaceholderTextColor;
|
|
452
|
+
/**
|
|
453
|
+
* Control whether the input fields' borders are only displayed along the bottom bounds, or if they are displayed as a full box around the input fields on the User OCR Confirmation Screen.
|
|
454
|
+
* Default is false (showing full border box around input fields).
|
|
455
|
+
*/
|
|
456
|
+
@property (nonatomic) BOOL showInputFieldBottomBorderOnly;
|
|
457
|
+
/**
|
|
458
|
+
* Font of the action button's text during the User OCR Confirmation Screen.
|
|
459
|
+
* Default is a bold system font.
|
|
460
|
+
*/
|
|
461
|
+
@property (nonatomic, strong) UIFont * _Nonnull buttonFont;
|
|
462
|
+
/**
|
|
463
|
+
* Color of the action button's text during the User OCR Confirmation Screen.
|
|
464
|
+
* Default is white.
|
|
465
|
+
*/
|
|
466
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonTextNormalColor;
|
|
467
|
+
/**
|
|
468
|
+
* Color of the action button's background during the User OCR Confirmation Screen.
|
|
469
|
+
* Default is custom color.
|
|
470
|
+
*/
|
|
471
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBackgroundNormalColor;
|
|
472
|
+
/**
|
|
473
|
+
* Color of the action button's text when the button is pressed during the User OCR Confirmation Screen.
|
|
474
|
+
* Default is white.
|
|
475
|
+
*/
|
|
476
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonTextHighlightColor;
|
|
477
|
+
/**
|
|
478
|
+
* Color of the action button's background when the button is pressed during the User OCR Confirmation Screen.
|
|
479
|
+
* Default is custom color.
|
|
480
|
+
*/
|
|
481
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBackgroundHighlightColor;
|
|
482
|
+
/**
|
|
483
|
+
* Color of the action button's text when the button is disabled during the User OCR Confirmation Screen.
|
|
484
|
+
* Default is white.
|
|
485
|
+
*/
|
|
486
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonTextDisabledColor;
|
|
487
|
+
/**
|
|
488
|
+
* Color of the action button's background when the button is disabled during the User OCR Confirmation Screen.
|
|
489
|
+
* Default is custom color.
|
|
490
|
+
*/
|
|
491
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBackgroundDisabledColor;
|
|
492
|
+
/**
|
|
493
|
+
* Color of the action button's border during the User OCR Confirmation Screen.
|
|
494
|
+
* Default is transparent.
|
|
495
|
+
*/
|
|
496
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBorderColor;
|
|
497
|
+
/**
|
|
498
|
+
* Thickness of the action button's border during the User OCR Confirmation Screen.
|
|
499
|
+
* Default is dynamically configured per device at runtime.
|
|
500
|
+
*/
|
|
501
|
+
@property (nonatomic) int buttonBorderWidth;
|
|
502
|
+
/**
|
|
503
|
+
* Corner radius of the action button's border during the User OCR Confirmation Screen.
|
|
504
|
+
* Default is dynamically configured per device at runtime.
|
|
505
|
+
*/
|
|
506
|
+
@property (nonatomic) int buttonCornerRadius;
|
|
507
|
+
/**
|
|
508
|
+
* Color of the scroll indicator's background during the User OCR Confirmation Screen.
|
|
509
|
+
* Default is custom color.
|
|
510
|
+
*/
|
|
511
|
+
@property (nonatomic, strong) UIColor * _Nonnull scrollIndicatorBackgroundNormalColor;
|
|
512
|
+
/**
|
|
513
|
+
* Color of the scroll indicator's background when the button is pressed during the User OCR Confirmation Screen.
|
|
514
|
+
* Default is custom color.
|
|
515
|
+
*/
|
|
516
|
+
@property (nonatomic, strong) UIColor * _Nonnull scrollIndicatorBackgroundHighlightColor;
|
|
517
|
+
/**
|
|
518
|
+
* Color of the scroll indicator's text and default image tint during the User OCR Confirmation Screen.
|
|
519
|
+
* Default is white.
|
|
520
|
+
*/
|
|
521
|
+
@property (nonatomic, strong) UIColor * _Nonnull scrollIndicatorForegroundNormalColor;
|
|
522
|
+
/**
|
|
523
|
+
* Color of the scroll indicator's text and default image tint when the button is pressed during the User OCR Confirmation Screen.
|
|
524
|
+
* Default is white.
|
|
525
|
+
*/
|
|
526
|
+
@property (nonatomic, strong) UIColor * _Nonnull scrollIndicatorForegroundHighlightColor;
|
|
527
|
+
/**
|
|
528
|
+
* Color of the scroll indicator's border during the User OCR Confirmation Screen.
|
|
529
|
+
* Default is transparent.
|
|
530
|
+
*/
|
|
531
|
+
@property (nonatomic, strong) UIColor * _Nonnull scrollIndicatorBorderColor;
|
|
532
|
+
/**
|
|
533
|
+
* Thickness of the scroll indicator's border during theUser OCR Confirmation Screen.
|
|
534
|
+
* Default is dynamically configured per device at runtime.
|
|
535
|
+
*/
|
|
536
|
+
@property (nonatomic) int scrollIndicatorBorderWidth;
|
|
537
|
+
/**
|
|
538
|
+
* Corner radius of the scroll indicator's border on the User OCR Confirmation Screen.
|
|
539
|
+
* If this value is set to -1, the corner radius will be set to half the height of the scroll indicator.
|
|
540
|
+
* Default is -1.
|
|
541
|
+
*/
|
|
542
|
+
@property (nonatomic) int scrollIndicatorCornerRadius;
|
|
543
|
+
/**
|
|
544
|
+
* Font of the scroll indicator's text on the User OCR Confirmation Screen.
|
|
545
|
+
* If this value is null, FaceTec's default Typeface will be used.
|
|
546
|
+
* Default is null.
|
|
547
|
+
*/
|
|
548
|
+
@property (nonatomic, strong) UIFont * _Nullable scrollIndicatorFont;
|
|
549
|
+
/**
|
|
550
|
+
* Shadow displayed behind the scroll indicator on the User OCR Confirmation Screen.
|
|
551
|
+
* This customization can be set to nil for no shadow, or it can be set to an instance of FaceTecShadow.
|
|
552
|
+
* Note: FaceTecShadow's configurable properties correlate to the shadow-related attributes available for CALayer objects.
|
|
553
|
+
* Default is a custom shadow.
|
|
554
|
+
*/
|
|
555
|
+
@property (nonatomic) FaceTecShadow * _Nullable scrollIndicatorShadow;
|
|
556
|
+
/**
|
|
557
|
+
* Control whether to show the scroll indicator on the User OCR Confirmation Screen when there is scrollable content.
|
|
558
|
+
* Default is true (enabled).
|
|
559
|
+
*/
|
|
560
|
+
@property (nonatomic) BOOL enableScrollIndicator;
|
|
561
|
+
/**
|
|
562
|
+
* Control whether to animate the text of the scroll indicator on the User OCR Confirmation Screen.
|
|
563
|
+
* Default is true (enabled).
|
|
564
|
+
*/
|
|
565
|
+
@property (nonatomic) BOOL enableScrollIndicatorTextAnimation;
|
|
566
|
+
/**
|
|
567
|
+
* Control whether to place the User OCR Confirmation Screen action button at the bottom of the scrollable content, or fixed to the bottom of the screen (always visible).
|
|
568
|
+
* Default is false (button is below the scrollable content).
|
|
569
|
+
*/
|
|
570
|
+
@property (nonatomic) BOOL enableFixedConfirmButton;
|
|
571
|
+
/**
|
|
572
|
+
* Control whether to show the animate-able image on the scroll indicator on the User OCR Confirmation Screen.
|
|
573
|
+
* Default is true (shown).
|
|
574
|
+
*/
|
|
575
|
+
@property (nonatomic) BOOL showScrollIndicatorImage;
|
|
576
|
+
|
|
577
|
+
@end
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* Customize the Photo ID Match Screens.
|
|
581
|
+
*/
|
|
582
|
+
__attribute__((visibility("default")))
|
|
583
|
+
@interface FaceTecIDScanCustomization : NSObject
|
|
584
|
+
/**
|
|
585
|
+
* Controls whether to show the 'FaceTec_document' image (or image configured with .selectionScreenDocumentImage) on the Identity Document Type Selection Screen.
|
|
586
|
+
* Default is true (visible).
|
|
587
|
+
*/
|
|
588
|
+
@property (nonatomic) BOOL showSelectionScreenDocumentImage;
|
|
589
|
+
/**
|
|
590
|
+
* Image displayed on the Identity Document Type Selection Screen below the header message.
|
|
591
|
+
* Default is configured to use image named 'FaceTec_document' located in application's Assets folder.
|
|
592
|
+
*/
|
|
593
|
+
@property (nonatomic, strong) UIImage * _Nullable selectionScreenDocumentImage;
|
|
594
|
+
/**
|
|
595
|
+
* Color of the Identity Document Type Selection Screen background.
|
|
596
|
+
* Default is white.
|
|
597
|
+
*/
|
|
598
|
+
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull selectionScreenBackgroundColors;
|
|
599
|
+
/**
|
|
600
|
+
* Color of the text displayed on the Identity Document Type Selection Screen (not including the action button text).
|
|
601
|
+
* Default is custom color.
|
|
602
|
+
*/
|
|
603
|
+
@property (nonatomic, strong) UIColor * _Nonnull selectionScreenForegroundColor;
|
|
604
|
+
/**
|
|
605
|
+
* Color of the Identity Document Review Screen background.
|
|
606
|
+
* Default is white.
|
|
607
|
+
*/
|
|
608
|
+
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull reviewScreenBackgroundColors;
|
|
609
|
+
/**
|
|
610
|
+
* Color of the instruction message text displayed on the Identity Document Review Screen (not including the action button).
|
|
611
|
+
* Default is white.
|
|
612
|
+
*/
|
|
613
|
+
@property (nonatomic, strong) UIColor * _Nonnull reviewScreenForegroundColor;
|
|
614
|
+
/**
|
|
615
|
+
* Color of the text view background during the Identity Document Review Screen.
|
|
616
|
+
* Default is custom color.
|
|
617
|
+
*/
|
|
618
|
+
@property (nonatomic, strong) UIColor * _Nonnull reviewScreenTextBackgroundColor;
|
|
619
|
+
/**
|
|
620
|
+
* Color of the text view background border during the Identity Document Review Screen.
|
|
621
|
+
* Default is transparent.
|
|
622
|
+
*/
|
|
623
|
+
@property (nonatomic, strong) UIColor * _Nonnull reviewScreenTextBackgroundBorderColor;
|
|
624
|
+
/**
|
|
625
|
+
* Corner radius of the text view background and border during the Identity Document Review Screen.
|
|
626
|
+
* Default is dynamically configured per device at runtime.
|
|
627
|
+
*/
|
|
628
|
+
@property (nonatomic) int reviewScreenTextBackgroundCornerRadius;
|
|
629
|
+
/**
|
|
630
|
+
* Thickness of the text view background border during the Identity Document Review Screen.
|
|
631
|
+
* Default is 0.
|
|
632
|
+
*/
|
|
633
|
+
@property (nonatomic) int reviewScreenTextBackgroundBorderWidth;
|
|
634
|
+
/**
|
|
635
|
+
* Color of the instruction message text displayed on the Identity Document Capture Screen (not including the action button text or the tap-to-focus message text).
|
|
636
|
+
* Default is white.
|
|
637
|
+
*/
|
|
638
|
+
@property (nonatomic, strong) UIColor * _Nonnull captureScreenForegroundColor;
|
|
639
|
+
/**
|
|
640
|
+
* Color of the text view background during the Identity Document Capture Screen.
|
|
641
|
+
* Default is custom color.
|
|
642
|
+
*/
|
|
643
|
+
@property (nonatomic, strong) UIColor * _Nonnull captureScreenTextBackgroundColor;
|
|
644
|
+
/**
|
|
645
|
+
* Color of the text view background border during the Identity Document Capture Screen.
|
|
646
|
+
* Default is transparent.
|
|
647
|
+
*/
|
|
648
|
+
@property (nonatomic, strong) UIColor * _Nonnull captureScreenTextBackgroundBorderColor;
|
|
649
|
+
/**
|
|
650
|
+
* Corner radius of the text view background and border during the Identity Document Capture Screen.
|
|
651
|
+
* Default is dynamically configured per device at runtime.
|
|
652
|
+
*/
|
|
653
|
+
@property (nonatomic) int captureScreenTextBackgroundCornerRadius;
|
|
654
|
+
/**
|
|
655
|
+
* Thickness of the text view background border during the Identity Document Capture Screen.
|
|
656
|
+
* Default is 0.
|
|
657
|
+
*/
|
|
658
|
+
@property (nonatomic) int captureScreenTextBackgroundBorderWidth;
|
|
659
|
+
/**
|
|
660
|
+
* Color of the tap-to-focus message text displayed below the Capture Frame during the Identity Document Capture Screen.
|
|
661
|
+
* Default is custom color.
|
|
662
|
+
*/
|
|
663
|
+
@property (nonatomic, strong) UIColor * _Nonnull captureScreenFocusMessageTextColor;
|
|
664
|
+
/**
|
|
665
|
+
* Font of the tap-to-focus message text below the Capture Frame during the Identity Document Capture Screen.
|
|
666
|
+
* Default is a light system font.
|
|
667
|
+
*/
|
|
668
|
+
@property (nonatomic, strong) UIFont * _Nonnull captureScreenFocusMessageFont;
|
|
669
|
+
/**
|
|
670
|
+
* Color of the action button's text during Photo ID Match Screens.
|
|
671
|
+
* Default is white.
|
|
672
|
+
*/
|
|
673
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonTextNormalColor;
|
|
674
|
+
/**
|
|
675
|
+
* Color of the action button's background during Photo ID Match Screens.
|
|
676
|
+
* Default is custom color.
|
|
677
|
+
*/
|
|
678
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBackgroundNormalColor;
|
|
679
|
+
/**
|
|
680
|
+
* Color of the action button's text when the button is pressed during the Photo ID Match Screens.
|
|
681
|
+
* Default is white.
|
|
682
|
+
*/
|
|
683
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonTextHighlightColor;
|
|
684
|
+
/**
|
|
685
|
+
* Color of the action button's background when the button is pressed during the Photo ID Match Screens.
|
|
686
|
+
* Default is custom color.
|
|
687
|
+
*/
|
|
688
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBackgroundHighlightColor;
|
|
689
|
+
/**
|
|
690
|
+
* Color of the action button's text when the button is disabled during Photo ID Match Screens.
|
|
691
|
+
* Default is white.
|
|
692
|
+
*/
|
|
693
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonTextDisabledColor;
|
|
694
|
+
/**
|
|
695
|
+
* Color of the action button's background when the button is disabled during the Photo ID Match Screens.
|
|
696
|
+
* Default is custom color.
|
|
697
|
+
*/
|
|
698
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBackgroundDisabledColor;
|
|
699
|
+
/**
|
|
700
|
+
* Color of the action button's border during Photo ID Match Screens.
|
|
701
|
+
* Default is transparent.
|
|
702
|
+
*/
|
|
703
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBorderColor;
|
|
704
|
+
/**
|
|
705
|
+
* Thickness of the action button's border during the Photo ID Match Screens.
|
|
706
|
+
* Default is dynamically configured per device at runtime.
|
|
707
|
+
*/
|
|
708
|
+
@property (nonatomic) int buttonBorderWidth;
|
|
709
|
+
/**
|
|
710
|
+
* Corner radius of the action button's border during the Photo ID Match Screens.
|
|
711
|
+
* Default is dynamically configured per device at runtime.
|
|
712
|
+
*/
|
|
713
|
+
@property (nonatomic) int buttonCornerRadius;
|
|
714
|
+
|
|
715
|
+
/**
|
|
716
|
+
* Font of the title during the Identity Document Type Selection Screen.
|
|
717
|
+
* Default is a semi-bold system font.
|
|
718
|
+
*/
|
|
719
|
+
@property (nonatomic, strong) UIFont * _Nonnull headerFont;
|
|
720
|
+
|
|
721
|
+
/**
|
|
722
|
+
* Font of the instruction message text during the Identity Document Capture and Review Screens.
|
|
723
|
+
* Default is a light system font.
|
|
724
|
+
*/
|
|
725
|
+
@property (nonatomic, strong) UIFont * _Nonnull subtextFont;
|
|
726
|
+
|
|
727
|
+
/**
|
|
728
|
+
* Font of the action button's text during the Photo ID Match Screens.
|
|
729
|
+
* Default is a bold system font.
|
|
730
|
+
*/
|
|
731
|
+
@property (nonatomic, strong) UIFont * _Nonnull buttonFont;
|
|
732
|
+
/**
|
|
733
|
+
* Color of the Identity Document Capture Screen's background.
|
|
734
|
+
* Default is white.
|
|
735
|
+
*/
|
|
736
|
+
@property (nonatomic, strong) UIColor * _Nonnull captureScreenBackgroundColor;
|
|
737
|
+
/**
|
|
738
|
+
* Color of the Identity Document Capture Frame's stroke.
|
|
739
|
+
* Default is custom color.
|
|
740
|
+
*/
|
|
741
|
+
@property (nonatomic, strong) UIColor * _Nonnull captureFrameStrokeColor;
|
|
742
|
+
/**
|
|
743
|
+
* Thickness of the Identity Document Capture Frame's stroke.
|
|
744
|
+
* Default is dynamically configured per device at runtme.
|
|
745
|
+
*/
|
|
746
|
+
@property (nonatomic) int captureFrameStrokeWith;
|
|
747
|
+
/**
|
|
748
|
+
* Corner radius of the Identity Document Capture Frame.
|
|
749
|
+
* Default is dynamically configured per device at runtime.
|
|
750
|
+
*/
|
|
751
|
+
@property (nonatomic) int captureFrameCornerRadius;
|
|
752
|
+
/**
|
|
753
|
+
* Image displayed for the Torch button on the Identity Document Capture Screen when the torch/flashlight is active/on.
|
|
754
|
+
* Default is configured to use image named 'FaceTec_active_torch' located in application's Assets folder.
|
|
755
|
+
*/
|
|
756
|
+
@property (nonatomic, strong) UIImage * _Nullable activeTorchButtonImage;
|
|
757
|
+
/**
|
|
758
|
+
* Image displayed for the Torch button on the Identity Document Capture Screen when the torch/flashlight is inactive/off.
|
|
759
|
+
* Default is configured to use image named 'FaceTec_inactive_torch' located in application's Assets folder.
|
|
760
|
+
*/
|
|
761
|
+
@property (nonatomic, strong) UIImage * _Nullable inactiveTorchButtonImage;
|
|
762
|
+
/**
|
|
763
|
+
* Color of the Additional Review Screen background.
|
|
764
|
+
* Default is white.
|
|
765
|
+
*/
|
|
766
|
+
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull additionalReviewScreenBackgroundColors;
|
|
767
|
+
/**
|
|
768
|
+
* Color of the text displayed on the Additional Review Screen (not including the action button text).
|
|
769
|
+
* Default is custom color.
|
|
770
|
+
*/
|
|
771
|
+
@property (nonatomic, strong) UIColor * _Nonnull additionalReviewScreenForegroundColor;
|
|
772
|
+
/**
|
|
773
|
+
* Image displayed on the ID Scan Additional Review Screen.
|
|
774
|
+
* Default is configured to use image named 'FaceTec_review' located in application's Assets folder.
|
|
775
|
+
*/
|
|
776
|
+
@property (nonatomic, strong) UIImage * _Nullable additionalReviewScreenScreenImage;
|
|
777
|
+
/**
|
|
778
|
+
* Color of the ID Scan Feedback Screen background.
|
|
779
|
+
* Default is white.
|
|
780
|
+
*/
|
|
781
|
+
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull idFeedbackScreenBackgroundColors;
|
|
782
|
+
/**
|
|
783
|
+
* Color of the text displayed on the ID Scan Feedback Screen (not including the action button text).
|
|
784
|
+
* Default is custom color.
|
|
785
|
+
*/
|
|
786
|
+
@property (nonatomic, strong) UIColor * _Nonnull idFeedbackScreenForegroundColor;
|
|
787
|
+
/**
|
|
788
|
+
* Image displayed on the ID Scan Feedback Screen for the front-side of the ID in the default animation when feedback is to flip the ID to the back-side.
|
|
789
|
+
* The images configured with idFeedbackScreenFlipIDFrontImage and idFeedbackScreenFlipIDBackImage will be used for the default flip animation and displayed instead of a custom animation configured with onCreateIDFeedbackScreenFlipIDToBackAnimationView.
|
|
790
|
+
* Default is configured to use image named 'FaceTec_id_card_front' located in application's Assets folder.
|
|
791
|
+
*/
|
|
792
|
+
@property (nonatomic, strong) UIImage * _Nullable idFeedbackScreenFlipIDFrontImage;
|
|
793
|
+
/**
|
|
794
|
+
* Image displayed on the ID Scan Feedback Screen for the front-side of the ID in the default animation when feedback is to flip the ID to the back-side.
|
|
795
|
+
* The images configured with idFeedbackScreenFlipIDFrontImage and idFeedbackScreenFlipIDBackImage will be used for the default flip animation and displayed instead of a custom animation configured with onCreateIDFeedbackScreenFlipIDToBackAnimationView.
|
|
796
|
+
* Default is configured to use image named 'FaceTec_id_card_back' located in application's Assets folder.
|
|
797
|
+
*/
|
|
798
|
+
@property (nonatomic, strong) UIImage * _Nullable idFeedbackScreenFlipIDBackImage;
|
|
799
|
+
/**
|
|
800
|
+
* Controls whether to show the 'FaceTec_face_match_to_id_branding_logo' image (or image configured with .faceMatchToIDBrandingImage) on the ID Scan Capture Screen for Face Match to ID Sessions.
|
|
801
|
+
* Default is false (hidden).
|
|
802
|
+
*/
|
|
803
|
+
@property (nonatomic) BOOL showFaceMatchToIDBrandingImage;
|
|
804
|
+
/**
|
|
805
|
+
* Image displayed on the ID Scan Capture Screen for Face Match To ID Sessions.
|
|
806
|
+
* Default is configured to use image named 'FaceTec_face_match_to_id_branding_logo' located in application's Assets folder.
|
|
807
|
+
*/
|
|
808
|
+
@property (nonatomic, strong) UIImage * _Nullable faceMatchToIDBrandingImage;
|
|
809
|
+
/**
|
|
810
|
+
* Image displayed on the ID Scan Capture Screen for standalone ID Scan Sessions.
|
|
811
|
+
* Default is configured to use image named 'FaceTec_standalone_id_scan_watermark' located in application's Assets folder.
|
|
812
|
+
*/
|
|
813
|
+
@property (nonatomic, strong) UIImage * _Nullable standaloneIDScanWatermark;
|
|
814
|
+
/**
|
|
815
|
+
* Controls whether to show the Additional Review Screen at the end of an ID Scan Session if there was an issue with scanning part of the ID.
|
|
816
|
+
* Default is false (shown).
|
|
817
|
+
*/
|
|
818
|
+
@property (nonatomic) BOOL disableAdditionalReviewScreen;
|
|
819
|
+
/**
|
|
820
|
+
* Controls whether to show the ID Scan Feedback Screen at the end of an ID Scan Result Screen if there was a correctable issue with scanning the ID.
|
|
821
|
+
* Default is false (shown).
|
|
822
|
+
*/
|
|
823
|
+
@property (nonatomic) BOOL disableIDFeedbackScreen;
|
|
824
|
+
/**
|
|
825
|
+
* Controls the length of time to display the Additional Review Screen animation after being transitioned in and before being transitioned out.
|
|
826
|
+
* Value is in seconds. This value has to be between 1.5 and 3.0. If it’s lower than 1.5 or higher than 3.0, it will be defaulted to 1.5 or 3.0 respectively.
|
|
827
|
+
* Default is 2.
|
|
828
|
+
*/
|
|
829
|
+
@property (nonatomic) double additionalReviewScreenAnimationDisplayTime;
|
|
830
|
+
/**
|
|
831
|
+
* Controls the length of time to display the ID Feedback Screen animation after being transitioned in and before being transitioned out.
|
|
832
|
+
* Value is in seconds. This value has to be between 1.5 and 3.0. If it’s lower than 1.5 or higher than 3.0, it will be defaulted to 1.5 or 3.0 respectively.
|
|
833
|
+
* Default is 2.
|
|
834
|
+
*/
|
|
835
|
+
@property (nonatomic) double idFeedbackScreenAnimationDisplayTime;
|
|
836
|
+
/**
|
|
837
|
+
* Controls the length of time to display the NFC Screen animation after being transitioned in and before being transitioned out.
|
|
838
|
+
* Value is in seconds. This value has to be between 1.5 and 3.0. If it’s lower than 1.5 or higher than 3.0, it will be defaulted to 1.5 or 3.0 respectively.
|
|
839
|
+
* Default is 2.
|
|
840
|
+
*/
|
|
841
|
+
@property (nonatomic) double nfcScreenAnimationDisplayTime;
|
|
842
|
+
|
|
843
|
+
@end
|
|
844
|
+
|
|
845
|
+
/**
|
|
846
|
+
* Customize the New User Guidance and Retry Screens.
|
|
847
|
+
* New User Guidance Screens are shown before the Session and Retry Screens are shown after an unsuccessful Session.
|
|
848
|
+
*/
|
|
849
|
+
__attribute__((visibility("default")))
|
|
850
|
+
@interface FaceTecGuidanceCustomization : NSObject
|
|
851
|
+
/**
|
|
852
|
+
* Color of the background for the New User Guidance and Retry Screens.
|
|
853
|
+
* Default is white.
|
|
854
|
+
*/
|
|
855
|
+
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull backgroundColors;
|
|
856
|
+
/**
|
|
857
|
+
* Color of the text displayed on the New User Guidance and Retry Screens (not including the action button text).
|
|
858
|
+
* Note: This customization can be overridden for specific text using FaceTecGuidanceCustomization.readyScreenHeaderTextColor, .readyScreenSubtextTextColor, .retryScreenHeaderTextColor, and/or .retryScreenSubtextTextColor.
|
|
859
|
+
* Default is black.
|
|
860
|
+
*/
|
|
861
|
+
@property (nonatomic, strong) UIColor * _Nonnull foregroundColor;
|
|
862
|
+
/**
|
|
863
|
+
* Color of the action button's text during the New User Guidance and Retry Screens.
|
|
864
|
+
* Default is white.
|
|
865
|
+
*/
|
|
866
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonTextNormalColor;
|
|
867
|
+
/**
|
|
868
|
+
* Color of the action button's background during the New User Guidance and Retry Screens.
|
|
869
|
+
* Default is custom color.
|
|
870
|
+
*/
|
|
871
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBackgroundNormalColor;
|
|
872
|
+
/**
|
|
873
|
+
* Color of the action button's text when the button is pressed during the New User Guidance and Retry Screens.
|
|
874
|
+
* Default is white.
|
|
875
|
+
*/
|
|
876
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonTextHighlightColor;
|
|
877
|
+
/**
|
|
878
|
+
* Color of the action button's background when the button is pressed during the New User Guidance and Retry Screens.
|
|
879
|
+
* Default is custom color.
|
|
880
|
+
*/
|
|
881
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBackgroundHighlightColor;
|
|
882
|
+
/**
|
|
883
|
+
* Color of the action button's text when the button is disabled during the New User Guidance and Retry Screens.
|
|
884
|
+
* Default is white.
|
|
885
|
+
*/
|
|
886
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonTextDisabledColor;
|
|
887
|
+
/**
|
|
888
|
+
* Color of the action button's background when the button is disabled during the New User Guidance and Retry Screens.
|
|
889
|
+
* Default is custom color.
|
|
890
|
+
*/
|
|
891
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBackgroundDisabledColor;
|
|
892
|
+
/**
|
|
893
|
+
* Color of the action button's border during the New User Guidance and Retry Screens.
|
|
894
|
+
* Default is transparent.
|
|
895
|
+
*/
|
|
896
|
+
@property (nonatomic, strong) UIColor * _Nonnull buttonBorderColor;
|
|
897
|
+
/**
|
|
898
|
+
* Thickness of the action button's border during the New User Guidance and Retry Screens.
|
|
899
|
+
* Default is dynamically configured per device at runtime.
|
|
900
|
+
*/
|
|
901
|
+
@property (nonatomic) int buttonBorderWidth;
|
|
902
|
+
/**
|
|
903
|
+
* Corner radius of the action button's border during the New User Guidance and Retry Screens.
|
|
904
|
+
* Default is dynamically configured per device at runtime.
|
|
905
|
+
*/
|
|
906
|
+
@property (nonatomic) int buttonCornerRadius;
|
|
907
|
+
|
|
908
|
+
/**
|
|
909
|
+
* Font of the title during the New User Guidance and Retry Screens.
|
|
910
|
+
* Note: This customization can be overridden for specific text using FaceTecGuidanceCustomization.readyScreenHeaderFont and/or .retryScreenHeaderFont.
|
|
911
|
+
* Default is a semi-bold system font.
|
|
912
|
+
*/
|
|
913
|
+
@property (nonatomic, strong) UIFont * _Nonnull headerFont;
|
|
914
|
+
|
|
915
|
+
/**
|
|
916
|
+
* Font of the title's subtext and messages during the New User Guidance and Retry Screens.
|
|
917
|
+
* Note: This customization can be overridden for specific text using FaceTecGuidanceCustomization.readyScreenSubtextFont and/or .retryScreenSubtextFont.
|
|
918
|
+
* Default is a light system font.
|
|
919
|
+
*/
|
|
920
|
+
@property (nonatomic, strong) UIFont * _Nonnull subtextFont;
|
|
921
|
+
|
|
922
|
+
/**
|
|
923
|
+
* Specify an attributed string to use instead of the localized string for the text of the title displayed on the Get Ready Screen during the New User Guidance and Retry Screens.
|
|
924
|
+
* If this value is nil, the localized string, FaceTecStrings.FaceTec_instructions_header_ready, will be used for the text of the title displayed on the Get Ready Screen during the New User Guidance and Retry Screens.
|
|
925
|
+
* Default is nil.
|
|
926
|
+
*/
|
|
927
|
+
@property (nonatomic, strong) NSAttributedString * _Nullable readyScreenHeaderAttributedString;
|
|
928
|
+
/**
|
|
929
|
+
* Font of the title's text displayed on the Get Ready Screen during the New User Guidance and Retry Screens.
|
|
930
|
+
* Note: This will override the header font configured with FaceTecGuidanceCustomization.headerFont for the Get Ready Screen.
|
|
931
|
+
* If this value is nil, FaceTecGuidanceCustomization.headerFont will be used for the font of the title's text displayed on the Get Ready Screen.
|
|
932
|
+
* Default value is nil.
|
|
933
|
+
*/
|
|
934
|
+
@property (nonatomic, strong) UIFont * _Nullable readyScreenHeaderFont;
|
|
935
|
+
|
|
936
|
+
/**
|
|
937
|
+
* Color of the header text displayed on the Get Ready Screen during the New User Guidance and Retry Screens.
|
|
938
|
+
* Note: This will override the header text color configured with FaceTecGuidanceCustomization.foregroundColor for the Get Ready Screen.
|
|
939
|
+
* If this value is nil, FaceTecGuidanceCustomization.foregroundColor will be used for the color of the title's text displayed on the Get Ready Screen.
|
|
940
|
+
* Default value is nil.
|
|
941
|
+
*/
|
|
942
|
+
@property (nonatomic, strong) UIColor * _Nullable readyScreenHeaderTextColor;
|
|
943
|
+
/**
|
|
944
|
+
* Specify an attributed string to use instead of the localized string for the text of the title's subtext displayed on the Get Ready Screen during the New User Guidance and Retry Screens.
|
|
945
|
+
* If this value is nil, the localized string, FaceTecStrings.FaceTec_instructions_message_ready, will be used for the text of the title's subtext displayed on the Get Ready Screen during the New User Guidance and Retry Screens.
|
|
946
|
+
* Default is nil.
|
|
947
|
+
*/
|
|
948
|
+
@property (nonatomic, strong) NSAttributedString * _Nullable readyScreenSubtextAttributedString;
|
|
949
|
+
/**
|
|
950
|
+
* Font of the title's subtext displayed on the Get Ready Screen during the New User Guidance and Retry Screens.
|
|
951
|
+
* Note: This will override the title's subtext font configured with FaceTecGuidanceCustomization.subtextFont for the Get Ready Screen.
|
|
952
|
+
* If this value is nil, FaceTecGuidanceCustomization.subtextFont will be used for the font of the title's subtext displayed on the Get Ready Screen.
|
|
953
|
+
* Default value is nil.
|
|
954
|
+
*/
|
|
955
|
+
@property (nonatomic, strong) UIFont * _Nullable readyScreenSubtextFont;
|
|
956
|
+
|
|
957
|
+
/**
|
|
958
|
+
* Color of the title's subtext displayed on the Get Ready Screen during the New User Guidance and Retry Screens.
|
|
959
|
+
* Note: This will override the title's subtext color configured with FaceTecGuidanceCustomization.foregroundColor for the Get Ready Screen.
|
|
960
|
+
* If this value is nil, FaceTecGuidanceCustomization.foregroundColor will be used for the color of the title's subtext displayed on the Get Ready Screen.
|
|
961
|
+
* Default value is nil.
|
|
962
|
+
*/
|
|
963
|
+
@property (nonatomic, strong) UIColor * _Nullable readyScreenSubtextTextColor;
|
|
964
|
+
/**
|
|
965
|
+
* Specify an attributed string to use instead of the localized string for the text of the title displayed on the first Retry Screen.
|
|
966
|
+
* If this value is nil, the localized string, FaceTecStrings.FaceTec_retry_header, will be used for the text of the title displayed on the first Retry Screen.
|
|
967
|
+
* Default is nil.
|
|
968
|
+
*/
|
|
969
|
+
@property (nonatomic, strong) NSAttributedString * _Nullable retryScreenHeaderAttributedString;
|
|
970
|
+
/**
|
|
971
|
+
* Font of the title's text displayed on the first Retry Screen.
|
|
972
|
+
* Note: This will override the header font configured with FaceTecGuidanceCustomization.headerFont for the first Retry Screen.
|
|
973
|
+
* If this value is nil, FaceTecGuidanceCustomization.headerFont will be used for the font of the title's text displayed on the first Retry Screen.
|
|
974
|
+
* Default value is nil.
|
|
975
|
+
*/
|
|
976
|
+
@property (nonatomic, strong) UIFont * _Nullable retryScreenHeaderFont;
|
|
977
|
+
|
|
978
|
+
/**
|
|
979
|
+
* Color of the header text displayed on the first Retry Screen.
|
|
980
|
+
* Note: This will override the header text color configured with FaceTecGuidanceCustomization.foregroundColor for the first Retry Screen.
|
|
981
|
+
* If this value is nil, FaceTecGuidanceCustomization.foregroundColor will be used for the color of the title's text displayed on the first Retry Screen.
|
|
982
|
+
* Default value is nil.
|
|
983
|
+
*/
|
|
984
|
+
@property (nonatomic, strong) UIColor * _Nullable retryScreenHeaderTextColor;
|
|
985
|
+
/**
|
|
986
|
+
* Specify an attributed string to use instead of the localized string for the text of the title's subtext displayed on the first Retry Screen.
|
|
987
|
+
* If this value is nil, the localized strings, FaceTecStrings.FaceTec_retry_subheader_message, will be used for the text of the title's subtext displayed on the first Retry Screen.
|
|
988
|
+
* Default is nil.
|
|
989
|
+
*/
|
|
990
|
+
@property (nonatomic, strong) NSAttributedString * _Nullable retryScreenSubtextAttributedString;
|
|
991
|
+
/**
|
|
992
|
+
* Font of the title's subtext and messages displayed on the first Retry Screen.
|
|
993
|
+
* Note: This will override the font of the title's subtext and messages configured with FaceTecGuidanceCustomization.subtextFont for the first Retry Screen.
|
|
994
|
+
* If this value is nil, FaceTecGuidanceCustomization.subtextFont will be used for the font of the title's subtext and messages displayed on the first Retry Screen.
|
|
995
|
+
* Default value is nil.
|
|
996
|
+
*/
|
|
997
|
+
@property (nonatomic, strong) UIFont * _Nullable retryScreenSubtextFont;
|
|
998
|
+
|
|
999
|
+
/**
|
|
1000
|
+
* Color of the title's subtext and messages displayed on the first Retry Screen.
|
|
1001
|
+
* Note: This will override the title's subtext and message color configured with FaceTecGuidanceCustomization.foregroundColor for the first Retry Screen.
|
|
1002
|
+
* If this value is nil, FaceTecGuidanceCustomization.foregroundColor will be used for the color of the title's subtext displayed on the first Retry Screen.
|
|
1003
|
+
* Default value is nil.
|
|
1004
|
+
*/
|
|
1005
|
+
@property (nonatomic, strong) UIColor * _Nullable retryScreenSubtextTextColor;
|
|
1006
|
+
/**
|
|
1007
|
+
* Font of the action button's text during the New User Guidance and Retry Screens.
|
|
1008
|
+
* Default is a bold system font.
|
|
1009
|
+
*/
|
|
1010
|
+
@property (nonatomic, strong) UIFont * _Nonnull buttonFont;
|
|
1011
|
+
|
|
1012
|
+
/**
|
|
1013
|
+
* Background color of the Get Ready Screen text views during the New User Guidance and Retry Screens.
|
|
1014
|
+
* This will only be visible on iPhone 4/4s models.
|
|
1015
|
+
* Default is white.
|
|
1016
|
+
*/
|
|
1017
|
+
@property (nonatomic, strong) UIColor * _Nonnull readyScreenTextBackgroundColor;
|
|
1018
|
+
/**
|
|
1019
|
+
* Background corner radius of the Get Ready Screen text views during the New User Guidance and Retry Screens.
|
|
1020
|
+
* This will only be visible on iPhone 4/4s models.
|
|
1021
|
+
* Default is dynamically configured per device at runtime.
|
|
1022
|
+
*/
|
|
1023
|
+
@property (nonatomic) int readyScreenTextBackgroundCornerRadius;
|
|
1024
|
+
/**
|
|
1025
|
+
* Color of the Get Ready Screen's oval fill.
|
|
1026
|
+
* Default is transparent.
|
|
1027
|
+
*/
|
|
1028
|
+
@property (nonatomic, strong) UIColor * _Nonnull readyScreenOvalFillColor;
|
|
1029
|
+
/**
|
|
1030
|
+
* Image displayed as Ideal example (right image) during the first Retry Screen.
|
|
1031
|
+
* Default is configured to use image named 'FaceTec_ideal' located in application's Assets folder.
|
|
1032
|
+
*/
|
|
1033
|
+
@property (nonatomic, strong) UIImage * _Nullable retryScreenIdealImage;
|
|
1034
|
+
/**
|
|
1035
|
+
* Images displayed as Ideal examples (right image) during the first Retry Screen.
|
|
1036
|
+
* When configured to a non-empty array, these images will override the single image configured for FaceTecGuidanceCustomization.retryScreenIdealImage.
|
|
1037
|
+
* Default is an empty array.
|
|
1038
|
+
*/
|
|
1039
|
+
@property (nonatomic, strong) NSArray<UIImage *> * _Nullable retryScreenSlideshowImages;
|
|
1040
|
+
/**
|
|
1041
|
+
* Control the time, in milliseconds, that each image is shown for before transitioning to the next image.
|
|
1042
|
+
* Default is 1500.
|
|
1043
|
+
*/
|
|
1044
|
+
@property (nonatomic) int retryScreenSlideshowInterval;
|
|
1045
|
+
/**
|
|
1046
|
+
* Control whether to allow the slideshow images to appear in a randomized order during each Retry Screen.
|
|
1047
|
+
* Default is true (enabled).
|
|
1048
|
+
*/
|
|
1049
|
+
@property (nonatomic) BOOL enableRetryScreenSlideshowShuffle;
|
|
1050
|
+
/**
|
|
1051
|
+
* Color of the image borders during the first Retry Screen.
|
|
1052
|
+
* Default is custom color.
|
|
1053
|
+
*/
|
|
1054
|
+
@property (nonatomic, strong) UIColor * _Nonnull retryScreenImageBorderColor;
|
|
1055
|
+
/**
|
|
1056
|
+
* Thickness of the image borders during the first Retry Screen.
|
|
1057
|
+
* Default is dynamically configured per device at runtime.
|
|
1058
|
+
*/
|
|
1059
|
+
@property (nonatomic) int retryScreenImageBorderWidth;
|
|
1060
|
+
/**
|
|
1061
|
+
* Corner radius of the image borders during the first Retry Screen.
|
|
1062
|
+
* Default is dynamically configured per device at runtime.
|
|
1063
|
+
*/
|
|
1064
|
+
@property (nonatomic) int retryScreenImageCornerRadius;
|
|
1065
|
+
/**
|
|
1066
|
+
* Color of the oval's stroke that overlay's the Ideal image example during the first Retry Screen.
|
|
1067
|
+
* Default is white.
|
|
1068
|
+
*/
|
|
1069
|
+
@property (nonatomic, strong) UIColor * _Nonnull retryScreenOvalStrokeColor;
|
|
1070
|
+
|
|
1071
|
+
/**
|
|
1072
|
+
* Image displayed on the Camera Permissions Screen.
|
|
1073
|
+
* Default is configured to use image named 'FaceTec_camera' located in application's Assets folder.
|
|
1074
|
+
*/
|
|
1075
|
+
@property (nonatomic, strong) UIImage * _Nullable cameraPermissionsScreenImage;
|
|
1076
|
+
- (nonnull instancetype) init;
|
|
1077
|
+
@end
|
|
1078
|
+
|
|
1079
|
+
/**
|
|
1080
|
+
* Customize the Result Screen.
|
|
1081
|
+
* Shown for server-side work and response handling.
|
|
1082
|
+
*/
|
|
1083
|
+
__attribute__((visibility("default")))
|
|
1084
|
+
@interface FaceTecResultScreenCustomization : NSObject
|
|
1085
|
+
/**
|
|
1086
|
+
* Control the size of the activity indicator and result animations displayed on the Result Screen.
|
|
1087
|
+
* This value represents the scaling factor that will be applied to the default animation bounds.
|
|
1088
|
+
* This value has to be between 0.5 and 1.5. If it’s lower than 0.5 or higher than 1.5, it will be defaulted to 0.5 or 1.5 respectively.
|
|
1089
|
+
* Default value is 1.
|
|
1090
|
+
*/
|
|
1091
|
+
@property (nonatomic) float animationRelativeScale;
|
|
1092
|
+
/**
|
|
1093
|
+
* Color of the Result Screen's background.
|
|
1094
|
+
* Default is white.
|
|
1095
|
+
*/
|
|
1096
|
+
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull backgroundColors;
|
|
1097
|
+
/**
|
|
1098
|
+
* Color of the text displayed on the Result Screen.
|
|
1099
|
+
* Default is black.
|
|
1100
|
+
*/
|
|
1101
|
+
@property (nonatomic, strong) UIColor * _Nonnull foregroundColor;
|
|
1102
|
+
/**
|
|
1103
|
+
* Font of the message text displayed on the Result Screen.
|
|
1104
|
+
* Default is a system font.
|
|
1105
|
+
*/
|
|
1106
|
+
@property (nonatomic, strong) UIFont * _Nonnull messageFont;
|
|
1107
|
+
|
|
1108
|
+
/**
|
|
1109
|
+
* Color of the activity indicator animation shown during server-side work.
|
|
1110
|
+
* Default is custom color.
|
|
1111
|
+
*/
|
|
1112
|
+
@property (nonatomic, strong) UIColor * _Nonnull activityIndicatorColor;
|
|
1113
|
+
/**
|
|
1114
|
+
* Image displayed and rotated during server-side work.
|
|
1115
|
+
* If image is configured, default activity indicator will be hidden.
|
|
1116
|
+
* Default is set to nil and will fallback to using the default activity indicator animation, which respects the color assigned to .activityIndicatorColor.
|
|
1117
|
+
*/
|
|
1118
|
+
@property (nonatomic, strong) UIImage * _Nullable customActivityIndicatorImage;
|
|
1119
|
+
/**
|
|
1120
|
+
* Control the speed of the rotation for your custom activity indicator image.
|
|
1121
|
+
* Only applicable when image is configured for .customActivityIndicatorImage.
|
|
1122
|
+
* This value indicates the duration of each full rotation (in milliseconds).
|
|
1123
|
+
* Default is 1000.
|
|
1124
|
+
*/
|
|
1125
|
+
@property (nonatomic) int customActivityIndicatorRotationInterval;
|
|
1126
|
+
/**
|
|
1127
|
+
* Color of the result animation's background.
|
|
1128
|
+
* Default is custom color.
|
|
1129
|
+
*/
|
|
1130
|
+
@property (nonatomic, strong) UIColor * _Nonnull resultAnimationBackgroundColor;
|
|
1131
|
+
/**
|
|
1132
|
+
* Color of the result animation's accent color.
|
|
1133
|
+
* Default is white.
|
|
1134
|
+
*/
|
|
1135
|
+
@property (nonatomic, strong) UIColor * _Nonnull resultAnimationForegroundColor;
|
|
1136
|
+
/**
|
|
1137
|
+
* Image displayed behind the result foreground animation for success scenarios.
|
|
1138
|
+
* If image is configured, default result background animation will be hidden.
|
|
1139
|
+
* Default is set to nil and will fallback to using the default result background animation, which respects the color assigned to .resultAnimationBackgroundColor.
|
|
1140
|
+
*/
|
|
1141
|
+
@property (nonatomic, strong) UIImage * _Nullable resultAnimationSuccessBackgroundImage;
|
|
1142
|
+
/**
|
|
1143
|
+
* Image displayed behind the result foreground animation for unsuccess scenarios. Unsuccess result animations are only shown for unsuccessful Photo ID Match attempts.
|
|
1144
|
+
* If image is configured, default result background animation will be hidden.
|
|
1145
|
+
* Default is set to nil and will fallback to using the default result background animation, which respects the color assigned to .resultAnimationBackgroundColor.
|
|
1146
|
+
*/
|
|
1147
|
+
@property (nonatomic, strong) UIImage * _Nullable resultAnimationUnsuccessBackgroundImage;
|
|
1148
|
+
/**
|
|
1149
|
+
* Control whether to show or hide the upload progress bar during server-side work.
|
|
1150
|
+
* Default is true (shown).
|
|
1151
|
+
*/
|
|
1152
|
+
@property (nonatomic) BOOL showUploadProgressBar;
|
|
1153
|
+
/**
|
|
1154
|
+
* Color of the upload progress bar's fill.
|
|
1155
|
+
* Default is custom color.
|
|
1156
|
+
*/
|
|
1157
|
+
@property (nonatomic, strong) UIColor * _Nonnull uploadProgressFillColor;
|
|
1158
|
+
/**
|
|
1159
|
+
* Color of upload progress bar's track.
|
|
1160
|
+
* Default is a semi-opaque shade of black.
|
|
1161
|
+
*/
|
|
1162
|
+
@property (nonatomic, strong) UIColor * _Nonnull uploadProgressTrackColor;
|
|
1163
|
+
/**
|
|
1164
|
+
* Controls the length of time to display the Result Screen result animation after being transitioned in and before being transitioned out.
|
|
1165
|
+
* Value is in seconds. This value has to be between 1.5 and 3.0. If it’s lower than 1.5 or higher than 3.0, it will be defaulted to 1.5 or 3.0 respectively.
|
|
1166
|
+
* Default is 2.
|
|
1167
|
+
*/
|
|
1168
|
+
@property (nonatomic) double resultAnimationDisplayTime;
|
|
1169
|
+
- (nonnull instancetype) init;
|
|
1170
|
+
@end
|
|
1171
|
+
|
|
1172
|
+
/**
|
|
1173
|
+
* Customize the Oval and the Progress Spinner animations.
|
|
1174
|
+
*/
|
|
1175
|
+
__attribute__((visibility("default")))
|
|
1176
|
+
@interface FaceTecOvalCustomization : NSObject
|
|
1177
|
+
/**
|
|
1178
|
+
* Color of the Oval outline.
|
|
1179
|
+
* Default is custom color.
|
|
1180
|
+
*/
|
|
1181
|
+
@property (nonatomic, strong) UIColor * _Nonnull strokeColor;
|
|
1182
|
+
/**
|
|
1183
|
+
* Thickness of the Oval outline.
|
|
1184
|
+
* Default is dynamically configured per device at runtime.
|
|
1185
|
+
*/
|
|
1186
|
+
@property (nonatomic) int strokeWidth;
|
|
1187
|
+
/**
|
|
1188
|
+
* Color of the animated Progress Spinner strokes.
|
|
1189
|
+
* Default is custom color.
|
|
1190
|
+
*/
|
|
1191
|
+
@property (nonatomic, strong) UIColor * _Nonnull progressColor1;
|
|
1192
|
+
@property (nonatomic, strong) UIColor * _Nonnull progressColor2;
|
|
1193
|
+
/**
|
|
1194
|
+
* Radial offset of the animated Progress Spinner strokes relative to the outermost bounds of the Oval outline.
|
|
1195
|
+
* As this value increases, the Progress Spinner stroke animations move closer toward the Oval's center.
|
|
1196
|
+
* Default is dynamically configured per device at runtime.
|
|
1197
|
+
*/
|
|
1198
|
+
@property (nonatomic) int progressRadialOffset;
|
|
1199
|
+
/**
|
|
1200
|
+
* Thickness of the animated Progress Spinner strokes.
|
|
1201
|
+
* Default is dynamically configured per device at runtime.
|
|
1202
|
+
*/
|
|
1203
|
+
@property (nonatomic) int progressStrokeWidth;
|
|
1204
|
+
- (nonnull instancetype) init;
|
|
1205
|
+
@end
|
|
1206
|
+
|
|
1207
|
+
/**
|
|
1208
|
+
* Customize the Feedback Bar.
|
|
1209
|
+
*/
|
|
1210
|
+
__attribute__((visibility("default")))
|
|
1211
|
+
@interface FaceTecFeedbackCustomization : NSObject
|
|
1212
|
+
/**
|
|
1213
|
+
* Shadow displayed behind the Feedback Bar.
|
|
1214
|
+
* This customization can be set to nil for no shadow, or it can be set to an instance of FaceTecShadow.
|
|
1215
|
+
* Note: FaceTecShadow's configurable properties correlate to the shadow-related attributes available for CALayer objects.
|
|
1216
|
+
* Default is a custom sized black shadow.
|
|
1217
|
+
*/
|
|
1218
|
+
@property (nonatomic) FaceTecShadow * _Nullable shadow;
|
|
1219
|
+
/**
|
|
1220
|
+
* Corner radius of the Feedback Bar.
|
|
1221
|
+
* Default is dynamically configured per device at runtime.
|
|
1222
|
+
*/
|
|
1223
|
+
@property (nonatomic) int cornerRadius;
|
|
1224
|
+
|
|
1225
|
+
/**
|
|
1226
|
+
* Color of the text displayed within the Feedback Bar.
|
|
1227
|
+
* Default is white.
|
|
1228
|
+
*/
|
|
1229
|
+
@property (nonatomic, strong) UIColor * _Nonnull textColor;
|
|
1230
|
+
/**
|
|
1231
|
+
* Font of the text displayed within the Feedback Bar.
|
|
1232
|
+
* Default is system font.
|
|
1233
|
+
*/
|
|
1234
|
+
@property (nonatomic) UIFont * _Nonnull textFont;
|
|
1235
|
+
/**
|
|
1236
|
+
* Control whether to enable the pulsating-text animation within the Feedback Bar.
|
|
1237
|
+
* Default is true (enabled).
|
|
1238
|
+
*/
|
|
1239
|
+
@property (nonatomic) BOOL enablePulsatingText;
|
|
1240
|
+
/**
|
|
1241
|
+
* Color of the Feedback Bar's background. Recommend making this have some transparency.
|
|
1242
|
+
* Default is custom color.
|
|
1243
|
+
*/
|
|
1244
|
+
@property (nonatomic, strong) CAGradientLayer * _Nonnull backgroundColor;
|
|
1245
|
+
- (nonnull instancetype) init;
|
|
1246
|
+
@end
|
|
1247
|
+
|
|
1248
|
+
/**
|
|
1249
|
+
* Customize the Frame.
|
|
1250
|
+
*/
|
|
1251
|
+
__attribute__((visibility("default")))
|
|
1252
|
+
@interface FaceTecFrameCustomization : NSObject
|
|
1253
|
+
/**
|
|
1254
|
+
* Shadow displayed behind the Frame.
|
|
1255
|
+
* This customization can be set to nil for no shadow, or it can be set to an instance of FaceTecShadow.
|
|
1256
|
+
* Note: FaceTecShadow's configurable properties correlate to the shadow-related attributes available for CALayer objects.
|
|
1257
|
+
* Default is nil (no shadow).
|
|
1258
|
+
*/
|
|
1259
|
+
@property (nonatomic) FaceTecShadow * _Nullable shadow;
|
|
1260
|
+
/**
|
|
1261
|
+
* Corner radius of the Frame.
|
|
1262
|
+
* Default is dynamically configured per device at runtime.
|
|
1263
|
+
*/
|
|
1264
|
+
@property (nonatomic) int cornerRadius;
|
|
1265
|
+
/**
|
|
1266
|
+
* Thickness of the Frame's border.
|
|
1267
|
+
* Default is dynamically configured per device at runtime.
|
|
1268
|
+
*/
|
|
1269
|
+
@property (nonatomic) int borderWidth;
|
|
1270
|
+
/**
|
|
1271
|
+
* Color of the Frame's border.
|
|
1272
|
+
* Default is custom color.
|
|
1273
|
+
*/
|
|
1274
|
+
@property (nonatomic) UIColor * _Nonnull borderColor;
|
|
1275
|
+
/**
|
|
1276
|
+
* Color of the background surrounding the oval outline during session.
|
|
1277
|
+
* Default is custom color.
|
|
1278
|
+
*/
|
|
1279
|
+
@property (nonatomic) UIColor * _Nonnull backgroundColor;
|
|
1280
|
+
- (nonnull instancetype) init;
|
|
1281
|
+
@end
|
|
1282
|
+
|
|
1283
|
+
/**
|
|
1284
|
+
* Customize the Cancel Button.
|
|
1285
|
+
* Shown during New User Guidance, Retry, and Photo ID Match Screens.
|
|
1286
|
+
*/
|
|
1287
|
+
__attribute__((visibility("default")))
|
|
1288
|
+
@interface FaceTecCancelButtonCustomization : NSObject
|
|
1289
|
+
/**
|
|
1290
|
+
* Image displayed on the Cancel Button.
|
|
1291
|
+
* Default is configured to use image named 'FaceTec_cancel' located in application's Assets folder.
|
|
1292
|
+
*/
|
|
1293
|
+
@property (nonatomic, strong) UIImage * _Nullable customImage;
|
|
1294
|
+
/**
|
|
1295
|
+
* Location, or use, of the Cancel Button.
|
|
1296
|
+
* Default is ButtonLocationTopLeft.
|
|
1297
|
+
*/
|
|
1298
|
+
@property (nonatomic) enum FaceTecCancelButtonLocation location;
|
|
1299
|
+
/**
|
|
1300
|
+
* The frame of the cancel button within the current screen's bounds.
|
|
1301
|
+
* Note: In order to use a custom-located cancel button, you MUST set .location to the enum value FaceTecCancelButtonLocationCustom.
|
|
1302
|
+
* Default is a CGRect at origin 0,0 with a size of 0 by 0.
|
|
1303
|
+
*/
|
|
1304
|
+
@property (nonatomic) CGRect customLocation;
|
|
1305
|
+
/**
|
|
1306
|
+
* Control whether to disable and hide the cancel button on the Camera Permissions Screen.
|
|
1307
|
+
* Default is true (hidden).
|
|
1308
|
+
*/
|
|
1309
|
+
@property (nonatomic) BOOL hideForCameraPermissions;
|
|
1310
|
+
|
|
1311
|
+
- (nonnull instancetype) init;
|
|
1312
|
+
@end
|
|
1313
|
+
|
|
1314
|
+
/**
|
|
1315
|
+
* Customize the Overlay.
|
|
1316
|
+
* The Overlay separates the Interface from the presenting application, covering the device's full screen.
|
|
1317
|
+
*/
|
|
1318
|
+
__attribute__((visibility("default")))
|
|
1319
|
+
@interface FaceTecOverlayCustomization : NSObject
|
|
1320
|
+
/**
|
|
1321
|
+
* Color of the Overlay background.
|
|
1322
|
+
* Default is transparent.
|
|
1323
|
+
*/
|
|
1324
|
+
@property (nonatomic, copy) UIColor * _Nonnull backgroundColor;
|
|
1325
|
+
/**
|
|
1326
|
+
* Image displayed below the Frame on top of the Overlay.
|
|
1327
|
+
* Default is configured to use image named 'FaceTec_your_app_logo' located in application's Assets folder.
|
|
1328
|
+
*/
|
|
1329
|
+
@property (nonatomic, strong) UIImage * _Nullable brandingImage;
|
|
1330
|
+
/**
|
|
1331
|
+
* Control whether to show the branding image below the Frame on top of the Overlay.
|
|
1332
|
+
* Default is true (shown).
|
|
1333
|
+
*/
|
|
1334
|
+
@property (nonatomic) BOOL showBrandingImage;
|
|
1335
|
+
- (nonnull instancetype) init;
|
|
1336
|
+
@end
|
|
1337
|
+
|
|
1338
|
+
/**
|
|
1339
|
+
* Customize Vocal Guidance.
|
|
1340
|
+
*/
|
|
1341
|
+
__attribute__((visibility("default")))
|
|
1342
|
+
@interface FaceTecVocalGuidanceCustomization : NSObject
|
|
1343
|
+
/**
|
|
1344
|
+
* Set Vocal Guidance Mode
|
|
1345
|
+
* Default is FaceTecVocalGuidanceMode.MinimalVocalGuidance
|
|
1346
|
+
*/
|
|
1347
|
+
@property (nonatomic) enum FaceTecVocalGuidanceMode mode;
|
|
1348
|
+
|
|
1349
|
+
/**
|
|
1350
|
+
* The sound file for "Please Frame Your Face In The Oval"
|
|
1351
|
+
* Default uses a FaceTec internal sound file.
|
|
1352
|
+
*/
|
|
1353
|
+
@property (nonatomic) NSString * _Nonnull pleaseFrameYourFaceInTheOvalSoundFile;
|
|
1354
|
+
|
|
1355
|
+
/**
|
|
1356
|
+
* The sound file for "Please Move Closer"
|
|
1357
|
+
* Default uses a FaceTec internal sound file.
|
|
1358
|
+
*/
|
|
1359
|
+
@property (nonatomic) NSString * _Nonnull pleaseMoveCloserSoundFile;
|
|
1360
|
+
|
|
1361
|
+
/**
|
|
1362
|
+
* The sound file for "Please Retry"
|
|
1363
|
+
* Default uses a FaceTec internal sound file.
|
|
1364
|
+
*/
|
|
1365
|
+
@property (nonatomic) NSString * _Nonnull pleaseRetrySoundFile;
|
|
1366
|
+
|
|
1367
|
+
/**
|
|
1368
|
+
* The sound file for "Uploading"
|
|
1369
|
+
* Default uses a FaceTec internal sound file.
|
|
1370
|
+
*/
|
|
1371
|
+
@property (nonatomic) NSString * _Nonnull uploadingSoundFile;
|
|
1372
|
+
|
|
1373
|
+
/**
|
|
1374
|
+
* The sound file for "FaceScan Successful"
|
|
1375
|
+
* Default uses a FaceTec internal sound file.
|
|
1376
|
+
*/
|
|
1377
|
+
@property (nonatomic) NSString * _Nonnull facescanSuccessfulSoundFile;
|
|
1378
|
+
|
|
1379
|
+
/**
|
|
1380
|
+
* The sound file for "Please Press The Button To Start"
|
|
1381
|
+
* Default uses a FaceTec internal sound file.
|
|
1382
|
+
*/
|
|
1383
|
+
@property (nonatomic) NSString * _Nonnull pleasePressTheButtonToStartSoundFile;
|
|
1384
|
+
|
|
1385
|
+
- (nonnull instancetype) init;
|
|
1386
|
+
@end
|
|
1387
|
+
|
|
1388
|
+
/**
|
|
1389
|
+
* Customize the Securing Camera Screen.
|
|
1390
|
+
* Shown when securely loading and opening the camera before a Session.
|
|
1391
|
+
* Note: This is currently only shown when doing a Photo ID Scan Only Session.
|
|
1392
|
+
*/
|
|
1393
|
+
__attribute__((visibility("default")))
|
|
1394
|
+
@interface FaceTecInitialLoadingAnimationCustomization : NSObject
|
|
1395
|
+
/**
|
|
1396
|
+
* Control the size of the animation displayed on the Securing Camera Screen.
|
|
1397
|
+
* This value represents the scaling factor that will be applied to the default animation bounds.
|
|
1398
|
+
* This value has to be between 0.5 and 1.5. If it’s lower than 0.5 or higher than 1.5, it will be defaulted to 0.5 or 1.5 respectively.
|
|
1399
|
+
* Default value is 1.
|
|
1400
|
+
*/
|
|
1401
|
+
@property (nonatomic) float animationRelativeScale;
|
|
1402
|
+
/**
|
|
1403
|
+
* Color of the Securing Camera Screen's background.
|
|
1404
|
+
* Default is white.
|
|
1405
|
+
*/
|
|
1406
|
+
@property (nonatomic, copy) NSArray<UIColor *> * _Nonnull backgroundColors;
|
|
1407
|
+
/**
|
|
1408
|
+
* Color of the text displayed on the Securing Camera Screen.
|
|
1409
|
+
* Default is custom color.
|
|
1410
|
+
*/
|
|
1411
|
+
@property (nonatomic, strong) UIColor * _Nonnull foregroundColor;
|
|
1412
|
+
/**
|
|
1413
|
+
* Font of the message text displayed on the Securing Camera Screen.
|
|
1414
|
+
* Default is a system font.
|
|
1415
|
+
*/
|
|
1416
|
+
@property (nonatomic, strong) UIFont * _Nonnull messageFont;
|
|
1417
|
+
/**
|
|
1418
|
+
* Color of the Securing Camera animation's background.
|
|
1419
|
+
* Default is off-white color.
|
|
1420
|
+
*/
|
|
1421
|
+
@property (nonatomic, strong) UIColor * _Nonnull defaultAnimationBackgroundColor;
|
|
1422
|
+
/**
|
|
1423
|
+
* Color of the Securing Camera animation's accent color.
|
|
1424
|
+
* Default is custom color.
|
|
1425
|
+
*/
|
|
1426
|
+
@property (nonatomic, strong) UIColor * _Nonnull defaultAnimationForegroundColor;
|
|
1427
|
+
- (nonnull instancetype) init;
|
|
1428
|
+
@end
|
|
1429
|
+
|
|
1430
|
+
enum FaceTecSDKStatus : NSInteger;
|
|
1431
|
+
enum FaceTecSessionStatus: NSInteger;
|
|
1432
|
+
enum FaceTecIDScanStatus: NSInteger;
|
|
1433
|
+
enum FaceTecIDScanNextStep: NSInteger;
|
|
1434
|
+
|
|
1435
|
+
@class UIViewController;
|
|
1436
|
+
@protocol FaceTecFaceScanProcessorDelegate;
|
|
1437
|
+
@protocol FaceTecFaceScanResultCallback;
|
|
1438
|
+
@protocol FaceTecIDScanProcessorDelegate;
|
|
1439
|
+
@protocol FaceTecIDScanResultCallback;
|
|
1440
|
+
|
|
1441
|
+
/**
|
|
1442
|
+
The FaceTecSDKProtocol exposes methods the app can use to configure the behavior of FaceTec SDK.
|
|
1443
|
+
*/
|
|
1444
|
+
@protocol FaceTecSDKProtocol
|
|
1445
|
+
|
|
1446
|
+
/**
|
|
1447
|
+
Initialize the FaceTec SDK using your Device SDK Key Identifier for online validation.
|
|
1448
|
+
This <em>must</em> be called at least once by the application before invoking any SDK operations.
|
|
1449
|
+
This function may be called repeatedly without harm.
|
|
1450
|
+
|
|
1451
|
+
@param deviceKeyIdentifier Identifies the client for determination of Device SDK Key Identifier capabilities
|
|
1452
|
+
@param faceScanEncryptionKey The encryption key to be used for FaceTec Server FaceScan
|
|
1453
|
+
@param completion Callback after Device SDK Key Identifier validation has completed
|
|
1454
|
+
*/
|
|
1455
|
+
- (void)initializeInDevelopmentMode:(NSString * _Nonnull)deviceKeyIdentifier faceScanEncryptionKey:(NSString * _Nonnull)faceScanEncryptionKey completion:(void (^ _Nullable)(BOOL))completion NS_SWIFT_NAME(initializeInDevelopmentMode(deviceKeyIdentifier:faceScanEncryptionKey:completion:));
|
|
1456
|
+
|
|
1457
|
+
/**
|
|
1458
|
+
Initialize the FaceTec SDK using your Production Key Text file for offline validation.
|
|
1459
|
+
This <em>must</em> be called at least once by the application before invoking any SDK operations.
|
|
1460
|
+
This function may be called repeatedly without harm.
|
|
1461
|
+
|
|
1462
|
+
@param productionKeyText The string contents of the Production Key Text file
|
|
1463
|
+
@param deviceKeyIdentifier Identifies the client
|
|
1464
|
+
@param faceScanEncryptionKey The encryption key to be used for FaceTec Server FaceScan
|
|
1465
|
+
@param completion Callback after the validation has completed
|
|
1466
|
+
*/
|
|
1467
|
+
- (void)initializeInProductionMode:(NSString * _Nonnull)productionKeyText deviceKeyIdentifier:(NSString * _Nonnull)deviceKeyIdentifier faceScanEncryptionKey:(NSString * _Nonnull)faceScanEncryptionKey completion:(void (^ _Nullable)(BOOL))completion NS_SWIFT_NAME(initializeInProductionMode(productionKeyText:deviceKeyIdentifier:faceScanEncryptionKey:completion:));
|
|
1468
|
+
|
|
1469
|
+
/**
|
|
1470
|
+
Release resources related to FaceTec SDK.
|
|
1471
|
+
Initialize <em>must</em> be called again by the application before invoking any SDK operations.
|
|
1472
|
+
This function may be called repeatedly without harm.
|
|
1473
|
+
*/
|
|
1474
|
+
- (void)deinitialize;
|
|
1475
|
+
|
|
1476
|
+
/**
|
|
1477
|
+
Configures the look and feel of FaceTec SDK.
|
|
1478
|
+
|
|
1479
|
+
@param customization An instance of FaceTecCustomization
|
|
1480
|
+
*/
|
|
1481
|
+
- (void)setCustomization:(FaceTecCustomization * _Nonnull)customization;
|
|
1482
|
+
|
|
1483
|
+
/**
|
|
1484
|
+
Configures the look and feel when low light mode is active. If not configured or set to nil, we will fallback to using the FaceTecCustomization instance configured with setCustomization(), or our default customizations if setCustomization() has not been called.
|
|
1485
|
+
|
|
1486
|
+
@param lowLightCustomization An instance of FaceTecCustomization or nil
|
|
1487
|
+
*/
|
|
1488
|
+
- (void)setLowLightCustomization:(FaceTecCustomization * _Nullable)lowLightCustomization NS_SWIFT_NAME(setLowLightCustomization(_:));
|
|
1489
|
+
|
|
1490
|
+
/**
|
|
1491
|
+
Configures the look and feel when dynamic dimming is active. If not configured or set to nil, we will fallback to using the FaceTecCustomization instance configured with setCustomization(), or our default customizations if setCustomization() has not been called.
|
|
1492
|
+
|
|
1493
|
+
@param dynamicDimmingCustomization An instance of FaceTecCustomization or nil
|
|
1494
|
+
*/
|
|
1495
|
+
- (void)setDynamicDimmingCustomization:(FaceTecCustomization * _Nullable)dynamicDimmingCustomization NS_SWIFT_NAME(setDynamicDimmingCustomization(_:));
|
|
1496
|
+
|
|
1497
|
+
/**
|
|
1498
|
+
Returns the current status of the FaceTec SDK.
|
|
1499
|
+
@return FaceTecSDKStatusInitialized, if ready to be used.
|
|
1500
|
+
*/
|
|
1501
|
+
- (enum FaceTecSDKStatus)getStatus;
|
|
1502
|
+
|
|
1503
|
+
/**
|
|
1504
|
+
Convenience method to get the time when a lockout will end.
|
|
1505
|
+
This will be null if the user is not locked out
|
|
1506
|
+
@return NSDate
|
|
1507
|
+
*/
|
|
1508
|
+
- (NSDate * _Nullable)getLockoutEndTime;
|
|
1509
|
+
|
|
1510
|
+
/**
|
|
1511
|
+
* @return True if the user is locked out of FaceTec SDK
|
|
1512
|
+
*/
|
|
1513
|
+
- (BOOL)isLockedOut;
|
|
1514
|
+
|
|
1515
|
+
/**
|
|
1516
|
+
* @deprecated - This API method is deprecated and will be removed in an upcoming release of the iOS SDK. Use the non-deprecated deinitialize API method instead.
|
|
1517
|
+
Unload resources related to FaceTec SDK.
|
|
1518
|
+
*/
|
|
1519
|
+
- (void)unload DEPRECATED_MSG_ATTRIBUTE("This API method is deprecated and will be removed in an upcoming release of the iOS SDK. Use the non-deprecated deinitialize API method instead.");
|
|
1520
|
+
|
|
1521
|
+
/**
|
|
1522
|
+
Convenience method to check for camera permissions.
|
|
1523
|
+
This function is used to check the camera permission status prior to using FaceTec SDK. If camera permission has not been previously granted,
|
|
1524
|
+
FaceTec SDK will display a UI asking the user to allow permission. Some applications may wish to manage camera permission themselves - those applications
|
|
1525
|
+
should verify camera permissions prior to transitioning to FaceTec SDK.
|
|
1526
|
+
|
|
1527
|
+
@return Value representing the current camera permission status
|
|
1528
|
+
*/
|
|
1529
|
+
@property (nonatomic, readonly) enum FaceTecCameraPermissionStatus cameraPermissionStatus;
|
|
1530
|
+
|
|
1531
|
+
/** Sets a preferred language to be used for all strings. */
|
|
1532
|
+
- (void)setLanguage:(NSString * _Nonnull)language;
|
|
1533
|
+
|
|
1534
|
+
/**
|
|
1535
|
+
Configure where the FaceTec SDK looks for custom localized strings.
|
|
1536
|
+
@param table Optional name of the string table to look in. By default, this is "FaceTec" and string will be read from FaceTec.strings.
|
|
1537
|
+
@param bundle Optional NSBundle instance to search for FaceTec SDK string definitions in. This will be searched after the main bundle and before FaceTec SDK's default strings.
|
|
1538
|
+
*/
|
|
1539
|
+
- (void)configureLocalizationWithTable:(NSString * _Nullable)table bundle:(NSBundle * _Nullable)bundle;
|
|
1540
|
+
|
|
1541
|
+
/**
|
|
1542
|
+
Configure the custom localized strings to be used for groups, fields, and placeholder text on ID Scan's User OCR Confirmation Screen.
|
|
1543
|
+
@param dictionary Optional dictionary created from a JSON that follows our template file of configurable groups, fields, and placeholder texts: "FaceTec_OCR_Customization.json". By default, this is nil and the strings used will be our internal defaults.
|
|
1544
|
+
*/
|
|
1545
|
+
- (void)configureOCRLocalizationWithDictionary:(NSDictionary * _Nullable)dictionary NS_SWIFT_NAME(configureOCRLocalization(dictionary:));
|
|
1546
|
+
|
|
1547
|
+
/**
|
|
1548
|
+
Configure where the FaceTec SDK looks for custom FaceTec images. If you use this API, you MUST call this function prior to initializing the FaceTecCustomization object.
|
|
1549
|
+
@param bundle Optional NSBundle instance to search for FaceTec images.
|
|
1550
|
+
*/
|
|
1551
|
+
- (void)setBundleForFaceTecImages:(NSBundle * _Nullable)bundle;
|
|
1552
|
+
|
|
1553
|
+
/**
|
|
1554
|
+
Sets the type of audit trail images to be collected.
|
|
1555
|
+
If this property is not set to Disabled, then FaceTec SDK will include a sample of some of the camera frames collected during the session.
|
|
1556
|
+
*/
|
|
1557
|
+
@property (nonatomic) enum FaceTecAuditTrailType auditTrailType;
|
|
1558
|
+
|
|
1559
|
+
/**
|
|
1560
|
+
Fetches the version number of the current FaceTec SDK release
|
|
1561
|
+
|
|
1562
|
+
@return Version number of sdk release package
|
|
1563
|
+
*/
|
|
1564
|
+
@property (nonatomic, readonly, copy) NSString * _Nonnull version;
|
|
1565
|
+
|
|
1566
|
+
|
|
1567
|
+
/**
|
|
1568
|
+
* Max Audit Trail Images To Return
|
|
1569
|
+
* By default one audit trail image will be returned
|
|
1570
|
+
*/
|
|
1571
|
+
- (void)setMaxAuditTrailImages:(FaceTecAuditTrailImagesToReturn)auditTrailImagesToReturn;
|
|
1572
|
+
|
|
1573
|
+
/**
|
|
1574
|
+
* Method to create a valid string to pass as the value for the User-Agent header when calling the FaceTec Managed API.
|
|
1575
|
+
* @param sessionId Unique Id for a session. This can be obtained from FaceTecSessionResult.
|
|
1576
|
+
* @return a string that can be used as the value for the User-Agent header.
|
|
1577
|
+
*/
|
|
1578
|
+
- (NSString * _Nonnull)createFaceTecAPIUserAgentString:(NSString * _Nonnull)sessionId;
|
|
1579
|
+
|
|
1580
|
+
/**
|
|
1581
|
+
Configures and returns a new UIViewController for a session with a FaceTecFaceScanProcessor.
|
|
1582
|
+
Caller should call presentViewController on returned object only once.
|
|
1583
|
+
|
|
1584
|
+
@param faceScanProcessorDelegate The delegate to process FaceScan
|
|
1585
|
+
*/
|
|
1586
|
+
- (UIViewController * _Nonnull)createSessionVCWithFaceScanProcessor:(id <FaceTecFaceScanProcessorDelegate> _Nullable)faceScanProcessorDelegate
|
|
1587
|
+
NS_SWIFT_NAME(createSessionVC(faceScanProcessorDelegate:));
|
|
1588
|
+
|
|
1589
|
+
/**
|
|
1590
|
+
Configures and returns a new UIViewController for a session with a FaceTecIDScanProcessorDelegate.
|
|
1591
|
+
Caller should call presentViewController on returned object only once.
|
|
1592
|
+
|
|
1593
|
+
@param idScanProcessorDelegate The delegate to process IDScan
|
|
1594
|
+
*/
|
|
1595
|
+
- (UIViewController * _Nonnull)createSessionVCWithIDScanProcessor:(id <FaceTecIDScanProcessorDelegate> _Nullable)idScanProcessorDelegate
|
|
1596
|
+
NS_SWIFT_NAME(createSessionVC(idScanProcessorDelegate:));
|
|
1597
|
+
|
|
1598
|
+
/**
|
|
1599
|
+
Configures and returns a new UIViewController for a session with a FaceTecFaceScanProcessor.
|
|
1600
|
+
Caller should call presentViewController on returned object only once.
|
|
1601
|
+
|
|
1602
|
+
@param faceScanProcessorDelegate The delegate to process FaceScan.
|
|
1603
|
+
@param sessionToken A Server session token
|
|
1604
|
+
*/
|
|
1605
|
+
- (UIViewController * _Nonnull)createSessionVCWithFaceScanProcessor:(id <FaceTecFaceScanProcessorDelegate> _Nullable)faceScanProcessorDelegate sessionToken:(NSString *_Nonnull)sessionToken
|
|
1606
|
+
NS_SWIFT_NAME(createSessionVC(faceScanProcessorDelegate:sessionToken:));
|
|
1607
|
+
|
|
1608
|
+
/**
|
|
1609
|
+
Configures and returns a new UIViewController for a session with a FaceTecIDScanProcessorDelegate.
|
|
1610
|
+
Caller should call presentViewController on returned object only once.
|
|
1611
|
+
|
|
1612
|
+
@param idScanProcessorDelegate The delegate to process FaceScan.
|
|
1613
|
+
@param sessionToken A Server session token
|
|
1614
|
+
*/
|
|
1615
|
+
- (UIViewController * _Nonnull)createSessionVCWithIDScanProcessor:(id <FaceTecIDScanProcessorDelegate> _Nullable)idScanProcessorDelegate sessionToken:(NSString *_Nonnull)sessionToken
|
|
1616
|
+
NS_SWIFT_NAME(createSessionVC(idScanProcessorDelegate:sessionToken:));
|
|
1617
|
+
|
|
1618
|
+
/**
|
|
1619
|
+
Configures and returns a new UIViewController for a session with a FaceTecFaceScanProcessor and FaceTecIDScanProcessor.
|
|
1620
|
+
Caller should call presentViewController on returned object only once.
|
|
1621
|
+
|
|
1622
|
+
@param faceScanProcessorDelegate The delegate to process FaceScan.
|
|
1623
|
+
@param idScanProcessorDelegate The delegate to process ID scans.
|
|
1624
|
+
*/
|
|
1625
|
+
- (UIViewController * _Nonnull)createSessionVCWithFaceScanProcessor:(id <FaceTecFaceScanProcessorDelegate> _Nullable)faceScanProcessorDelegate idScanProcessorDelegate:(id <FaceTecIDScanProcessorDelegate> _Nullable)idScanProcessorDelegate
|
|
1626
|
+
NS_SWIFT_NAME(createSessionVC(faceScanProcessorDelegate:idScanProcessorDelegate:));
|
|
1627
|
+
|
|
1628
|
+
/**
|
|
1629
|
+
Configures and returns a new UIViewController for a session with a FaceTecFaceScanProcessor and FaceTecIDScanProcessor.
|
|
1630
|
+
Caller should call presentViewController on returned object only once.
|
|
1631
|
+
|
|
1632
|
+
@param faceScanProcessorDelegate The delegate to process FaceScan.
|
|
1633
|
+
@param idScanProcessorDelegate The delegate to process ID scans.
|
|
1634
|
+
@param sessionToken A Server session token.
|
|
1635
|
+
*/
|
|
1636
|
+
- (UIViewController * _Nonnull)createSessionVCWithFaceScanProcessor:(id <FaceTecFaceScanProcessorDelegate> _Nullable)faceScanProcessorDelegate idScanProcessorDelegate:(id <FaceTecIDScanProcessorDelegate> _Nullable)idScanProcessorDelegate sessionToken:(NSString *_Nonnull)sessionToken
|
|
1637
|
+
NS_SWIFT_NAME(createSessionVC(faceScanProcessorDelegate:idScanProcessorDelegate:sessionToken:));
|
|
1638
|
+
|
|
1639
|
+
/**
|
|
1640
|
+
Method to set dynamic overrides of the SDK's customizable string resources.
|
|
1641
|
+
@param strings A dictionary object mapping a string resource name (e.g. FaceTecStringKeyActionOk) to a String value.
|
|
1642
|
+
*/
|
|
1643
|
+
- (void)setDynamicStrings:(NSDictionary<NSString*,NSString*> * _Nonnull)strings;
|
|
1644
|
+
|
|
1645
|
+
/** Returns a description string for a FaceTecSessionStatus value */
|
|
1646
|
+
- (NSString * _Nonnull)descriptionForSessionStatus:(enum FaceTecSessionStatus)status DEPRECATED_MSG_ATTRIBUTE("This API method is deprecated and will be removed in an upcoming release of the iOS SDK");
|
|
1647
|
+
|
|
1648
|
+
/** Returns a description string for a FaceTecSessionStatus value */
|
|
1649
|
+
- (NSString * _Nonnull)descriptionForIDScanStatus:(enum FaceTecIDScanStatus)status DEPRECATED_MSG_ATTRIBUTE("This API method is deprecated and will be removed in an upcoming release of the iOS SDK");
|
|
1650
|
+
|
|
1651
|
+
/** Returns a description string for a FaceTecSDKStatus value */
|
|
1652
|
+
- (NSString * _Nonnull)descriptionForSDKStatus:(enum FaceTecSDKStatus)status DEPRECATED_MSG_ATTRIBUTE("This API method is deprecated and will be removed in an upcoming release of the iOS SDK");
|
|
1653
|
+
@end
|
|
1654
|
+
|
|
1655
|
+
/** Represents the status of the SDK */
|
|
1656
|
+
typedef NS_ENUM(NSInteger, FaceTecSDKStatus) {
|
|
1657
|
+
/** Initialize was never attempted. */
|
|
1658
|
+
FaceTecSDKStatusNeverInitialized = 0,
|
|
1659
|
+
/** The Device SDK Key Identifier provided was verified. */
|
|
1660
|
+
FaceTecSDKStatusInitialized = 1,
|
|
1661
|
+
/** The Device SDK Key Identifier could not be verified due to connectivity issues on the user's device. */
|
|
1662
|
+
FaceTecSDKStatusNetworkIssues = 2,
|
|
1663
|
+
/** The Device SDK Key Identifier provided was invalid. */
|
|
1664
|
+
FaceTecSDKStatusInvalidDeviceKeyIdentifier = 3,
|
|
1665
|
+
/** This version of the FaceTec SDK is deprecated. */
|
|
1666
|
+
FaceTecSDKStatusVersionDeprecated = 4,
|
|
1667
|
+
/** The Device SDK Key Identifier needs to be verified again. */
|
|
1668
|
+
FaceTecSDKStatusOfflineSessionsExceeded = 5,
|
|
1669
|
+
/** An unknown error occurred. */
|
|
1670
|
+
FaceTecSDKStatusUnknownError = 6,
|
|
1671
|
+
/** Device is locked out due to too many failures. */
|
|
1672
|
+
FaceTecSDKStatusDeviceLockedOut = 7,
|
|
1673
|
+
/** Device is in landscape display orientation. FaceTec SDK can only be used in portrait display orientation. */
|
|
1674
|
+
FaceTecSDKStatusDeviceInLandscapeMode = 8,
|
|
1675
|
+
/** Device is in reverse portrait mode. FaceTec SDK can only be used in portrait display orientation. */
|
|
1676
|
+
FaceTecSDKStatusDeviceInReversePortraitMode = 9,
|
|
1677
|
+
/** Device SDK Key Identifie was expired, contained invalid text, or you are attempting to initialize in an App that is not specified in your Device SDK Key Identifier. */
|
|
1678
|
+
FaceTecSDKStatusKeyExpiredOrInvalid,
|
|
1679
|
+
/** The provided public encryption key is missing or invalid. */
|
|
1680
|
+
FaceTecSDKStatusEncryptionKeyInvalid,
|
|
1681
|
+
};
|
|
1682
|
+
|
|
1683
|
+
@protocol FaceTecSessionResult;
|
|
1684
|
+
@protocol FaceTecIDScanResult;
|
|
1685
|
+
enum FaceTecSessionStatus : NSInteger;
|
|
1686
|
+
|
|
1687
|
+
/**
|
|
1688
|
+
FaceTecFaceScanProcessorDelegate
|
|
1689
|
+
*/
|
|
1690
|
+
@protocol FaceTecFaceScanProcessorDelegate <NSObject>
|
|
1691
|
+
- (void)processSessionWhileFaceTecSDKWaits:(id<FaceTecSessionResult> _Nonnull)sessionResult faceScanResultCallback:(id<FaceTecFaceScanResultCallback> _Nonnull)faceScanResultCallback NS_SWIFT_NAME(processSessionWhileFaceTecSDKWaits(sessionResult:faceScanResultCallback:));
|
|
1692
|
+
/**
|
|
1693
|
+
This method will be called exactly once after the Session has completed and when using the Session constructor with a FaceTecFaceScanProcessor.
|
|
1694
|
+
*/
|
|
1695
|
+
- (void)onFaceTecSDKCompletelyDone NS_SWIFT_NAME(onFaceTecSDKCompletelyDone());
|
|
1696
|
+
@end
|
|
1697
|
+
|
|
1698
|
+
/**
|
|
1699
|
+
FaceTecIDScanProcessorDelegate
|
|
1700
|
+
*/
|
|
1701
|
+
@protocol FaceTecIDScanProcessorDelegate <NSObject>
|
|
1702
|
+
- (void)processIDScanWhileFaceTecSDKWaits:(id<FaceTecIDScanResult> _Nonnull)idScanResult idScanResultCallback:(id<FaceTecIDScanResultCallback> _Nonnull)idScanResultCallback NS_SWIFT_NAME(processIDScanWhileFaceTecSDKWaits(idScanResult:idScanResultCallback:));
|
|
1703
|
+
/**
|
|
1704
|
+
This method will be called exactly once after the Session has completed and when using the Session constructor with a FaceTecFaceScanProcessor.
|
|
1705
|
+
*/
|
|
1706
|
+
- (void)onFaceTecSDKCompletelyDone NS_SWIFT_NAME(onFaceTecSDKCompletelyDone());
|
|
1707
|
+
@end
|
|
1708
|
+
|
|
1709
|
+
|
|
1710
|
+
/**
|
|
1711
|
+
FaceTecFaceScanResultCallback
|
|
1712
|
+
*/
|
|
1713
|
+
@protocol FaceTecFaceScanResultCallback <NSObject>
|
|
1714
|
+
- (void)onFaceScanUploadMessageOverride:(NSMutableAttributedString * _Nonnull)uploadMessageOverride NS_SWIFT_NAME(onFaceScanUploadMessageOverride(uploadMessageOverride:));
|
|
1715
|
+
- (void)onFaceScanUploadProgress:(float)uploadedPercent NS_SWIFT_NAME(onFaceScanUploadProgress(uploadedPercent:));
|
|
1716
|
+
- (void)onFaceScanResultSucceed NS_SWIFT_NAME(onFaceScanResultSucceed()) DEPRECATED_MSG_ATTRIBUTE("This method has been replaced by onFaceScanResultProceedToNextStep()");
|
|
1717
|
+
- (void)onFaceScanResultSucceedWithIDScanNextStep:(enum FaceTecIDScanNextStep)idScanNextStep NS_SWIFT_NAME(onFaceScanResultSucceedWithIDScanNextStep(idScanNextStep:)) DEPRECATED_MSG_ATTRIBUTE("This method has been replaced by onFaceScanResultProceedToNextStep()");
|
|
1718
|
+
- (void)onFaceScanResultRetry NS_SWIFT_NAME(onFaceScanResultRetry()) DEPRECATED_MSG_ATTRIBUTE("This method has been replaced by onFaceScanResultProceedToNextStep()");
|
|
1719
|
+
- (void)onFaceScanResultCancel NS_SWIFT_NAME(onFaceScanResultCancel());
|
|
1720
|
+
- (BOOL)onFaceScanResultProceedToNextStep:(NSString * _Nonnull)scanResultBlob NS_SWIFT_NAME(onFaceScanGoToNextStep(scanResultBlob:));
|
|
1721
|
+
- (BOOL)onFaceScanResultProceedToNextStep:(NSString * _Nonnull)scanResultBlob idScanNextStep:(enum FaceTecIDScanNextStep)idScanNextStep NS_SWIFT_NAME(onFaceScanGoToNextStep(scanResultBlob:idScanNextStep:));
|
|
1722
|
+
@end
|
|
1723
|
+
|
|
1724
|
+
/**
|
|
1725
|
+
FaceTecIDScanResultCallback
|
|
1726
|
+
*/
|
|
1727
|
+
@protocol FaceTecIDScanResultCallback <NSObject>
|
|
1728
|
+
- (void)onIDScanUploadMessageOverride:(NSMutableAttributedString * _Nonnull)uploadMessageOverride NS_SWIFT_NAME(onIDScanUploadMessageOverride(uploadMessageOverride:));
|
|
1729
|
+
- (void)onIDScanUploadProgress:(float)uploadedPercent NS_SWIFT_NAME(onIDScanUploadProgress(uploadedPercent:));
|
|
1730
|
+
- (BOOL)onIDScanResultProceedToNextStep:(NSString * _Nonnull)scanResultBlob NS_SWIFT_NAME(onIDScanResultProceedToNextStep(scanResultBlob:));
|
|
1731
|
+
- (void)onIDScanResultCancel NS_SWIFT_NAME(onIDScanResultCancel());
|
|
1732
|
+
@end
|
|
1733
|
+
|
|
1734
|
+
/** Represents results of a Request */
|
|
1735
|
+
@protocol FaceTecSessionResult <NSObject>
|
|
1736
|
+
/** Indicates whether the Session was completed successfully or the cause of the unsuccess. */
|
|
1737
|
+
@property (nonatomic, readonly) enum FaceTecSessionStatus status;
|
|
1738
|
+
/** Returns the Audit Trail Images as an array of base64 encoded JPG images. This should be considered the new default method of getting the Audit Trail Images.
|
|
1739
|
+
* There are multiple advantages of using this new function. auditTrailCompressedBase64 provides a consistent API across all supported FaceTec SDK platforms to
|
|
1740
|
+
* get a compressed set of images that will not overly load user bandwidth and also provides images that are usable in the Audit Trail Verification API.
|
|
1741
|
+
*/
|
|
1742
|
+
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable auditTrailCompressedBase64;
|
|
1743
|
+
/** The Low Quality Audit Trail is a collection of images from the session that are likely partly responsible for the session not succeeding.
|
|
1744
|
+
* The Low Quality Audit Trail finds images that can be displayed to the user that will be intuitively indicative of the reason for the session not completing successfully.
|
|
1745
|
+
*/
|
|
1746
|
+
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable lowQualityAuditTrailCompressedBase64;
|
|
1747
|
+
/**
|
|
1748
|
+
* The 3D FaceScan generated from the User Session that was just performed. faceScan is the raw binary and faceScanBase64 is the base64-encoded version.
|
|
1749
|
+
* For more information about 3D FaceScans, please see the Developer Documentation.
|
|
1750
|
+
*/
|
|
1751
|
+
@property (nonatomic, readonly, copy) NSData * _Nullable faceScan;
|
|
1752
|
+
/**
|
|
1753
|
+
* The 3D FaceScan generated from the User Session that was just performed. faceScan is the raw binary and faceScanBase64 is the base64-encoded version.
|
|
1754
|
+
* For more information about 3D FaceScans, please see the Developer Documentation.
|
|
1755
|
+
*/
|
|
1756
|
+
@property (nonatomic, readonly, copy) NSString * _Nullable faceScanBase64;
|
|
1757
|
+
/** Unique id for a Session. */
|
|
1758
|
+
@property (nonatomic, readonly, copy) NSString * _Nonnull sessionId;
|
|
1759
|
+
@end
|
|
1760
|
+
|
|
1761
|
+
/** Represents results of a FaceTec ID Scan */
|
|
1762
|
+
@protocol FaceTecIDScanResult <NSObject>
|
|
1763
|
+
/** Indicates whether the ID Scan succeeded or the cause of failure. */
|
|
1764
|
+
@property (nonatomic, readonly) enum FaceTecIDScanStatus status;
|
|
1765
|
+
/** High resolution samples of the front images as compressed Base64 of the Photo ID that can be used for Auditing and Identity Verification. */
|
|
1766
|
+
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable frontImagesCompressedBase64;
|
|
1767
|
+
/** High resolution samples of the back images as compressed Base64 of the Photo ID that can be used for Auditing and Identity Verification. */
|
|
1768
|
+
@property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable backImagesCompressedBase64;
|
|
1769
|
+
/** ID Scan Data. */
|
|
1770
|
+
@property (nonatomic, readonly, copy) NSData * _Nullable idScan;
|
|
1771
|
+
/** ID Scan Data as base64 encoded string. */
|
|
1772
|
+
@property (nonatomic, readonly, copy) NSString * _Nullable idScanBase64;
|
|
1773
|
+
/** A unique ID for the ID Scan. */
|
|
1774
|
+
@property (nonatomic, readonly, copy) NSString * _Nullable sessionId;
|
|
1775
|
+
@end
|
|
1776
|
+
|
|
1777
|
+
/** Represents the various end states of a Session */
|
|
1778
|
+
typedef NS_ENUM(NSInteger, FaceTecSessionStatus) {
|
|
1779
|
+
/**
|
|
1780
|
+
The Session was performed successfully and a FaceScan was generated. Pass the FaceScan to Server for further processing.
|
|
1781
|
+
*/
|
|
1782
|
+
FaceTecSessionStatusSessionCompletedSuccessfully,
|
|
1783
|
+
/**
|
|
1784
|
+
The Session was not performed successfully and a FaceScan was not generated. In general, other statuses will be sent to the developer for specific unsuccess reasons.
|
|
1785
|
+
*/
|
|
1786
|
+
FaceTecSessionStatusSessionUnsuccessful,
|
|
1787
|
+
/**
|
|
1788
|
+
The user pressed the cancel button and did not complete the Session.
|
|
1789
|
+
*/
|
|
1790
|
+
FaceTecSessionStatusUserCancelled,
|
|
1791
|
+
/**
|
|
1792
|
+
This status will never be returned in a properly configured or production app.
|
|
1793
|
+
This status is returned if your Device SDK Key Identifier is invalid or network connectivity issues occur during a session when the application is not in production.
|
|
1794
|
+
*/
|
|
1795
|
+
FaceTecSessionStatusNonProductionModeKeyInvalid,
|
|
1796
|
+
/**
|
|
1797
|
+
The camera access is prevented because either the user has explicitly denied permission or the user's device is configured to not allow access by a device policy.
|
|
1798
|
+
For more information on restricted by policy case, please see the the Apple Developer documentation on AVAuthorizationStatus.restricted.
|
|
1799
|
+
*/
|
|
1800
|
+
FaceTecSessionStatusCameraPermissionDenied,
|
|
1801
|
+
/**
|
|
1802
|
+
The Session was cancelled due to the app being terminated, put to sleep, an OS notification, or the app was placed in the background.
|
|
1803
|
+
*/
|
|
1804
|
+
FaceTecSessionStatusContextSwitch,
|
|
1805
|
+
/**
|
|
1806
|
+
The Session was cancelled because device is in landscape mode.
|
|
1807
|
+
The user experience of devices in these orientations is poor and thus portrait is required.
|
|
1808
|
+
*/
|
|
1809
|
+
FaceTecSessionStatusLandscapeModeNotAllowed,
|
|
1810
|
+
/**
|
|
1811
|
+
The Session was cancelled because device is in reverse portrait mode.
|
|
1812
|
+
The user experience of devices in these orientations is poor and thus portrait is required.
|
|
1813
|
+
*/
|
|
1814
|
+
FaceTecSessionStatusReversePortraitNotAllowed,
|
|
1815
|
+
/**
|
|
1816
|
+
The Session was cancelled because the user was unable to complete a Session in the default allotted time or the timeout set by the developer.
|
|
1817
|
+
*/
|
|
1818
|
+
FaceTecSessionStatusTimeout,
|
|
1819
|
+
/**
|
|
1820
|
+
The Session was cancelled due to memory pressure.
|
|
1821
|
+
*/
|
|
1822
|
+
FaceTecSessionStatusLowMemory,
|
|
1823
|
+
/**
|
|
1824
|
+
The Session was cancelled because your App is not in production and requires a network connection.
|
|
1825
|
+
*/
|
|
1826
|
+
FaceTecSessionStatusNonProductionModeNetworkRequired,
|
|
1827
|
+
/**
|
|
1828
|
+
The Session was cancelled because your key needs to be validated again.
|
|
1829
|
+
*/
|
|
1830
|
+
FaceTecSessionStatusGracePeriodExceeded,
|
|
1831
|
+
/**
|
|
1832
|
+
The Session was cancelled because the developer-configured encryption key was not valid.
|
|
1833
|
+
*/
|
|
1834
|
+
FaceTecSessionStatusEncryptionKeyInvalid,
|
|
1835
|
+
/**
|
|
1836
|
+
The Session was cancelled because not all guidance images were configured.
|
|
1837
|
+
*/
|
|
1838
|
+
FaceTecSessionStatusMissingGuidanceImages,
|
|
1839
|
+
/**
|
|
1840
|
+
The Session was cancelled because FaceTec SDK was unable to start the camera on this device.
|
|
1841
|
+
*/
|
|
1842
|
+
FaceTecSessionStatusCameraInitializationIssue,
|
|
1843
|
+
/**
|
|
1844
|
+
The Session was cancelled because the user was in a locked out state.
|
|
1845
|
+
*/
|
|
1846
|
+
FaceTecSessionStatusLockedOut,
|
|
1847
|
+
/**
|
|
1848
|
+
The Session was cancelled because of an unknown and unexpected error. FaceTec SDK leverages a variety of iOS APIs including camera, storage, security, networking, and more.
|
|
1849
|
+
This return value is a catch-all for errors experienced during normal usage of these APIs.
|
|
1850
|
+
*/
|
|
1851
|
+
FaceTecSessionStatusUnknownInternalError,
|
|
1852
|
+
/**
|
|
1853
|
+
The Session cancelled because user pressed the Get Ready screen subtext message.
|
|
1854
|
+
Note: This functionality is not available by default, and must be requested from FaceTec in order to enable.
|
|
1855
|
+
*/
|
|
1856
|
+
FaceTecSessionStatusUserCancelledViaClickableReadyScreenSubtext,
|
|
1857
|
+
/**
|
|
1858
|
+
A session token was either not provided or it has expired.
|
|
1859
|
+
*/
|
|
1860
|
+
FaceTecSessionStatusSessionExpired,
|
|
1861
|
+
};
|
|
1862
|
+
|
|
1863
|
+
/** Represents the various end states of an ID Scan Session */
|
|
1864
|
+
typedef NS_ENUM(NSInteger, FaceTecIDScanStatus) {
|
|
1865
|
+
/**
|
|
1866
|
+
The ID Scan was performed successfully and identity document data was generated.
|
|
1867
|
+
*/
|
|
1868
|
+
FaceTecIDScanStatusSuccess,
|
|
1869
|
+
/**
|
|
1870
|
+
The ID Scan was not performed successfully and identity document data was not generated.
|
|
1871
|
+
In general, other statuses will be sent to the developer for specific unsuccess reasons.
|
|
1872
|
+
*/
|
|
1873
|
+
FaceTecIDScanStatusUnsuccess,
|
|
1874
|
+
/**
|
|
1875
|
+
The user pressed the cancel button and did not complete the ID Scan process.
|
|
1876
|
+
*/
|
|
1877
|
+
FaceTecIDScanStatusUserCancelled,
|
|
1878
|
+
/**
|
|
1879
|
+
The ID Scan was cancelled because the user was unable to complete an ID Scan in the default allotted time or the timeout set by the developer.
|
|
1880
|
+
*/
|
|
1881
|
+
FaceTecIDScanStatusTimedOut,
|
|
1882
|
+
/**
|
|
1883
|
+
The ID Scan was cancelled due to the app being terminated, put to sleep, an OS notification, or the app was placed in the background.
|
|
1884
|
+
*/
|
|
1885
|
+
FaceTecIDScanStatusContextSwitch,
|
|
1886
|
+
/**
|
|
1887
|
+
The ID Scan was cancelled due to an internal camera error.
|
|
1888
|
+
*/
|
|
1889
|
+
FaceTecIDScanStatusCameraError,
|
|
1890
|
+
/**
|
|
1891
|
+
The ID Scan was cancelled because a network connection is required.
|
|
1892
|
+
*/
|
|
1893
|
+
FaceTecIDScanStatusNetworkError,
|
|
1894
|
+
/**
|
|
1895
|
+
ID Scan cancelled because device is in landscape mode.
|
|
1896
|
+
The user experience of devices in these orientations is poor and thus portrait is required.
|
|
1897
|
+
*/
|
|
1898
|
+
FaceTecIDScanStatusLandscapeModeNotAllowed,
|
|
1899
|
+
/**
|
|
1900
|
+
ID Scan cancelled because device is in reverse portrait mode.
|
|
1901
|
+
The user experience of devices in these orientations is poor and thus portrait is required.
|
|
1902
|
+
*/
|
|
1903
|
+
FaceTecIDScanStatusReversePortraitNotAllowed,
|
|
1904
|
+
/**
|
|
1905
|
+
ID Scan was skipped.
|
|
1906
|
+
*/
|
|
1907
|
+
FaceTecIDScanStatusSkipped,
|
|
1908
|
+
/**
|
|
1909
|
+
ID Scan cancelled because the user was in a locked out state.
|
|
1910
|
+
*/
|
|
1911
|
+
FaceTecIDScanStatusLockedOut,
|
|
1912
|
+
/**
|
|
1913
|
+
The camera access is prevented because either the user has explicitly denied permission or the user's device is configured to not allow access by a device policy.
|
|
1914
|
+
For more information on restricted by policy case, please see the the Apple Developer documentation on AVAuthorizationStatus.restricted.
|
|
1915
|
+
*/
|
|
1916
|
+
FaceTecIDScanStatusCameraPermissionDenied
|
|
1917
|
+
};
|
|
1918
|
+
|
|
1919
|
+
/**
|
|
1920
|
+
Describes the next step to go into during the Photo ID Match process.
|
|
1921
|
+
By default, when FaceTecFaceScanResultCallback.onFaceScanResultProceedToNextStep() is called, the User is taken to the ID Document Type Selection Screen.
|
|
1922
|
+
Passing different values of FaceTecIDScanNextStep as a parameter for FaceTecFaceScanResultCallback.onFaceScanResultProceedToNextStep() allows you to control whether to take the User to the ID Document Type Selection Screen or to skip the ID Scan process altogether.
|
|
1923
|
+
You may want to skip the ID Scan process altogether if you have custom server-side logic that in some cases deems the Photo ID Match flow as not necessary.
|
|
1924
|
+
*/
|
|
1925
|
+
typedef NS_ENUM(NSInteger, FaceTecIDScanNextStep) {
|
|
1926
|
+
/**
|
|
1927
|
+
Start ID Scan process with showing the Selection Screen, allowing the user to select their ID document type.
|
|
1928
|
+
This is the default behavior.
|
|
1929
|
+
*/
|
|
1930
|
+
FaceTecIDScanNextStepSelectionScreen,
|
|
1931
|
+
/**
|
|
1932
|
+
Skip the entire ID Scan process, exiting from the FaceTec SDK interface after a successful Session.
|
|
1933
|
+
*/
|
|
1934
|
+
FaceTecIDScanNextStepSkip
|
|
1935
|
+
};
|