Commit 1373cfd9 authored by Javokhir's avatar Javokhir
Browse files

Optimized sdk

parent 594a0b93
......@@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>MyIdSample</string>
<string>MyID</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
......@@ -26,22 +26,21 @@
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
<!-- Do not change NSAllowsArbitraryLoads to true, or you will risk app rejection! -->
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
<key>NSCameraUsageDescription</key>
<string>Required for document and facial capture</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string></string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
......
......@@ -16,7 +16,7 @@
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="MyIdSample" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="MyID" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
<rect key="frame" x="0.0" y="202" width="375" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<nil key="highlightedColor"/>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>C617.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
</array>
<key>NSPrivacyCollectedDataTypes</key>
<array/>
<key>NSPrivacyTracking</key>
<false/>
</dict>
</plist>
......@@ -7,11 +7,11 @@
#define TIMEOUT_SECONDS 600
#define TEXT_TO_LOOK_FOR @"Welcome to React"
@interface MyIdSampleTests : XCTestCase
@interface MyIDTests : XCTestCase
@end
@implementation MyIdSampleTests
@implementation MyIDTests
- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test
{
......
//
// MyIdModule.m
// MyIdSample
// MyID
//
// Created by Javokhir Savriev on 05/04/23.
// Created by Kamronbek Juraev on 23/07/24.
//
#import <Foundation/Foundation.h>
......@@ -11,12 +11,17 @@
@interface RCT_EXTERN_MODULE(MyIdModule, RCTEventEmitter)
RCT_EXTERN_METHOD(startMyId)
//RCT_EXTERN_METHOD(startMyId)
//RCT_EXTERN_METHOD(startMyId:
// (NSString *) clientId
// (NSString *) passportData
// (NSString *) dateOfBirth
//)
RCT_EXTERN_METHOD(startMyId:(NSString *)clientId
clientHash:(NSString *)clientHash
clientHashId:(NSString *)clientHashId
passportData:(NSString *)passportData
dateOfBirth:(NSString *)dateOfBirth
buildMode:(NSString *)buildMode)
@end
// @interface MyIdModule : RCTEventEmitter <RCTBridgeModule>
// @end
//
// MyIdModule.swift
// MyIdSample
// MyID
//
// Created by Kamronbek Juraev on 23/07/24.
//
import Foundation
......@@ -10,8 +12,25 @@ import MyIdSDK
@objc(MyIdModule)
class MyIdModule: RCTEventEmitter {
private let passportTextField: UITextField = {
let textField = UITextField()
textField.placeholder = "Passport data"
textField.borderStyle = .roundedRect
textField.translatesAutoresizingMaskIntoConstraints = false
return textField
}()
private let dobTextField: UITextField = {
let textField = UITextField()
textField.placeholder = "Date of birth"
textField.borderStyle = .roundedRect
textField.translatesAutoresizingMaskIntoConstraints = false
return textField
}()
@objc
static func constantsToExport() -> [String: Any]{
static func constantsToExport() -> [String: Any] {
return ["initialCount": 0]
}
......@@ -25,30 +44,44 @@ class MyIdModule: RCTEventEmitter {
return ["onSuccess", "onError", "onUserExited"]
}
@objc
func startMyId() {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1, execute: {
MyIdSdk.start(withConfigureOptions: { options in
options?.clientId = "clientId"
options?.entryType = .AUTH
}, withDelegate: self)
})
@objc(startMyId:clientHash:clientHashId:passportData:dateOfBirth:buildMode:)
func startMyId(clientId: String, clientHash: String, clientHashId: String, passportData: String, dateOfBirth: String, buildMode: String) {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
let config = MyIdConfig()
config.clientId = clientId
config.clientHash = clientHash
config.clientHashId = clientHashId
config.passportData = passportData
config.dateOfBirth = dateOfBirth
let mode = buildMode == "PRODUCTION" ? MyIdBuildMode.PRODUCTION : MyIdBuildMode.DEBUG
config.buildMode = mode
config.withPhoto = true
config.entryType = MyIdEntryType.FACE
MyIdClient.start(withConfig: config, withDelegate: self)
}
}
}
extension MyIdModule: MyIdSdkDelegate {
func myidOnSuccess(result: MyIdResult) {
sendEvent(
withName: "onSuccess",
body: [
"code": result.code,
"comparison": result.comparisonValue
]
)
}
extension MyIdModule: MyIdClientDelegate {
func onSuccess(result: MyIdSDK.MyIdResult) {
// Assuming `result.image` is a UIImage
if let image = result.image {
if let imageData = image.jpegData(compressionQuality: 1) { // Compression quality can be adjusted
let base64String = imageData.base64EncodedString(options: .lineLength64Characters)
sendEvent(withName: "onSuccess", body: ["code": result.code, "comparison": result.comparisonValue, "image": base64String])
} else {
// Handle failure to get image data
sendEvent(withName: "onError", body: ["message": "Failed to convert image to Data", "code": 0])
}
} else {
// Handle the case where there is no image
sendEvent(withName: "onError", body: ["message": "No image available", "code": 0])
}
}
func myidOnError(exception: MyIdException) {
func onError(exception: MyIdSDK.MyIdException) {
sendEvent(
withName: "onError",
body: [
......@@ -58,7 +91,7 @@ extension MyIdModule: MyIdSdkDelegate {
)
}
func myidOnUserExited() {
func onUserExited() {
sendEvent(
withName: "onUserExited",
body: [
......@@ -67,10 +100,3 @@ extension MyIdModule: MyIdSdkDelegate {
)
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>MyIdSDK.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>MyIdSDK.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.8 (swiftlang-5.8.0.124.2 clang-1403.0.22.11.100)
#ifndef MYIDSDK_SWIFT_H
#define MYIDSDK_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"
#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif
#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif
#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#include <cstring>
#include <stdlib.h>
#include <new>
#include <type_traits>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include <string.h>
#endif
#if defined(__cplusplus)
#if __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
# ifndef __ptrauth_swift_value_witness_function_pointer
# define __ptrauth_swift_value_witness_function_pointer(x)
# endif
#endif
#endif
#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
# include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#endif
#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
# define SWIFT_CLASS_PROPERTY(...)
# endif
#endif
#if !defined(SWIFT_RUNTIME_NAME)
# if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
# else
# define SWIFT_RUNTIME_NAME(X)
# endif
#endif
#if !defined(SWIFT_COMPILE_NAME)
# if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
# else
# define SWIFT_COMPILE_NAME(X)
# endif
#endif
#if !defined(SWIFT_METHOD_FAMILY)
# if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
# else
# define SWIFT_METHOD_FAMILY(X)
# endif
#endif
#if !defined(SWIFT_NOESCAPE)
# if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
# else
# define SWIFT_NOESCAPE
# endif
#endif
#if !defined(SWIFT_RELEASES_ARGUMENT)
# if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
# else
# define SWIFT_RELEASES_ARGUMENT
# endif
#endif
#if !defined(SWIFT_WARN_UNUSED_RESULT)
# if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
# else
# define SWIFT_WARN_UNUSED_RESULT
# endif
#endif
#if !defined(SWIFT_NORETURN)
# if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
# else
# define SWIFT_NORETURN
# endif
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif
#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif
#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
# define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if __has_attribute(enum_extensibility)
# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
# define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if !defined(SWIFT_DEPRECATED_OBJC)
# if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
# else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
# endif
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
# define SWIFT_EXTERN extern "C"
# else
# define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if !defined(SWIFT_INDIRECT_RESULT)
# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result))
#endif
#if !defined(SWIFT_CONTEXT)
# define SWIFT_CONTEXT __attribute__((swift_context))
#endif
#if !defined(SWIFT_ERROR_RESULT)
# define SWIFT_ERROR_RESULT __attribute__((swift_error_result))
#endif
#if defined(__cplusplus)
# define SWIFT_NOEXCEPT noexcept
#else
# define SWIFT_NOEXCEPT
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
#endif
#else
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(objc_modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import ObjectiveC;
#endif
#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="MyIdSDK",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif
#if defined(__OBJC__)
typedef SWIFT_ENUM(NSInteger, MyIdBuildMode, open) {
MyIdBuildModeDEBUG = 0,
MyIdBuildModePRODUCTION = 1,
};
typedef SWIFT_ENUM(NSInteger, MyIdEntryType, open) {
MyIdEntryTypeAUTH = 0,
MyIdEntryTypeFACE = 1,
};
@class NSString;
SWIFT_CLASS("_TtC7MyIdSDK13MyIdException")
@interface MyIdException : NSObject
@property (nonatomic, copy) NSString * _Nullable code;
@property (nonatomic, copy) NSString * _Nullable message;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
typedef SWIFT_ENUM(NSInteger, MyIdLocale, open) {
MyIdLocaleRU = 0,
MyIdLocaleEN = 1,
MyIdLocaleUZ = 2,
};
@class MyIdOrganizationDetails;
enum MyIdViewState : NSInteger;
enum MyIdShapeMode : NSInteger;
enum MyIdResidency : NSInteger;
SWIFT_CLASS("_TtC7MyIdSDK11MyIdOptions")
@interface MyIdOptions : NSObject
@property (nonatomic, copy) NSString * _Nullable clientId;
@property (nonatomic, copy) NSString * _Nullable passportData;
@property (nonatomic, copy) NSString * _Nullable dateOfBirth;
@property (nonatomic, copy) NSString * _Nullable externalId;
@property (nonatomic) BOOL withPhoto;
@property (nonatomic) enum MyIdEntryType entryType;
@property (nonatomic) enum MyIdBuildMode buildMode;
@property (nonatomic) enum MyIdLocale locale;
@property (nonatomic) float threshold;
@property (nonatomic, strong) MyIdOrganizationDetails * _Nullable organizationDetails;
@property (nonatomic) enum MyIdViewState viewState;
@property (nonatomic) enum MyIdShapeMode shapeMode;
@property (nonatomic) enum MyIdResidency residency;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
@class UIImage;
SWIFT_CLASS("_TtC7MyIdSDK23MyIdOrganizationDetails")
@interface MyIdOrganizationDetails : NSObject
- (nonnull instancetype)initWithPhone:(NSString * _Nullable)phone logo:(UIImage * _Nullable)logo OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
typedef SWIFT_ENUM(NSInteger, MyIdResidency, open) {
MyIdResidencyUSER_DEFINED = 0,
MyIdResidencyRESIDENT = 1,
MyIdResidencyNON_RESIDENT = 2,
};
SWIFT_CLASS("_TtC7MyIdSDK10MyIdResult")
@interface MyIdResult : NSObject
@property (nonatomic, copy) NSString * _Nullable code;
@property (nonatomic, copy) NSString * _Nullable comparisonValue;
@property (nonatomic, strong) UIImage * _Nullable image;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
@protocol MyIdSdkDelegate;
SWIFT_CLASS("_TtC7MyIdSDK7MyIdSdk")
@interface MyIdSdk : NSObject
+ (void)startWithConfigureOptions:(void (^ _Nonnull)(MyIdOptions * _Nullable))configureOptions withDelegate:(id <MyIdSdkDelegate> _Nonnull)delegate;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
SWIFT_PROTOCOL("_TtP7MyIdSDK15MyIdSdkDelegate_")
@protocol MyIdSdkDelegate
- (void)myidOnSuccessWithResult:(MyIdResult * _Nonnull)result;
- (void)myidOnErrorWithException:(MyIdException * _Nonnull)exception;
- (void)myidOnUserExited;
@end
typedef SWIFT_ENUM(NSInteger, MyIdShapeMode, open) {
MyIdShapeModeOVAL = 0,
MyIdShapeModeCIRCLE = 1,
};
typedef SWIFT_ENUM(NSInteger, MyIdViewState, open) {
MyIdViewStateHALF = 0,
MyIdViewStateFULL = 1,
};
#endif
#if defined(__cplusplus)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif
#else
#error unsupported Swift architecture
#endif
//
// MyIdSDK.h
// MyIdSDK
//
// Created by Z. Ilkhom
//
#import <Foundation/Foundation.h>
//! Project version number for MyIdSDK.
FOUNDATION_EXPORT double MyIdSDKVersionNumber;
//! Project version string for MyIdSDK.
FOUNDATION_EXPORT const unsigned char MyIdSDKVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <MyIdSDK/PublicHeader.h>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment