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
import AdSupport
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 var appVersion: String = {
let appInfoDict = Bundle.main.infoDictionary
......
......@@ -84,4 +84,32 @@ class TerceptSDKEnablerTests: XCTestCase {
XCTAssertFalse(isInitCalled)
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 {
guard let firebaseConfig = configToggle,
let canCollectData = canCollectData else { return }
if firebaseConfig, canCollectData, !hasInitializedSDK {
if firebaseConfig, canCollectData {
if !hasInitializedSDK {
hasInitializedSDK = true
observer?.initSDK()
}
} else if hasInitializedSDK {
hasInitializedSDK = false
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