From 6d4d99f6640552cec71b2e550ecf14c4de5fe70c Mon Sep 17 00:00:00 2001 From: Vansh Gandhi Date: Wed, 18 Oct 2023 11:55:22 -0700 Subject: [PATCH] Prepare for beta10 release (#81) * Prepare for beta10 release * Set callback URL * callbackUrl * Consistent back button behavior --- CHANGELOG.md | 6 ++---- Example/SmileID/HomeView.swift | 1 - SmileID.podspec | 4 ++-- ...OrchestratedDocumentVerificationScreen.swift | 1 - .../Classes/Networking/Models/EnhancedKyc.swift | 2 +- .../Classes/Networking/Models/PrepUpload.swift | 3 ++- .../SelfieCapture/View/SelfieCaptureView.swift | 17 +++-------------- .../View/SmartSelfieInstructionsView.swift | 6 ------ Sources/SmileID/Classes/SmileID.swift | 10 +++++++++- 9 files changed, 19 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 404073bcb..b8e5606f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ - -## 10.0.0-beta10 (unreleased) +## 10.0.0-beta10 ### Added - Enhanced Document Verification - New JobStatusResponses that depend on the job type +- Set the callback URL by calling `SmileID.setCallbackURL(_:)` ### Changed - Renamed `DocumentCaptureResultDelegate` -> `DocumentVerificationResultDelegate` @@ -15,8 +15,6 @@ - Document Verification UI bugs - Fixed a bug where Services models would have incorrect or duplicate data -### Removed - ## 10.0.0-beta09 ### Fixed diff --git a/Example/SmileID/HomeView.swift b/Example/SmileID/HomeView.swift index 48890fcb7..7606a12c5 100644 --- a/Example/SmileID/HomeView.swift +++ b/Example/SmileID/HomeView.swift @@ -1,7 +1,6 @@ import SmileID import SwiftUI -@available(iOS 14.0, *) struct HomeView: View { let partner = SmileID.configuration.partnerId let version = SmileID.version diff --git a/SmileID.podspec b/SmileID.podspec index 2b9e8537c..f7bf39025 100644 --- a/SmileID.podspec +++ b/SmileID.podspec @@ -1,11 +1,11 @@ Pod::Spec.new do |s| s.name = 'SmileID' - s.version = '10.0.0-beta09' + s.version = '10.0.0-beta10' s.summary = 'The Official Smile Identity iOS SDK.' s.homepage = 'https://docs.usesmileid.com/integration-options/mobile/ios-v10-beta' s.license = { :type => 'MIT', :file => 'LICENSE' } s.author = { 'Jubril O' => 'jubril@smileidentity.com', 'Japhet' => 'japhet@smileidentity.com', 'Juma Allan' => 'juma@smileidentity.com', 'Vansh Gandhi' => 'vansh@smileidentity.com'} - s.source = { :git => "https://github.com/smileidentity/ios.git", :tag => "v10.0.0-beta09" } + s.source = { :git => "https://github.com/smileidentity/ios.git", :tag => "v10.0.0-beta10" } s.ios.deployment_target = '13.0' s.dependency 'Zip', '~> 2.1.0' s.swift_version = '5.5' diff --git a/Sources/SmileID/Classes/DocumentVerification/View/OrchestratedDocumentVerificationScreen.swift b/Sources/SmileID/Classes/DocumentVerification/View/OrchestratedDocumentVerificationScreen.swift index f84dac8e2..3d53a4536 100644 --- a/Sources/SmileID/Classes/DocumentVerification/View/OrchestratedDocumentVerificationScreen.swift +++ b/Sources/SmileID/Classes/DocumentVerification/View/OrchestratedDocumentVerificationScreen.swift @@ -167,7 +167,6 @@ private struct IOrchestratedDocumentVerificationScreen: View { // imageCaptureDelegate is just for image capture, not job result imageCaptureDelegate: viewModel ), - showBackButton: false, delegate: nil ) case .processing(let state): diff --git a/Sources/SmileID/Classes/Networking/Models/EnhancedKyc.swift b/Sources/SmileID/Classes/Networking/Models/EnhancedKyc.swift index 6682b9369..cdf268202 100644 --- a/Sources/SmileID/Classes/Networking/Models/EnhancedKyc.swift +++ b/Sources/SmileID/Classes/Networking/Models/EnhancedKyc.swift @@ -28,7 +28,7 @@ public struct EnhancedKycRequest: Codable { dob: String? = nil, phoneNumber: String? = nil, bankCode: String? = nil, - callbackUrl: String?, + callbackUrl: String? = SmileID.callbackUrl, partnerParams: PartnerParams, sourceSdk: String = "ios", sourceSdkVersion: String = SmileID.version, diff --git a/Sources/SmileID/Classes/Networking/Models/PrepUpload.swift b/Sources/SmileID/Classes/Networking/Models/PrepUpload.swift index 6aadb1c0f..569b241b3 100644 --- a/Sources/SmileID/Classes/Networking/Models/PrepUpload.swift +++ b/Sources/SmileID/Classes/Networking/Models/PrepUpload.swift @@ -2,7 +2,8 @@ import Foundation public struct PrepUploadRequest: Codable { var partnerParams: PartnerParams - var callbackUrl: String? = "" + // Callback URL *must* be defined either within your Partner Portal or here + var callbackUrl: String? = SmileID.callbackUrl var partnerId = SmileID.config.partnerId var sourceSdk = "ios" var sourceSdkVersion = SmileID.version diff --git a/Sources/SmileID/Classes/SelfieCapture/View/SelfieCaptureView.swift b/Sources/SmileID/Classes/SelfieCapture/View/SelfieCaptureView.swift index 2416c1010..4d3b74057 100644 --- a/Sources/SmileID/Classes/SelfieCapture/View/SelfieCaptureView.swift +++ b/Sources/SmileID/Classes/SelfieCapture/View/SelfieCaptureView.swift @@ -7,21 +7,20 @@ public struct SelfieCaptureView: View, SelfieViewDelegate { @EnvironmentObject var router: Router @ObservedObject var viewModel: SelfieCaptureViewModel private var delegate: SmartSelfieResultDelegate? + private var originalBrightness: CGFloat var camera: CameraView? let arView: ARView? let faceOverlay: FaceOverlayView - let showBackButton: Bool init( viewModel: SelfieCaptureViewModel, - showBackButton: Bool = true, delegate: SmartSelfieResultDelegate? ) { self.delegate = delegate self.viewModel = viewModel - self.showBackButton = showBackButton faceOverlay = FaceOverlayView(model: viewModel) viewModel.smartSelfieResultDelegate = delegate + originalBrightness = UIScreen.main.brightness UIScreen.main.brightness = 1 if ARFaceTrackingConfiguration.isSupported { arView = ARView() @@ -86,20 +85,10 @@ public struct SelfieCaptureView: View, SelfieViewDelegate { Color.clear } } - .overlay(ZStack { - if showBackButton { - NavigationBar { - viewModel.resetState() - viewModel.pauseCameraSession() - router.pop() - } - } - }) } - .edgesIgnoringSafeArea(.all) - .navigationBarBackButtonHidden(true) .background(SmileID.theme.backgroundMain) .onDisappear { + UIScreen.main.brightness = originalBrightness viewModel.cameraManager.pauseSession() } } diff --git a/Sources/SmileID/Classes/SelfieCapture/View/SmartSelfieInstructionsView.swift b/Sources/SmileID/Classes/SelfieCapture/View/SmartSelfieInstructionsView.swift index 93c03b744..d839bda94 100644 --- a/Sources/SmileID/Classes/SelfieCapture/View/SmartSelfieInstructionsView.swift +++ b/Sources/SmileID/Classes/SelfieCapture/View/SmartSelfieInstructionsView.swift @@ -62,11 +62,5 @@ public struct SmartSelfieInstructionsView: View { ) .padding(.top, 50) } - .overlay( - NavigationBar { - viewModel.handleClose() - router.dismiss() - } - ) } } diff --git a/Sources/SmileID/Classes/SmileID.swift b/Sources/SmileID/Classes/SmileID.swift index a93335d38..5c2ce5e90 100644 --- a/Sources/SmileID/Classes/SmileID.swift +++ b/Sources/SmileID/Classes/SmileID.swift @@ -3,7 +3,7 @@ import SwiftUI import UIKit public class SmileID { - public static let version = "10.0.0-beta09" + public static let version = "10.0.0-beta10" @Injected var injectedApi: SmileIDServiceable public static var configuration: Config { config } @@ -22,6 +22,7 @@ public class SmileID { public private(set) static var config: Config! public private(set) static var useSandbox = true + public private(set) static var callbackUrl: String = "" internal static var apiKey: String? public private(set) static var theme: SmileIdTheme = DefaultTheme() internal private(set) static var localizableStrings: SmileIDLocalizableStrings? @@ -64,6 +65,13 @@ public class SmileID { SmileID.useSandbox = useSandbox } + /// Set the callback URL for all submitted jobs. If no value is set, the default callback URL + /// from the partner portal will be used. + /// - Parameter url: A valid URL pointing to your server + public class func setCallbackUrl(url: URL?) { + SmileID.callbackUrl = url?.absoluteString ?? "" + } + /// Apply theme /// - Parameter theme: A `SmileIdTheme` used to override the colors and fonts used within the /// SDK. If no value is set, the default theme will be used.