From 25f1418ddb3634c9949d7c398d4d60ab530132ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matu=CC=81s=CC=8C=20Tomlein?= Date: Mon, 13 May 2024 10:36:30 +0200 Subject: [PATCH] Do not swizzle views if screen view autotracking is disabled (close #889) --- Sources/Core/Tracker/Tracker.swift | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Sources/Core/Tracker/Tracker.swift b/Sources/Core/Tracker/Tracker.swift index bf0ea3441..681c7adf3 100644 --- a/Sources/Core/Tracker/Tracker.swift +++ b/Sources/Core/Tracker/Tracker.swift @@ -171,7 +171,17 @@ class Tracker: NSObject { var applicationContext = TrackerDefaults.applicationContext - var autotrackScreenViews = TrackerDefaults.autotrackScreenViews + private var _autotrackScreenViews = TrackerDefaults.autotrackScreenViews + var autotrackScreenViews: Bool { + get { return _autotrackScreenViews } + set { + _autotrackScreenViews = newValue + if builderFinished && _autotrackScreenViews { + UIKitScreenViewTracking.setup() + } + } + } + private var _foregroundTimeout = TrackerDefaults.foregroundTimeout var foregroundTimeout: Int { @@ -292,7 +302,9 @@ class Tracker: NSObject { tracker: self) } - UIKitScreenViewTracking.setup() + if autotrackScreenViews { + UIKitScreenViewTracking.setup() + } NotificationCenter.default.addObserver( self, selector: #selector(receiveScreenViewNotification(_:)),