From 8699b889651441afc9bd7f29260f368ba2e9e49c Mon Sep 17 00:00:00 2001 From: ppuviarasu Date: Thu, 8 Oct 2020 16:08:26 -0400 Subject: [PATCH] fix for breaking xcode 11 in the latest release (#329) * fix for breaking xcode 11 in the latest release * fix unit tests --- Example/PrebidDemo/PrebidDemoSwift/AppDelegate.swift | 4 ++++ Source/RequestBuilder.swift | 7 +++++-- Tests/FetchingLogictests/RequestBuilderTests.swift | 10 ++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Example/PrebidDemo/PrebidDemoSwift/AppDelegate.swift b/Example/PrebidDemo/PrebidDemoSwift/AppDelegate.swift index 6a1f291b8..31dfbc479 100644 --- a/Example/PrebidDemo/PrebidDemoSwift/AppDelegate.swift +++ b/Example/PrebidDemo/PrebidDemoSwift/AppDelegate.swift @@ -18,7 +18,9 @@ import PrebidMobile import CoreLocation import GoogleMobileAds import MoPub +#if canImport(AppTrackingTransparency) import AppTrackingTransparency +#endif @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { @@ -49,10 +51,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate { coreLocation?.requestWhenInUseAuthorization() //requestIDFA() + #if canImport(AppTrackingTransparency) if #available(iOS 14, *) { ATTrackingManager.requestTrackingAuthorization(completionHandler: { status in }) } + #endif return true } diff --git a/Source/RequestBuilder.swift b/Source/RequestBuilder.swift index 7865c5b3f..ee25f01c5 100644 --- a/Source/RequestBuilder.swift +++ b/Source/RequestBuilder.swift @@ -18,8 +18,9 @@ import CoreTelephony import CoreLocation import WebKit import AdSupport +#if canImport(AppTrackingTransparency) import AppTrackingTransparency - +#endif class RequestBuilder: NSObject { /** * The class is created as a singleton object & used @@ -495,10 +496,12 @@ class RequestBuilder: NSObject { deviceExtPrebid["interstitial"] = deviceExtPrebidInstlDict deviceExt["prebid"] = deviceExtPrebid - + + #if canImport(AppTrackingTransparency) if #available(iOS 14, *) { deviceExt["atts"] = ATTrackingManager.trackingAuthorizationStatus.rawValue } + #endif return deviceExt } diff --git a/Tests/FetchingLogictests/RequestBuilderTests.swift b/Tests/FetchingLogictests/RequestBuilderTests.swift index bd5421ca2..34aef56a6 100644 --- a/Tests/FetchingLogictests/RequestBuilderTests.swift +++ b/Tests/FetchingLogictests/RequestBuilderTests.swift @@ -17,7 +17,9 @@ import XCTest import CoreTelephony import CoreLocation import AdSupport +#if canImport(AppTrackingTransparency) import AppTrackingTransparency +#endif import WebKit @testable import PrebidMobile @@ -1401,9 +1403,8 @@ class RequestBuilderTests: XCTestCase, CLLocationManagerDelegate { XCTAssertEqual(RequestBuilder.DeviceUUID(), ifa) let deviceExt = device["ext"] as? [String: Any] - + #if canImport(AppTrackingTransparency) if #available(iOS 14, *) { - let atts = deviceExt!["atts"] as! Int XCTAssertEqual(Int(ATTrackingManager.trackingAuthorizationStatus.rawValue), atts) } else { @@ -1411,6 +1412,11 @@ class RequestBuilderTests: XCTestCase, CLLocationManagerDelegate { let lmtAd: Bool = !ASIdentifierManager.shared().isAdvertisingTrackingEnabled XCTAssertEqual(NSNumber(value: lmtAd).intValue, device["lmt"] as! Int) } + #else + let lmtAd: Bool = !ASIdentifierManager.shared().isAdvertisingTrackingEnabled + XCTAssertEqual(NSNumber(value: lmtAd).intValue, device["lmt"] as! Int) + #endif + XCTAssertEqual(UIScreen.main.scale, device["pxratio"] as! CGFloat) }