Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
MYID Public Code
MyID Flutter SDK
Commits
8796b479
Commit
8796b479
authored
Feb 22, 2024
by
Javokhir
Browse files
1.1.8
parent
23acb294
Changes
19
Hide whitespace changes
Inline
Side-by-side
CHANGELOG.md
View file @
8796b479
## 1.1.8
*
🔨 Addressed identification bug on iPhone 7 and earlier devices.
## 1.1.7
*
Upgrade iOS SDK to 2.2.8.
...
...
README.md
View file @
8796b479
...
...
@@ -9,9 +9,9 @@ MyID SDK flutter plugin.
-
[
SDK error codes
](
#sdk-error-codes
)
-
[
Theme
](
#theme
)
Android SDK:
`1.0.
5
`
Android SDK:
`1.0.
7
`
iOS SDK:
`2.2.
8
`
iOS SDK:
`2.2.
9
`
## Project adjustments
...
...
android/build.gradle
View file @
8796b479
group
"uz.
aigroup
.myid"
version
"1.
0.7
"
group
"uz.
uzinfocom
.myid"
version
"1.
1.8
"
buildscript
{
ext
.
kotlin_version
=
"1.7.21"
...
...
@@ -27,7 +27,7 @@ apply plugin: "com.android.library"
apply
plugin:
"kotlin-android"
android
{
namespace
"uz.
aigroup
.myid"
namespace
"uz.
uzinfocom
.myid"
compileSdk
34
compileOptions
{
...
...
@@ -49,5 +49,5 @@ android {
}
dependencies
{
implementation
(
"uz.myid.sdk.capture:myid-flutter-capture-sdk:1.0.
5
"
)
implementation
(
"uz.myid.sdk.capture:myid-flutter-capture-sdk:1.0.
7
"
)
}
\ No newline at end of file
android/src/main/kotlin/uz/
aigroup
/myid/MyIdPlugin.kt
→
android/src/main/kotlin/uz/
uzinfocom
/myid/MyIdPlugin.kt
View file @
8796b479
package
uz.
aigroup
.myid
package
uz.
uzinfocom
.myid
import
android.content.Context
import
androidx.annotation.NonNull
...
...
android/src/main/kotlin/uz/
aigroup
/myid/MyIdSdk.kt
→
android/src/main/kotlin/uz/
uzinfocom
/myid/MyIdSdk.kt
View file @
8796b479
package
uz.
aigroup
.myid
package
uz.
uzinfocom
.myid
import
android.app.Activity
import
android.os.Build
...
...
@@ -6,6 +6,7 @@ import io.flutter.plugin.common.MethodChannel
import
uz.myid.android.sdk.capture.MyIdClient
import
uz.myid.android.sdk.capture.MyIdConfig
import
uz.myid.android.sdk.capture.model.MyIdBuildMode
import
uz.myid.android.sdk.capture.model.MyIdCameraSelector
import
uz.myid.android.sdk.capture.model.MyIdCameraShape
import
uz.myid.android.sdk.capture.model.MyIdEntryType
import
uz.myid.android.sdk.capture.model.MyIdImageFormat
...
...
@@ -64,6 +65,7 @@ class MyIdSdk(
val
residency
:
MyIdResidentType
val
locale
:
Locale
val
cameraShape
:
MyIdCameraShape
val
cameraSelector
:
MyIdCameraSelector
val
resolution
:
MyIdResolution
val
imageFormat
:
MyIdImageFormat
val
organizationDetails
:
MyIdOrganizationDetails
...
...
@@ -101,6 +103,10 @@ class MyIdSdk(
MyIdCameraShape
.
ELLIPSE
.
name
->
MyIdCameraShape
.
ELLIPSE
else
->
MyIdCameraShape
.
CIRCLE
}
cameraSelector
=
when
(
config
.
fetch
(
"cameraSelector"
).
uppercase
())
{
MyIdCameraSelector
.
BACK
.
name
->
MyIdCameraSelector
.
BACK
else
->
MyIdCameraSelector
.
FRONT
}
resolution
=
when
(
config
.
fetch
(
"resolution"
).
uppercase
())
{
MyIdResolution
.
RESOLUTION_720
.
name
->
MyIdResolution
.
RESOLUTION_720
else
->
MyIdResolution
.
RESOLUTION_480
...
...
@@ -148,6 +154,7 @@ class MyIdSdk(
.
withResidency
(
residency
)
.
withLocale
(
locale
)
.
withCameraShape
(
cameraShape
)
.
withCameraSelector
(
cameraSelector
)
.
withResolution
(
resolution
)
.
withImageFormat
(
imageFormat
)
.
withOrganizationDetails
(
organizationDetails
)
...
...
android/src/main/kotlin/uz/
aigroup
/myid/MyIdSdkActivityListener.kt
→
android/src/main/kotlin/uz/
uzinfocom
/myid/MyIdSdkActivityListener.kt
View file @
8796b479
package
uz.
aigroup
.myid
package
uz.
uzinfocom
.myid
import
android.content.Intent
import
android.graphics.Bitmap
...
...
@@ -39,15 +39,11 @@ class MyIdSdkActivityListener(
)
flutterResult
?.
success
(
response
.
toMap
())
}
catch
(
e
:
Exception
)
{
if
(
result
.
code
!=
null
)
{
val
response
=
Response
(
code
=
result
.
code
,
comparison
=
result
.
comparison
)
flutterResult
?.
success
(
response
.
toMap
())
}
else
{
flutterResult
?.
error
(
"error"
,
e
.
message
,
null
)
}
val
response
=
Response
(
code
=
result
.
code
,
comparison
=
result
.
comparison
)
flutterResult
?.
success
(
response
.
toMap
())
}
finally
{
flutterResult
=
null
}
...
...
android/src/main/kotlin/uz/
aigroup
/myid/Response.kt
→
android/src/main/kotlin/uz/
uzinfocom
/myid/Response.kt
View file @
8796b479
package
uz.
aigroup
.myid
package
uz.
uzinfocom
.myid
data class
Response
(
val
code
:
String
?
=
null
,
...
...
example/ios/Podfile.lock
View file @
8796b479
...
...
@@ -2,8 +2,8 @@ PODS:
- Flutter (1.0.0)
- myid (1.1.2):
- Flutter
- MyIdSDK (= 2.2.
8
)
- MyIdSDK (2.2.
8
)
- MyIdSDK (= 2.2.
9
)
- MyIdSDK (2.2.
9
)
DEPENDENCIES:
- Flutter (from `Flutter`)
...
...
@@ -21,8 +21,8 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
myid:
bc4a97796ab9b9ae62dc83875ab38bdaa13d95db
MyIdSDK:
0ad4344c17f6fdcdcc075ff735922539c44b8cf6
myid:
455880195dd373f70441baf3644f0c0ad3a132c8
MyIdSDK:
b6929bf779782f9358817c91e5fc73d0060bf88b
PODFILE CHECKSUM: 52781dfef5f5768442e4d2953d5b83f640ecec0c
...
...
example/ios/Runner.xcodeproj/project.pbxproj
View file @
8796b479
...
...
@@ -354,19 +354,25 @@
buildSettings
=
{
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
CLANG_ENABLE_MODULES
=
YES
;
CURRENT_PROJECT_VERSION
=
"$(FLUTTER_BUILD_NUMBER)"
;
DEVELOPMENT_TEAM
=
86VMSY4FK5
;
CURRENT_PROJECT_VERSION
=
2
;
DEVELOPMENT_TEAM
=
""
;
ENABLE_BITCODE
=
NO
;
INFOPLIST_FILE
=
Runner/Info.plist
;
INFOPLIST_KEY_CFBundleDisplayName
=
MyID
;
IPHONEOS_DEPLOYMENT_TARGET
=
12.0
;
LD_RUNPATH_SEARCH_PATHS
=
(
"$(inherited)"
,
"@executable_path/Frameworks"
,
);
PRODUCT_BUNDLE_IDENTIFIER
=
com.example.myidExample
;
MARKETING_VERSION
=
1.1
;
PRODUCT_BUNDLE_IDENTIFIER
=
uz.myid.sample
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
SUPPORTED_PLATFORMS
=
"iphoneos iphonesimulator"
;
SUPPORTS_MACCATALYST
=
NO
;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD
=
NO
;
SWIFT_OBJC_BRIDGING_HEADER
=
"Runner/Runner-Bridging-Header.h"
;
SWIFT_VERSION
=
5.0
;
TARGETED_DEVICE_FAMILY
=
"1,2"
;
VERSIONING_SYSTEM
=
"apple-generic"
;
};
name
=
Profile
;
...
...
@@ -484,20 +490,26 @@
buildSettings
=
{
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
CLANG_ENABLE_MODULES
=
YES
;
CURRENT_PROJECT_VERSION
=
"$(FLUTTER_BUILD_NUMBER)"
;
DEVELOPMENT_TEAM
=
86VMSY4FK5
;
CURRENT_PROJECT_VERSION
=
2
;
DEVELOPMENT_TEAM
=
""
;
ENABLE_BITCODE
=
NO
;
INFOPLIST_FILE
=
Runner/Info.plist
;
INFOPLIST_KEY_CFBundleDisplayName
=
MyID
;
IPHONEOS_DEPLOYMENT_TARGET
=
12.0
;
LD_RUNPATH_SEARCH_PATHS
=
(
"$(inherited)"
,
"@executable_path/Frameworks"
,
);
PRODUCT_BUNDLE_IDENTIFIER
=
com.example.myidExample
;
MARKETING_VERSION
=
1.1
;
PRODUCT_BUNDLE_IDENTIFIER
=
uz.myid.sample
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
SUPPORTED_PLATFORMS
=
"iphoneos iphonesimulator"
;
SUPPORTS_MACCATALYST
=
NO
;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD
=
NO
;
SWIFT_OBJC_BRIDGING_HEADER
=
"Runner/Runner-Bridging-Header.h"
;
SWIFT_OPTIMIZATION_LEVEL
=
"-Onone"
;
SWIFT_VERSION
=
5.0
;
TARGETED_DEVICE_FAMILY
=
"1,2"
;
VERSIONING_SYSTEM
=
"apple-generic"
;
};
name
=
Debug
;
...
...
@@ -508,19 +520,25 @@
buildSettings
=
{
ASSETCATALOG_COMPILER_APPICON_NAME
=
AppIcon
;
CLANG_ENABLE_MODULES
=
YES
;
CURRENT_PROJECT_VERSION
=
"$(FLUTTER_BUILD_NUMBER)"
;
DEVELOPMENT_TEAM
=
86VMSY4FK5
;
CURRENT_PROJECT_VERSION
=
2
;
DEVELOPMENT_TEAM
=
""
;
ENABLE_BITCODE
=
NO
;
INFOPLIST_FILE
=
Runner/Info.plist
;
INFOPLIST_KEY_CFBundleDisplayName
=
MyID
;
IPHONEOS_DEPLOYMENT_TARGET
=
12.0
;
LD_RUNPATH_SEARCH_PATHS
=
(
"$(inherited)"
,
"@executable_path/Frameworks"
,
);
PRODUCT_BUNDLE_IDENTIFIER
=
com.example.myidExample
;
MARKETING_VERSION
=
1.1
;
PRODUCT_BUNDLE_IDENTIFIER
=
uz.myid.sample
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
SUPPORTED_PLATFORMS
=
"iphoneos iphonesimulator"
;
SUPPORTS_MACCATALYST
=
NO
;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD
=
NO
;
SWIFT_OBJC_BRIDGING_HEADER
=
"Runner/Runner-Bridging-Header.h"
;
SWIFT_VERSION
=
5.0
;
TARGETED_DEVICE_FAMILY
=
"1,2"
;
VERSIONING_SYSTEM
=
"apple-generic"
;
};
name
=
Release
;
...
...
example/ios/Runner/Info.plist
View file @
8796b479
...
...
@@ -19,13 +19,17 @@
<key>
CFBundlePackageType
</key>
<string>
APPL
</string>
<key>
CFBundleShortVersionString
</key>
<string>
$(FLUTTER_BUILD_NAME)
</string>
<string>
1.1
</string>
<key>
CFBundleSignature
</key>
<string>
????
</string>
<key>
CFBundleVersion
</key>
<string>
$(FLUTTER_BUILD_NUMBER)
</string>
<string>
2
</string>
<key>
LSRequiresIPhoneOS
</key>
<true/>
<key>
NSCameraUsageDescription
</key>
<string>
YOUR_TEXT_HERE
</string>
<key>
UIApplicationSupportsIndirectInputEvents
</key>
<true/>
<key>
UILaunchStoryboardName
</key>
<string>
LaunchScreen
</string>
<key>
UIMainStoryboardFile
</key>
...
...
@@ -35,16 +39,9 @@
<string>
UIInterfaceOrientationLandscapeLeft
</string>
<string>
UIInterfaceOrientationLandscapeRight
</string>
<string>
UIInterfaceOrientationPortrait
</string>
</array>
<key>
UISupportedInterfaceOrientations~ipad
</key>
<array>
<string>
UIInterfaceOrientationLandscapeLeft
</string>
<string>
UIInterfaceOrientationLandscapeRight
</string>
<string>
UIInterfaceOrientationPortraitUpsideDown
</string>
</array>
<key>
UIViewControllerBasedStatusBarAppearance
</key>
<false/>
<key>
UIApplicationSupportsIndirectInputEvents
</key>
<true/>
</dict>
</plist>
example/pubspec.lock
View file @
8796b479
...
...
@@ -121,7 +121,7 @@ packages:
path: ".."
relative: true
source: path
version: "1.1.
6
"
version: "1.1.
8
"
path:
dependency: transitive
description:
...
...
ios/Classes/MyIdSdk.swift
View file @
8796b479
...
...
@@ -137,6 +137,12 @@ public func buildMyIdConfig(
if
(
cameraShapeKey
==
"ELLIPSE"
)
{
cameraShape
=
MyIdCameraShape
.
ELLIPSE
}
let
cameraSelectorKey
=
config
[
"cameraSelector"
]
as?
String
??
""
var
cameraSelector
=
MyIdCameraSelector
.
FRONT
if
(
cameraSelectorKey
==
"BACK"
)
{
cameraSelector
=
MyIdCameraSelector
.
BACK
}
let
resolutionKey
=
config
[
"resolution"
]
as?
String
??
""
var
resolution
=
MyIdResolution
.
RESOLUTION_480
...
...
@@ -165,6 +171,7 @@ public func buildMyIdConfig(
config
.
residency
=
residency
config
.
locale
=
locale
config
.
cameraShape
=
cameraShape
config
.
cameraSelector
=
cameraSelector
config
.
resolution
=
resolution
config
.
withPhoto
=
withPhoto
config
.
appearance
=
appearance
...
...
ios/Classes/SwiftMyIdPlugin.swift
View file @
8796b479
...
...
@@ -6,7 +6,7 @@ public class SwiftMyIdPlugin: NSObject, FlutterPlugin {
private
let
myidSdk
=
MyIdSdk
()
public
static
func
register
(
with
registrar
:
FlutterPluginRegistrar
)
{
let
channel
=
FlutterMethodChannel
(
name
:
"myid"
,
binaryMessenger
:
registrar
.
messenger
())
let
channel
=
FlutterMethodChannel
(
name
:
"myid
_uz
"
,
binaryMessenger
:
registrar
.
messenger
())
let
instance
=
SwiftMyIdPlugin
()
registrar
.
addMethodCallDelegate
(
instance
,
channel
:
channel
)
}
...
...
ios/myid.podspec
View file @
8796b479
...
...
@@ -15,7 +15,7 @@ A new Flutter plugin.
s
.
source
=
{
:path
=>
'.'
}
s
.
source_files
=
'Classes/**/*'
s
.
dependency
'Flutter'
s
.
dependency
'MyIdSDK'
,
'2.2.
8
'
s
.
dependency
'MyIdSDK'
,
'2.2.
9
'
s
.
platform
=
:ios
,
'12.0'
# Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported.
...
...
lib/enums.dart
View file @
8796b479
...
...
@@ -25,6 +25,11 @@ enum MyIdCameraShape {
ELLIPSE
}
enum
MyIdCameraSelector
{
FRONT
,
BACK
}
enum
MyIdResolution
{
RESOLUTION_480
,
RESOLUTION_720
...
...
lib/myid.dart
View file @
8796b479
...
...
@@ -6,7 +6,7 @@ import 'dart:convert';
import
'myid_config.dart'
;
class
MyIdClient
{
static
const
MethodChannel
_channel
=
MethodChannel
(
'myid'
);
static
const
MethodChannel
_channel
=
MethodChannel
(
'myid
_uz
'
);
static
const
JsonDecoder
_jsonDecoder
=
JsonDecoder
();
static
const
JsonEncoder
_jsonEncoder
=
JsonEncoder
();
...
...
lib/myid_config.dart
View file @
8796b479
import
'dart:ffi'
;
import
'enums.dart'
;
part
'myid_config.g.dart'
;
...
...
@@ -10,7 +8,7 @@ class MyIdConfig {
final
String
?
clientHashId
;
final
String
?
passportData
;
final
String
?
dateOfBirth
;
final
I
nt
?
minAge
;
final
i
nt
?
minAge
;
final
String
?
sdkHash
;
final
String
?
externalId
;
final
double
?
threshold
;
...
...
@@ -19,6 +17,7 @@ class MyIdConfig {
final
MyIdResidentType
?
residency
;
final
MyIdLocale
?
locale
;
final
MyIdCameraShape
?
cameraShape
;
final
MyIdCameraSelector
?
cameraSelector
;
final
MyIdResolution
?
resolution
;
final
MyIdImageFormat
?
imageFormat
;
final
MyIdOrganizationDetails
?
organizationDetails
;
...
...
@@ -39,6 +38,7 @@ class MyIdConfig {
this
.
residency
,
this
.
locale
,
this
.
cameraShape
,
this
.
cameraSelector
,
this
.
resolution
,
this
.
imageFormat
,
this
.
organizationDetails
,
...
...
lib/myid_config.g.dart
View file @
8796b479
...
...
@@ -13,7 +13,7 @@ MyIdConfig _$MyIdConfigFromJson(Map<String, dynamic> json) {
clientHashId:
json
[
'clientHashId'
]
as
String
,
passportData:
json
[
'passportData'
]
as
String
,
dateOfBirth:
json
[
'dateOfBirth'
]
as
String
,
minAge:
json
[
'minAge'
]
as
I
nt
,
minAge:
json
[
'minAge'
]
as
i
nt
,
sdkHash:
json
[
'sdkHash'
]
as
String
,
externalId:
json
[
'externalId'
]
as
String
,
threshold:
json
[
'threshold'
]
as
double
,
...
...
@@ -22,6 +22,7 @@ MyIdConfig _$MyIdConfigFromJson(Map<String, dynamic> json) {
residency:
_$enumDecodeNullable
(
_$MyIdResidentTypeEnumMap
,
json
[
'residency'
]),
locale:
_$enumDecodeNullable
(
_$MyIdLocaleEnumMap
,
json
[
'locale'
]),
cameraShape:
_$enumDecodeNullable
(
_$MyIdCameraShapeEnumMap
,
json
[
'cameraShape'
]),
cameraSelector:
_$enumDecodeNullable
(
_$MyIdCameraSelectorEnumMap
,
json
[
'cameraSelector'
]),
resolution:
_$enumDecodeNullable
(
_$MyIdResolutionEnumMap
,
json
[
'resolution'
]),
imageFormat:
_$enumDecodeNullable
(
_$MyIdImageFormatEnumMap
,
json
[
'imageFormat'
]),
organizationDetails:
MyIdOrganizationDetails
.
fromJson
(
json
[
'organizationDetails'
]
as
Map
<
String
,
dynamic
>),
...
...
@@ -52,6 +53,7 @@ Map<String, dynamic> _$MyIdConfigToJson(MyIdConfig instance) {
writeNotNull
(
'residency'
,
_$MyIdResidentTypeEnumMap
[
instance
.
residency
]);
writeNotNull
(
'locale'
,
_$MyIdLocaleEnumMap
[
instance
.
locale
]);
writeNotNull
(
'cameraShape'
,
_$MyIdCameraShapeEnumMap
[
instance
.
cameraShape
]);
writeNotNull
(
'cameraSelector'
,
_$MyIdCameraSelectorEnumMap
[
instance
.
cameraSelector
]);
writeNotNull
(
'resolution'
,
_$MyIdResolutionEnumMap
[
instance
.
resolution
]);
writeNotNull
(
'imageFormat'
,
_$MyIdImageFormatEnumMap
[
instance
.
imageFormat
]);
writeNotNull
(
'organizationDetails'
,
instance
.
organizationDetails
?.
toJson
());
...
...
@@ -142,6 +144,11 @@ const _$MyIdCameraShapeEnumMap = {
MyIdCameraShape
.
ELLIPSE
:
'ELLIPSE'
,
};
const
_$MyIdCameraSelectorEnumMap
=
{
MyIdCameraSelector
.
FRONT
:
'FRONT'
,
MyIdCameraSelector
.
BACK
:
'BACK'
,
};
const
_$MyIdResolutionEnumMap
=
{
MyIdResolution
.
RESOLUTION_480
:
'RESOLUTION_480'
,
MyIdResolution
.
RESOLUTION_720
:
'RESOLUTION_720'
,
...
...
pubspec.yaml
View file @
8796b479
name
:
myid
description
:
MyID SDK plugin for Flutter. Package supports iOS and Android to verify users identity.
version
:
1.1.
7
version
:
1.1.
8
homepage
:
https://pub.dev/packages/myid
repository
:
https://pub.dev/packages/myid
issue_tracker
:
https://gitlab.
aigroup
.uz/myid-public-code/myid-sample-flutter/-/issues
issue_tracker
:
https://gitlab.
myid
.uz/myid-public-code/myid-sample-flutter/-/issues
environment
:
sdk
:
"
>=2.17.6
<4.0.0"
...
...
@@ -37,7 +37,7 @@ flutter:
plugin
:
platforms
:
android
:
package
:
uz.
aigroup
.myid
package
:
uz.
uzinfocom
.myid
pluginClass
:
MyIdPlugin
ios
:
pluginClass
:
MyIdPlugin
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment