From 90e955216f263c1632c1739dc335c3880d960d05 Mon Sep 17 00:00:00 2001 From: Guillaume Hugues Date: Sat, 6 Feb 2021 09:50:19 +0100 Subject: [PATCH] Use single instance for Core Telephony network info --- ATInternetTracker/Sources/TechnicalContext.swift | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ATInternetTracker/Sources/TechnicalContext.swift b/ATInternetTracker/Sources/TechnicalContext.swift index a7a4670..e1ca68c 100644 --- a/ATInternetTracker/Sources/TechnicalContext.swift +++ b/ATInternetTracker/Sources/TechnicalContext.swift @@ -408,16 +408,19 @@ class TechnicalContext: NSObject { } } + #if os(iOS) && canImport(CoreTelephony) && !targetEnvironment(simulator) + private static let telephonyInfo = CTTelephonyNetworkInfo() + #endif + /// Carrier @objc class var carrier: String { get { #if os(iOS) && canImport(CoreTelephony) && !targetEnvironment(simulator) - let networkInfo = CTTelephonyNetworkInfo() var provider : CTCarrier? = nil if #available(iOS 12, *) { - provider = networkInfo.serviceSubscriberCellularProviders?.values.first + provider = telephonyInfo.serviceSubscriberCellularProviders?.values.first } else { - provider = networkInfo.subscriberCellularProvider + provider = telephonyInfo.subscriberCellularProvider } if let optProvider = provider { @@ -546,8 +549,7 @@ class TechnicalContext: NSObject { } else if(optReachability.currentReachabilityStatus == ATReachability.NetworkStatus.notReachable) { return ConnexionType.offline } else { - #if os(iOS) && canImport(CoreTelephony) - let telephonyInfo = CTTelephonyNetworkInfo() + #if os(iOS) && canImport(CoreTelephony) && !targetEnvironment(simulator) var radioType : String? = nil if #available(iOS 12, *) { radioType = telephonyInfo.serviceCurrentRadioAccessTechnology?.values.first