diff --git a/Gigya.podspec b/Gigya.podspec
index c1360d67..854078e2 100644
--- a/Gigya.podspec
+++ b/Gigya.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |spec|
spec.name = 'Gigya'
- spec.version = '1.6.2'
+ spec.version = '1.6.3'
spec.license = 'Apache 2.0'
spec.homepage = 'https://developers.gigya.com/display/GD/Swift+SDK'
spec.author = 'Gigya SAP'
@@ -10,7 +10,7 @@ Pod::Spec.new do |spec|
your Swift application
DESC
- spec.source = { :git => 'https://github.com/SAP/gigya-swift-sdk.git', :tag => 'core/v1.6.2' }
+ spec.source = { :git => 'https://github.com/SAP/gigya-swift-sdk.git', :tag => 'core/v1.6.3' }
spec.module_name = 'Gigya'
spec.swift_version = '5.3'
diff --git a/GigyaSwift.xcodeproj/project.pbxproj b/GigyaSwift.xcodeproj/project.pbxproj
index a161be4e..1c8157c5 100644
--- a/GigyaSwift.xcodeproj/project.pbxproj
+++ b/GigyaSwift.xcodeproj/project.pbxproj
@@ -2605,7 +2605,7 @@
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
- MARKETING_VERSION = 1.6.2;
+ MARKETING_VERSION = 1.6.3;
MODULEMAP_FILE = "";
MODULEMAP_PRIVATE_FILE = "";
ONLY_ACTIVE_ARCH = NO;
@@ -2666,7 +2666,7 @@
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
- MARKETING_VERSION = 1.6.2;
+ MARKETING_VERSION = 1.6.3;
MODULEMAP_FILE = "";
MODULEMAP_PRIVATE_FILE = "";
ONLY_ACTIVE_ARCH = NO;
diff --git a/GigyaSwift.xcodeproj/xcuserdata/i507698.xcuserdatad/xcschemes/xcschememanagement.plist b/GigyaSwift.xcodeproj/xcuserdata/i507698.xcuserdatad/xcschemes/xcschememanagement.plist
index 49a280ee..53776c36 100644
--- a/GigyaSwift.xcodeproj/xcuserdata/i507698.xcuserdatad/xcschemes/xcschememanagement.plist
+++ b/GigyaSwift.xcodeproj/xcuserdata/i507698.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -12,7 +12,7 @@
GigyaUITestsApp.xcscheme_^#shared#^_
orderHint
- 32
+ 35
GigyaXC.xcscheme_^#shared#^_
diff --git a/GigyaSwift.xcworkspace/xcuserdata/i507698.xcuserdatad/UserInterfaceState.xcuserstate b/GigyaSwift.xcworkspace/xcuserdata/i507698.xcuserdatad/UserInterfaceState.xcuserstate
index 7b3f915a..92ce6b6d 100644
Binary files a/GigyaSwift.xcworkspace/xcuserdata/i507698.xcuserdatad/UserInterfaceState.xcuserstate and b/GigyaSwift.xcworkspace/xcuserdata/i507698.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/GigyaSwift/Global/Plugins/GigyaWebBridge.swift b/GigyaSwift/Global/Plugins/GigyaWebBridge.swift
index ab486e38..3abd4eb8 100644
--- a/GigyaSwift/Global/Plugins/GigyaWebBridge.swift
+++ b/GigyaSwift/Global/Plugins/GigyaWebBridge.swift
@@ -267,7 +267,7 @@ open class GigyaWebBridge: NSObject, WKScriptMessageHan
case "afterSubmit":
completion(.onAfterSubmit(event: params))
case "hide":
- completion(.onHide(event: params))
+ handleOnHide(params: params)
case "error":
completion(.error(event: params))
case "fieldChanged":
@@ -281,6 +281,12 @@ open class GigyaWebBridge: NSObject, WKScriptMessageHan
}
}
}
+
+ private func handleOnHide(params: [String: String]) {
+ if interruptionManager.resolverIsActive == false {
+ completion(.onHide(event: params))
+ }
+ }
/**
Generic send request method.
diff --git a/GigyaSwift/Global/Plugins/WebBridgeManager/WebBridgeFroceLoginResolver.swift b/GigyaSwift/Global/Plugins/WebBridgeManager/WebBridgeFroceLoginResolver.swift
index 3f1c39a6..54f8d495 100644
--- a/GigyaSwift/Global/Plugins/WebBridgeManager/WebBridgeFroceLoginResolver.swift
+++ b/GigyaSwift/Global/Plugins/WebBridgeManager/WebBridgeFroceLoginResolver.swift
@@ -30,6 +30,7 @@ class WebBridgeFroceLoginResolver: WebBridgeResolver {
switch result {
case .success(data: let userdata):
completion(.onLogin(account: userdata))
+ completion(.onHide(event: ["isFlowFinalized": "true"]))
case .failure(_):
break
}
diff --git a/GigyaSwift/Global/Plugins/WebBridgeManager/WebBridgeInterruptionManager.swift b/GigyaSwift/Global/Plugins/WebBridgeManager/WebBridgeInterruptionManager.swift
index 07892af9..ef01ad8e 100644
--- a/GigyaSwift/Global/Plugins/WebBridgeManager/WebBridgeInterruptionManager.swift
+++ b/GigyaSwift/Global/Plugins/WebBridgeManager/WebBridgeInterruptionManager.swift
@@ -13,6 +13,8 @@ enum WebBridgeInterruption: Int {
}
public protocol WebBridgeInterruptionResolverFactoryProtocol {
+ var resolverIsActive: Bool { get }
+
func interruptionHandler(error: NetworkError)
func responseManager(apiMethod: String, params: [String: String], data: T, completion: @escaping (GigyaPluginEvent) -> Void)
@@ -33,6 +35,10 @@ class WebBridgeInterruptionManager: WebBridgeInterruptionResolverFactoryProtocol
}
}
+ var resolverIsActive: Bool {
+ return resolver != nil
+ }
+
init(busnessApi: BusinessApiDelegate, accountService: AccountServiceProtocol) {
self.busnessApi = busnessApi
self.accountService = accountService
diff --git a/GigyaSwift/Global/Resolvers/InterruptionResolverFactory.swift b/GigyaSwift/Global/Resolvers/InterruptionResolverFactory.swift
index 466d8ac8..25af00e0 100644
--- a/GigyaSwift/Global/Resolvers/InterruptionResolverFactory.swift
+++ b/GigyaSwift/Global/Resolvers/InterruptionResolverFactory.swift
@@ -34,13 +34,8 @@ final class InterruptionResolverFactory: InterruptionResolverFactoryProtocol {
// get all data from request
let dataResponse = data.toDictionary()
- guard let regToken = dataResponse["regToken"] as? String else {
- GigyaLogger.log(with: self, message: "[interruptionResolver] - regToken not exists")
-
- forwordFailed(error: error, completion: completion)
- return
- }
-
+ let regToken = getRegToken(from: dataResponse)
+
switch errorCode {
case .pendingRegistration:
// pending registration
@@ -82,4 +77,8 @@ final class InterruptionResolverFactory: InterruptionResolverFactoryProtocol {
let loginError = LoginApiError(error: error, interruption: nil)
completion(.failure(loginError))
}
+
+ private func getRegToken(from data: [String: Any]) -> String {
+ return data["regToken"] as? String ?? ""
+ }
}
diff --git a/GigyaSwift/Models/Config/InternalConfig.swift b/GigyaSwift/Models/Config/InternalConfig.swift
index 373488d2..5222cec2 100644
--- a/GigyaSwift/Models/Config/InternalConfig.swift
+++ b/GigyaSwift/Models/Config/InternalConfig.swift
@@ -10,7 +10,7 @@ import Foundation
struct InternalConfig {
struct General {
- internal static let version = "\(GigyaDefinitions.versionPrefix ?? "")ios_swift_1.6.2"
+ internal static let version = "\(GigyaDefinitions.versionPrefix ?? "")ios_swift_1.6.3"
internal static let sdkDomain = "com.gigya.GigyaSDK"
internal static let defaultLang = "en"
}