Commit f1e54364 by Shailesh Aher

[IOS-127]: Multiple deinit call backs fixed and runtime idfa key change integrated

parent 01222732
...@@ -9,7 +9,8 @@ import UIKit ...@@ -9,7 +9,8 @@ import UIKit
import AdSupport import AdSupport
struct AppInfo { struct AppInfo {
static let idfa: String? = ASIdentifierManager.shared().advertisingIdentifier.uuidString static var idfa: String? { ASIdentifierManager.shared().advertisingIdentifier.uuidString
}
static let idfv: String? = UIDevice.current.identifierForVendor?.uuidString static let idfv: String? = UIDevice.current.identifierForVendor?.uuidString
static var appVersion: String = { static var appVersion: String = {
let appInfoDict = Bundle.main.infoDictionary let appInfoDict = Bundle.main.infoDictionary
......
...@@ -84,4 +84,32 @@ class TerceptSDKEnablerTests: XCTestCase { ...@@ -84,4 +84,32 @@ class TerceptSDKEnablerTests: XCTestCase {
XCTAssertFalse(isInitCalled) XCTAssertFalse(isInitCalled)
XCTAssertFalse(isDeinitCalled) XCTAssertFalse(isDeinitCalled)
} }
func testMultipleConfigEnableCalls() {
enabler.enableDataCollection(true)
enabler.setConfigToggle(true)
isInitCalled = false
enabler.setConfigToggle(true)
XCTAssertFalse(isInitCalled)
XCTAssertFalse(isDeinitCalled)
enabler.setConfigToggle(false)
XCTAssertFalse(isInitCalled)
XCTAssertTrue(isDeinitCalled)
}
func testMultipleDataCollectionCalls() {
enabler.enableDataCollection(true)
enabler.setConfigToggle(true)
isInitCalled = false
enabler.enableDataCollection(true)
XCTAssertFalse(isInitCalled)
XCTAssertFalse(isDeinitCalled)
enabler.enableDataCollection(false)
XCTAssertFalse(isInitCalled)
XCTAssertTrue(isDeinitCalled)
}
} }
...@@ -20,9 +20,11 @@ final class TerceptSDKEnabler { ...@@ -20,9 +20,11 @@ final class TerceptSDKEnabler {
guard let firebaseConfig = configToggle, guard let firebaseConfig = configToggle,
let canCollectData = canCollectData else { return } let canCollectData = canCollectData else { return }
if firebaseConfig, canCollectData, !hasInitializedSDK { if firebaseConfig, canCollectData {
if !hasInitializedSDK {
hasInitializedSDK = true hasInitializedSDK = true
observer?.initSDK() observer?.initSDK()
}
} else if hasInitializedSDK { } else if hasInitializedSDK {
hasInitializedSDK = false hasInitializedSDK = false
observer?.deinitSDK() observer?.deinitSDK()
......
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