diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Example/MUXSDKIMATVOSExample/AppDelegate.swift b/Example/MUXSDKIMATVOSExample/AppDelegate.swift new file mode 100644 index 0000000..2f0b82b --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/AppDelegate.swift @@ -0,0 +1,41 @@ +// +// AppDelegate.swift +// MUXSDKIMATVOSExample +// +// Created by AJ Barinov on 9/1/23. +// Copyright © 2023 Dylan Jhaveri. All rights reserved. +// + +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + +} + diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/AccentColor.colorset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..2e00335 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json new file mode 100644 index 0000000..de59d88 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ] +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..2e00335 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..2e00335 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,11 @@ +{ + "images" : [ + { + "idiom" : "tv" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..795cce1 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Back.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json new file mode 100644 index 0000000..de59d88 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Contents.json @@ -0,0 +1,17 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + }, + "layers" : [ + { + "filename" : "Front.imagestacklayer" + }, + { + "filename" : "Middle.imagestacklayer" + }, + { + "filename" : "Back.imagestacklayer" + } + ] +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..795cce1 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Front.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json new file mode 100644 index 0000000..795cce1 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon.imagestack/Middle.imagestacklayer/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json new file mode 100644 index 0000000..f47ba43 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json @@ -0,0 +1,32 @@ +{ + "assets" : [ + { + "filename" : "App Icon - App Store.imagestack", + "idiom" : "tv", + "role" : "primary-app-icon", + "size" : "1280x768" + }, + { + "filename" : "App Icon.imagestack", + "idiom" : "tv", + "role" : "primary-app-icon", + "size" : "400x240" + }, + { + "filename" : "Top Shelf Image Wide.imageset", + "idiom" : "tv", + "role" : "top-shelf-image-wide", + "size" : "2320x720" + }, + { + "filename" : "Top Shelf Image.imageset", + "idiom" : "tv", + "role" : "top-shelf-image", + "size" : "1920x720" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json new file mode 100644 index 0000000..795cce1 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json new file mode 100644 index 0000000..795cce1 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json @@ -0,0 +1,16 @@ +{ + "images" : [ + { + "idiom" : "tv", + "scale" : "1x" + }, + { + "idiom" : "tv", + "scale" : "2x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Assets.xcassets/Contents.json b/Example/MUXSDKIMATVOSExample/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Example/MUXSDKIMATVOSExample/Base.lproj/LaunchScreen.storyboard b/Example/MUXSDKIMATVOSExample/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..660ba53 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/MUXSDKIMATVOSExample/Base.lproj/Main.storyboard b/Example/MUXSDKIMATVOSExample/Base.lproj/Main.storyboard new file mode 100644 index 0000000..c277013 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/Base.lproj/Main.storyboard @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/MUXSDKIMATVOSExample/ProcessInfo+Data.swift b/Example/MUXSDKIMATVOSExample/ProcessInfo+Data.swift new file mode 100644 index 0000000..9a150b2 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/ProcessInfo+Data.swift @@ -0,0 +1,15 @@ +// +// ProcessInfo+Data.swift +// MUXSDKIMATVOSExample +// +// Created by AJ Barinov on 9/6/23. +// Copyright © 2023 Dylan Jhaveri. All rights reserved. +// + +import Foundation + +extension ProcessInfo { + var environmentKey: String { + environment["MUX_ENVIRONMENT_KEY"] ?? "" + } +} diff --git a/Example/MUXSDKIMATVOSExample/ViewController.swift b/Example/MUXSDKIMATVOSExample/ViewController.swift new file mode 100644 index 0000000..371fae1 --- /dev/null +++ b/Example/MUXSDKIMATVOSExample/ViewController.swift @@ -0,0 +1,185 @@ +// +// ViewController.swift +// MUXSDKIMATVOSExample +// + +import AVFoundation +import GoogleInteractiveMediaAds +import Mux_Stats_Google_IMA +import UIKit + +class ViewController: UIViewController, IMAAdsLoaderDelegate, IMAAdsManagerDelegate { + static let ContentURLString = + "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_fmp4/master.m3u8" //NOLINT + static let AdTagURLString = + "https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=" //NOLINT + + var adsLoader: IMAAdsLoader! + var adDisplayContainer: IMAAdDisplayContainer! + var adsManager: IMAAdsManager! + var contentPlayhead: IMAAVPlayerContentPlayhead? + var playerViewController: AVPlayerViewController! + var adBreakActive = false + var playerBinding: MUXSDKPlayerBinding? + var imaListener: MuxImaListener? + + deinit { + NotificationCenter.default.removeObserver(self) + } + + override func viewDidLoad() { + super.viewDidLoad() + self.view.backgroundColor = UIColor.black + setUpContentPlayer() + setUpAdsLoader() + } + + override func viewDidAppear(_ animated: Bool) { + super.viewDidAppear(animated) + requestAds() + } + + func setUpContentPlayer() { + // Load AVPlayer with path to our content. + let contentURL = URL(string: ViewController.ContentURLString)! + let player = AVPlayer(url: contentURL) + playerViewController = AVPlayerViewController() + playerViewController.player = player + + // Set up our content playhead and contentComplete callback. + contentPlayhead = IMAAVPlayerContentPlayhead(avPlayer: player) + NotificationCenter.default.addObserver( + self, + selector: #selector(ViewController.contentDidFinishPlaying(_:)), + name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, + object: player.currentItem) + + showContentPlayer() + } + + func showContentPlayer() { + self.addChild(playerViewController) + playerViewController.view.frame = self.view.bounds + self.view.insertSubview(playerViewController.view, at: 0) + playerViewController.didMove(toParent: self) + } + + func hideContentPlayer() { + // The whole controller needs to be detached so that it doesn't capture resume + // events from the remote and play content underneath the ad. + playerViewController.willMove(toParent: nil) + playerViewController.view.removeFromSuperview() + playerViewController.removeFromParent() + } + + func setUpAdsLoader() { + adsLoader = IMAAdsLoader(settings: nil) + adsLoader.delegate = self + } + + func requestAds() { + // Create ad display container for ad rendering. + adDisplayContainer = IMAAdDisplayContainer(adContainer: self.view, viewController: self) + // Create an ad request with our ad tag, display container, and optional user context. + let request = IMAAdsRequest( + adTagUrl: ViewController.AdTagURLString, + adDisplayContainer: adDisplayContainer, + contentPlayhead: contentPlayhead, + userContext: nil) + + adsLoader.requestAds(with: request) + } + + @objc func contentDidFinishPlaying(_ notification: Notification) { + adsLoader.contentComplete() + } + + // MARK: - UIFocusEnvironment + + override var preferredFocusEnvironments: [UIFocusEnvironment] { + if adBreakActive, let adFocusEnvironment = adDisplayContainer?.focusEnvironment { + // Send focus to the ad display container during an ad break. + return [adFocusEnvironment] + } else { + // Send focus to the content player otherwise. + return [playerViewController] + } + } + + // MARK: - IMAAdsLoaderDelegate + + func adsLoader(_ loader: IMAAdsLoader!, adsLoadedWith adsLoadedData: IMAAdsLoadedData!) { + // Grab the instance of the IMAAdsManager and set ourselves as the delegate. + adsManager = adsLoadedData.adsManager + adsManager.delegate = self + adsManager.initialize(with: nil) + } + + func adsLoader(_ loader: IMAAdsLoader!, failedWith adErrorData: IMAAdLoadingErrorData!) { + print("Error loading ads: \(adErrorData.adError.message)") + showContentPlayer() + playerViewController.player?.play() + } + + // MARK: - IMAAdsManagerDelegate + + func adsManager(_ adsManager: IMAAdsManager!, didReceive event: IMAAdEvent!) { + switch event.type { + case IMAAdEventType.LOADED: + // Play each ad once it has been loaded. + adsManager.start() + case IMAAdEventType.ICON_FALLBACK_IMAGE_CLOSED: + // Resume playback after the user has closed the dialog. + adsManager.resume() + default: + break + } + } + + func adsManager(_ adsManager: IMAAdsManager!, didReceive error: IMAAdError!) { + // Fall back to playing content + print("AdsManager error: \(error.message)") + showContentPlayer() + playerViewController.player?.play() + } + + func adsManagerDidRequestContentPause(_ adsManager: IMAAdsManager!) { + // Pause the content for the SDK to play ads. + playerViewController.player?.pause() + hideContentPlayer() + // Trigger an update to send focus to the ad display container. + adBreakActive = true + setNeedsFocusUpdate() + } + + func adsManagerDidRequestContentResume(_ adsManager: IMAAdsManager!) { + // Resume the content since the SDK is done playing ads (at least for now). + showContentPlayer() + playerViewController.player?.play() + // Trigger an update to send focus to the content player. + adBreakActive = false + setNeedsFocusUpdate() + } +} + +extension ViewController { + + var demoPlayerName: String { + "adplayer" + } + + func setUpMux(player: AVPlayer) { + // Basic Data + let envKey = ProcessInfo.processInfo.environmentKey + let customerPlayerData = MUXSDKCustomerPlayerData(environmentKey: envKey) + let customerVideoData = MUXSDKCustomerVideoData() + customerVideoData.videoTitle = "Mux Data IMA SDK Test" + let customerData = MUXSDKCustomerData(customerPlayerData: customerPlayerData, videoData: customerVideoData, viewData: nil, customData: nil)! + let playerBinding = MUXSDKStats.monitorAVPlayerViewController(playerViewController, withPlayerName: demoPlayerName, customerData: customerData)! + self.playerBinding = playerBinding + + // IMA Ads + imaListener = MuxImaListener(playerBinding: playerBinding) + } + +} diff --git a/Example/MUXSDKIMATVOSExampleTests/MUXSDKIMATVOSExampleTests.swift b/Example/MUXSDKIMATVOSExampleTests/MUXSDKIMATVOSExampleTests.swift new file mode 100644 index 0000000..b4627d5 --- /dev/null +++ b/Example/MUXSDKIMATVOSExampleTests/MUXSDKIMATVOSExampleTests.swift @@ -0,0 +1,37 @@ +// +// MUXSDKIMATVOSExampleTests.swift +// MUXSDKIMATVOSExampleTests +// +// Created by AJ Barinov on 9/1/23. +// Copyright © 2023 Dylan Jhaveri. All rights reserved. +// + +import XCTest +@testable import MUXSDKIMATVOSExample + +final class MUXSDKIMATVOSExampleTests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + // Any test you write for XCTest can be annotated as throws and async. + // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. + // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. + } + + func testPerformanceExample() throws { + // This is an example of a performance test case. + self.measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITests.swift b/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITests.swift new file mode 100644 index 0000000..dff5d97 --- /dev/null +++ b/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITests.swift @@ -0,0 +1,42 @@ +// +// MUXSDKIMATVOSExampleUITests.swift +// MUXSDKIMATVOSExampleUITests +// +// Created by AJ Barinov on 9/1/23. +// Copyright © 2023 Dylan Jhaveri. All rights reserved. +// + +import XCTest + +final class MUXSDKIMATVOSExampleUITests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // UI tests must launch the application that they test. + let app = XCUIApplication() + app.launch() + + // Use XCTAssert and related functions to verify your tests produce the correct results. + } + + func testLaunchPerformance() throws { + if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) { + // This measures how long it takes to launch your application. + measure(metrics: [XCTApplicationLaunchMetric()]) { + XCUIApplication().launch() + } + } + } +} diff --git a/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITestsLaunchTests.swift b/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITestsLaunchTests.swift new file mode 100644 index 0000000..3a4f8f2 --- /dev/null +++ b/Example/MUXSDKIMATVOSExampleUITests/MUXSDKIMATVOSExampleUITestsLaunchTests.swift @@ -0,0 +1,33 @@ +// +// MUXSDKIMATVOSExampleUITestsLaunchTests.swift +// MUXSDKIMATVOSExampleUITests +// +// Created by AJ Barinov on 9/1/23. +// Copyright © 2023 Dylan Jhaveri. All rights reserved. +// + +import XCTest + +final class MUXSDKIMATVOSExampleUITestsLaunchTests: XCTestCase { + + override class var runsForEachTargetApplicationUIConfiguration: Bool { + true + } + + override func setUpWithError() throws { + continueAfterFailure = false + } + + func testLaunch() throws { + let app = XCUIApplication() + app.launch() + + // Insert steps here to perform after app launch but before taking a screenshot, + // such as logging into a test account or navigating somewhere in the app + + let attachment = XCTAttachment(screenshot: app.screenshot()) + attachment.name = "Launch Screen" + attachment.lifetime = .keepAlways + add(attachment) + } +} diff --git a/Example/MUXSDKImaListener.xcodeproj/project.pbxproj b/Example/MUXSDKImaListener.xcodeproj/project.pbxproj index 0b18464..72989cd 100644 --- a/Example/MUXSDKImaListener.xcodeproj/project.pbxproj +++ b/Example/MUXSDKImaListener.xcodeproj/project.pbxproj @@ -7,7 +7,23 @@ objects = { /* Begin PBXBuildFile section */ - 2EB8A772BB334504B56FEEEA /* Pods_DemoApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D09D3E8D806CDFC71C5F74BB /* Pods_DemoApp.framework */; }; + 0C76C8046958ED533397724F /* Pods_DemoApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1517B123C19279FC01A3618B /* Pods_DemoApp.framework */; }; + 197727102AA278EF002BA06E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977270F2AA278EF002BA06E /* AppDelegate.swift */; }; + 197727122AA278EF002BA06E /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 197727112AA278EF002BA06E /* ViewController.swift */; }; + 197727152AA278EF002BA06E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 197727132AA278EF002BA06E /* Main.storyboard */; }; + 197727172AA278F0002BA06E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 197727162AA278F0002BA06E /* Assets.xcassets */; }; + 1977271A2AA278F0002BA06E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 197727182AA278F0002BA06E /* LaunchScreen.storyboard */; }; + 197727242AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 197727232AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift */; }; + 1977272E2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977272D2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift */; }; + 197727302AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977272F2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift */; }; + 197727432AA90A44002BA06E /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977273B2AA90A44002BA06E /* ViewController.swift */; }; + 197727442AA90A44002BA06E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1977273C2AA90A44002BA06E /* Assets.xcassets */; }; + 197727452AA90A44002BA06E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1977273D2AA90A44002BA06E /* LaunchScreen.storyboard */; }; + 197727462AA90A44002BA06E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1977273F2AA90A44002BA06E /* Main.storyboard */; }; + 197727472AA90A44002BA06E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 197727402AA90A44002BA06E /* AppDelegate.swift */; }; + 197727482AA90A44002BA06E /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 197727412AA90A44002BA06E /* Info.plist */; }; + 197727492AA90A44002BA06E /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 197727422AA90A44002BA06E /* SceneDelegate.swift */; }; + 1977274B2AA90A60002BA06E /* ProcessInfo+Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1977274A2AA90A60002BA06E /* ProcessInfo+Data.swift */; }; 351790AB293822A100ABBCC9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351790AA293822A100ABBCC9 /* AppDelegate.swift */; }; 351790AD293822A100ABBCC9 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351790AC293822A100ABBCC9 /* SceneDelegate.swift */; }; 351790AF293822A100ABBCC9 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351790AE293822A100ABBCC9 /* ViewController.swift */; }; @@ -19,11 +35,26 @@ 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; }; 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; }; 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; }; - 6B7D4A91F28543CC1BC0E262 /* Pods_MUXSDKImaListener_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 83C954B7F70759F3E0B8AF2F /* Pods_MUXSDKImaListener_Tests.framework */; }; + C46185AE8C337A6B5C3EE6A7 /* Pods_MUXSDKImaListener_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A550E92A5D6744EE3777FE90 /* Pods_MUXSDKImaListener_Tests.framework */; }; + D98CCBC2F1A09F625748EAFA /* Pods_MUXSDKIMATVOSExample.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D2E9E4860B25768A4D9DEFFD /* Pods_MUXSDKIMATVOSExample.framework */; }; FA0DE2BB232AF707000D2CD2 /* MuxImaListener_Test.m in Sources */ = {isa = PBXBuildFile; fileRef = FA0DE2BA232AF707000D2CD2 /* MuxImaListener_Test.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 197727202AA278F0002BA06E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1977270C2AA278EF002BA06E; + remoteInfo = MUXSDKIMATVOSExample; + }; + 1977272A2AA278F0002BA06E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6003F582195388D10070C39A /* Project object */; + proxyType = 1; + remoteGlobalIDString = 1977270C2AA278EF002BA06E; + remoteInfo = MUXSDKIMATVOSExample; + }; 351790BE293822A200ABBCC9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6003F582195388D10070C39A /* Project object */; @@ -41,6 +72,28 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 05003F81541AEB36E66885F8 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKImaListener_Tests.release.xcconfig"; path = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.release.xcconfig"; sourceTree = ""; }; + 1517B123C19279FC01A3618B /* Pods_DemoApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DemoApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 1977270D2AA278EF002BA06E /* MUXSDKIMATVOSExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MUXSDKIMATVOSExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1977270F2AA278EF002BA06E /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 197727112AA278EF002BA06E /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 197727142AA278EF002BA06E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 197727162AA278F0002BA06E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 197727192AA278F0002BA06E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 1977271F2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MUXSDKIMATVOSExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 197727232AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MUXSDKIMATVOSExampleTests.swift; sourceTree = ""; }; + 197727292AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MUXSDKIMATVOSExampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 1977272D2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MUXSDKIMATVOSExampleUITests.swift; sourceTree = ""; }; + 1977272F2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MUXSDKIMATVOSExampleUITestsLaunchTests.swift; sourceTree = ""; }; + 1977273B2AA90A44002BA06E /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 1977273C2AA90A44002BA06E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 1977273E2AA90A44002BA06E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 1977273F2AA90A44002BA06E /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + 197727402AA90A44002BA06E /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 197727412AA90A44002BA06E /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 197727422AA90A44002BA06E /* SceneDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + 1977274A2AA90A60002BA06E /* ProcessInfo+Data.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "ProcessInfo+Data.swift"; sourceTree = ""; }; + 1FE0B0FF920B554E87D7A8CC /* Pods-MUXSDKIMATVOSExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKIMATVOSExample.debug.xcconfig"; path = "Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.debug.xcconfig"; sourceTree = ""; }; 351790A8293822A000ABBCC9 /* DemoApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DemoApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 351790AA293822A100ABBCC9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 351790AC293822A100ABBCC9 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -52,6 +105,8 @@ 351790C7293822A200ABBCC9 /* DemoAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DemoAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 351790CB293822A200ABBCC9 /* DemoAppUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DemoAppUITests.swift; sourceTree = ""; }; 351790D82939012600ABBCC9 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + 36798F22E9BA1DC2230B4E96 /* Pods-DemoApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DemoApp.debug.xcconfig"; path = "Target Support Files/Pods-DemoApp/Pods-DemoApp.debug.xcconfig"; sourceTree = ""; }; + 3FCFF241547AAF95D4744777 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKImaListener_Tests.debug.xcconfig"; path = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.debug.xcconfig"; sourceTree = ""; }; 43EC73AD1AC164365E352A1C /* Mux-Stats-Google-IMA.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = "Mux-Stats-Google-IMA.podspec"; path = "../Mux-Stats-Google-IMA.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; @@ -61,23 +116,43 @@ 6003F5B7195388D20070C39A /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; }; 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; }; - 83C954B7F70759F3E0B8AF2F /* Pods_MUXSDKImaListener_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MUXSDKImaListener_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9725EFBE4ACC79D7A44618A9 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKImaListener_Tests.debug.xcconfig"; path = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.debug.xcconfig"; sourceTree = ""; }; + 6D8EB7663E20D581B6F63A7F /* Pods-MUXSDKIMATVOSExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKIMATVOSExample.release.xcconfig"; path = "Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.release.xcconfig"; sourceTree = ""; }; + A550E92A5D6744EE3777FE90 /* Pods_MUXSDKImaListener_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MUXSDKImaListener_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; ADF4605B56F017F8453719DF /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; }; - CF75D88C650A9DE0EA1CCD59 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MUXSDKImaListener_Tests.release.xcconfig"; path = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.release.xcconfig"; sourceTree = ""; }; - D09D3E8D806CDFC71C5F74BB /* Pods_DemoApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DemoApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CC8F8A2EBF4933D05DBDA71A /* Pods-DemoApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DemoApp.release.xcconfig"; path = "Target Support Files/Pods-DemoApp/Pods-DemoApp.release.xcconfig"; sourceTree = ""; }; + D2E9E4860B25768A4D9DEFFD /* Pods_MUXSDKIMATVOSExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MUXSDKIMATVOSExample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; DA374CB46C9E95D16EA14492 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; - F7A376C31E8BB5ACBFCB2AC3 /* Pods-DemoApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DemoApp.release.xcconfig"; path = "Target Support Files/Pods-DemoApp/Pods-DemoApp.release.xcconfig"; sourceTree = ""; }; FA0DE2BA232AF707000D2CD2 /* MuxImaListener_Test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MuxImaListener_Test.m; sourceTree = ""; }; - FD641F8B32195A6E7574949E /* Pods-DemoApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DemoApp.debug.xcconfig"; path = "Target Support Files/Pods-DemoApp/Pods-DemoApp.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 1977270A2AA278EF002BA06E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D98CCBC2F1A09F625748EAFA /* Pods_MUXSDKIMATVOSExample.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1977271C2AA278F0002BA06E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 197727262AA278F0002BA06E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 351790A5293822A000ABBCC9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2EB8A772BB334504B56FEEEA /* Pods_DemoApp.framework in Frameworks */, + 0C76C8046958ED533397724F /* Pods_DemoApp.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -102,19 +177,64 @@ 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */, 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */, 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */, - 6B7D4A91F28543CC1BC0E262 /* Pods_MUXSDKImaListener_Tests.framework in Frameworks */, + C46185AE8C337A6B5C3EE6A7 /* Pods_MUXSDKImaListener_Tests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 1977270E2AA278EF002BA06E /* MUXSDKIMATVOSExample */ = { + isa = PBXGroup; + children = ( + 1977270F2AA278EF002BA06E /* AppDelegate.swift */, + 197727112AA278EF002BA06E /* ViewController.swift */, + 1977274A2AA90A60002BA06E /* ProcessInfo+Data.swift */, + 197727132AA278EF002BA06E /* Main.storyboard */, + 197727162AA278F0002BA06E /* Assets.xcassets */, + 197727182AA278F0002BA06E /* LaunchScreen.storyboard */, + ); + path = MUXSDKIMATVOSExample; + sourceTree = ""; + }; + 197727222AA278F0002BA06E /* MUXSDKIMATVOSExampleTests */ = { + isa = PBXGroup; + children = ( + 197727232AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift */, + ); + path = MUXSDKIMATVOSExampleTests; + sourceTree = ""; + }; + 1977272C2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests */ = { + isa = PBXGroup; + children = ( + 1977272D2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift */, + 1977272F2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift */, + ); + path = MUXSDKIMATVOSExampleUITests; + sourceTree = ""; + }; + 1977273A2AA90A44002BA06E /* DemoApp */ = { + isa = PBXGroup; + children = ( + 1977273B2AA90A44002BA06E /* ViewController.swift */, + 1977273C2AA90A44002BA06E /* Assets.xcassets */, + 1977273D2AA90A44002BA06E /* LaunchScreen.storyboard */, + 1977273F2AA90A44002BA06E /* Main.storyboard */, + 197727402AA90A44002BA06E /* AppDelegate.swift */, + 197727412AA90A44002BA06E /* Info.plist */, + 197727422AA90A44002BA06E /* SceneDelegate.swift */, + ); + name = DemoApp; + sourceTree = ""; + }; 351790A9293822A100ABBCC9 /* DemoApp */ = { isa = PBXGroup; children = ( 351790AA293822A100ABBCC9 /* AppDelegate.swift */, 351790AC293822A100ABBCC9 /* SceneDelegate.swift */, 351790AE293822A100ABBCC9 /* ViewController.swift */, + 1977273A2AA90A44002BA06E /* DemoApp */, 351790D82939012600ABBCC9 /* Main.storyboard */, 351790B3293822A200ABBCC9 /* Assets.xcassets */, 351790B5293822A200ABBCC9 /* LaunchScreen.storyboard */, @@ -138,6 +258,9 @@ 6003F5B5195388D20070C39A /* Tests */, 351790A9293822A100ABBCC9 /* DemoApp */, 351790CA293822A200ABBCC9 /* DemoAppUITests */, + 1977270E2AA278EF002BA06E /* MUXSDKIMATVOSExample */, + 197727222AA278F0002BA06E /* MUXSDKIMATVOSExampleTests */, + 1977272C2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests */, 6003F58C195388D20070C39A /* Frameworks */, 6003F58B195388D20070C39A /* Products */, C0B2674DF2815E5727535C40 /* Pods */, @@ -151,6 +274,9 @@ 351790A8293822A000ABBCC9 /* DemoApp.app */, 351790BD293822A200ABBCC9 /* DemoAppTests.xctest */, 351790C7293822A200ABBCC9 /* DemoAppUITests.xctest */, + 1977270D2AA278EF002BA06E /* MUXSDKIMATVOSExample.app */, + 1977271F2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.xctest */, + 197727292AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.xctest */, ); name = Products; sourceTree = ""; @@ -162,8 +288,9 @@ 6003F58F195388D20070C39A /* CoreGraphics.framework */, 6003F591195388D20070C39A /* UIKit.framework */, 6003F5AF195388D20070C39A /* XCTest.framework */, - D09D3E8D806CDFC71C5F74BB /* Pods_DemoApp.framework */, - 83C954B7F70759F3E0B8AF2F /* Pods_MUXSDKImaListener_Tests.framework */, + 1517B123C19279FC01A3618B /* Pods_DemoApp.framework */, + D2E9E4860B25768A4D9DEFFD /* Pods_MUXSDKIMATVOSExample.framework */, + A550E92A5D6744EE3777FE90 /* Pods_MUXSDKImaListener_Tests.framework */, ); name = Frameworks; sourceTree = ""; @@ -200,10 +327,12 @@ C0B2674DF2815E5727535C40 /* Pods */ = { isa = PBXGroup; children = ( - FD641F8B32195A6E7574949E /* Pods-DemoApp.debug.xcconfig */, - F7A376C31E8BB5ACBFCB2AC3 /* Pods-DemoApp.release.xcconfig */, - 9725EFBE4ACC79D7A44618A9 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */, - CF75D88C650A9DE0EA1CCD59 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */, + 36798F22E9BA1DC2230B4E96 /* Pods-DemoApp.debug.xcconfig */, + CC8F8A2EBF4933D05DBDA71A /* Pods-DemoApp.release.xcconfig */, + 1FE0B0FF920B554E87D7A8CC /* Pods-MUXSDKIMATVOSExample.debug.xcconfig */, + 6D8EB7663E20D581B6F63A7F /* Pods-MUXSDKIMATVOSExample.release.xcconfig */, + 3FCFF241547AAF95D4744777 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */, + 05003F81541AEB36E66885F8 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -211,15 +340,70 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + 1977270C2AA278EF002BA06E /* MUXSDKIMATVOSExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = 197727372AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExample" */; + buildPhases = ( + B79EED639328F4A8618E75D2 /* [CP] Check Pods Manifest.lock */, + 197727092AA278EF002BA06E /* Sources */, + 1977270A2AA278EF002BA06E /* Frameworks */, + 1977270B2AA278EF002BA06E /* Resources */, + 0B762E3C3CF4A8487047E798 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MUXSDKIMATVOSExample; + productName = MUXSDKIMATVOSExample; + productReference = 1977270D2AA278EF002BA06E /* MUXSDKIMATVOSExample.app */; + productType = "com.apple.product-type.application"; + }; + 1977271E2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 197727382AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExampleTests" */; + buildPhases = ( + 1977271B2AA278F0002BA06E /* Sources */, + 1977271C2AA278F0002BA06E /* Frameworks */, + 1977271D2AA278F0002BA06E /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 197727212AA278F0002BA06E /* PBXTargetDependency */, + ); + name = MUXSDKIMATVOSExampleTests; + productName = MUXSDKIMATVOSExampleTests; + productReference = 1977271F2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 197727282AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 197727392AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExampleUITests" */; + buildPhases = ( + 197727252AA278F0002BA06E /* Sources */, + 197727262AA278F0002BA06E /* Frameworks */, + 197727272AA278F0002BA06E /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 1977272B2AA278F0002BA06E /* PBXTargetDependency */, + ); + name = MUXSDKIMATVOSExampleUITests; + productName = MUXSDKIMATVOSExampleUITests; + productReference = 197727292AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; 351790A7293822A000ABBCC9 /* DemoApp */ = { isa = PBXNativeTarget; buildConfigurationList = 351790D5293822A200ABBCC9 /* Build configuration list for PBXNativeTarget "DemoApp" */; buildPhases = ( - D2E8CCD3681911BB8DEBB97E /* [CP] Check Pods Manifest.lock */, + 58E7B6833E8CCE6418C0DAAF /* [CP] Check Pods Manifest.lock */, 351790A4293822A000ABBCC9 /* Sources */, 351790A5293822A000ABBCC9 /* Frameworks */, 351790A6293822A000ABBCC9 /* Resources */, - 167DC1AFBAB11E25049EEC3C /* [CP] Embed Pods Frameworks */, + FA77FB19D0AD4044F938F332 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -270,11 +454,11 @@ isa = PBXNativeTarget; buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "MUXSDKImaListener_Tests" */; buildPhases = ( - B2370BDBECD26884AF8441AE /* [CP] Check Pods Manifest.lock */, + 47F63792A432C270058B7AD5 /* [CP] Check Pods Manifest.lock */, 6003F5AA195388D20070C39A /* Sources */, 6003F5AB195388D20070C39A /* Frameworks */, 6003F5AC195388D20070C39A /* Resources */, - F2D087925B1A3796FFECD821 /* [CP] Embed Pods Frameworks */, + 725B1EDF9D687F462A19339C /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -292,10 +476,27 @@ isa = PBXProject; attributes = { CLASSPREFIX = MUX; - LastSwiftUpdateCheck = 1410; + LastSwiftUpdateCheck = 1430; LastUpgradeCheck = 0720; ORGANIZATIONNAME = "Dylan Jhaveri"; TargetAttributes = { + 1977270C2AA278EF002BA06E = { + CreatedOnToolsVersion = 14.3.1; + DevelopmentTeam = XX95P4Y787; + ProvisioningStyle = Automatic; + }; + 1977271E2AA278F0002BA06E = { + CreatedOnToolsVersion = 14.3.1; + DevelopmentTeam = XX95P4Y787; + ProvisioningStyle = Automatic; + TestTargetID = 1977270C2AA278EF002BA06E; + }; + 197727282AA278F0002BA06E = { + CreatedOnToolsVersion = 14.3.1; + DevelopmentTeam = XX95P4Y787; + ProvisioningStyle = Automatic; + TestTargetID = 1977270C2AA278EF002BA06E; + }; 351790A7293822A000ABBCC9 = { CreatedOnToolsVersion = 14.1; DevelopmentTeam = CX6AHWLHM6; @@ -333,18 +534,49 @@ 351790A7293822A000ABBCC9 /* DemoApp */, 351790BC293822A200ABBCC9 /* DemoAppTests */, 351790C6293822A200ABBCC9 /* DemoAppUITests */, + 1977270C2AA278EF002BA06E /* MUXSDKIMATVOSExample */, + 1977271E2AA278F0002BA06E /* MUXSDKIMATVOSExampleTests */, + 197727282AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 1977270B2AA278EF002BA06E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1977271A2AA278F0002BA06E /* LaunchScreen.storyboard in Resources */, + 197727172AA278F0002BA06E /* Assets.xcassets in Resources */, + 197727152AA278EF002BA06E /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1977271D2AA278F0002BA06E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 197727272AA278F0002BA06E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 351790A6293822A000ABBCC9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 351790B7293822A200ABBCC9 /* LaunchScreen.storyboard in Resources */, 351790B4293822A200ABBCC9 /* Assets.xcassets in Resources */, + 197727442AA90A44002BA06E /* Assets.xcassets in Resources */, + 197727462AA90A44002BA06E /* Main.storyboard in Resources */, + 197727452AA90A44002BA06E /* LaunchScreen.storyboard in Resources */, 351790D92939012600ABBCC9 /* Main.storyboard in Resources */, + 197727482AA90A44002BA06E /* Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -373,31 +605,31 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 167DC1AFBAB11E25049EEC3C /* [CP] Embed Pods Frameworks */ = { + 0B762E3C3CF4A8487047E798 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds", + "${PODS_ROOT}/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-tvOS/Mux_Stats_Google_IMA.framework", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer/MUXSDKStats.framework/MUXSDKStats", "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework/MuxCore", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mux_Stats_Google_IMA.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MUXSDKStats.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MuxCore.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - B2370BDBECD26884AF8441AE /* [CP] Check Pods Manifest.lock */ = { + 47F63792A432C270058B7AD5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -419,7 +651,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - D2E8CCD3681911BB8DEBB97E /* [CP] Check Pods Manifest.lock */ = { + 58E7B6833E8CCE6418C0DAAF /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -441,14 +673,14 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F2D087925B1A3796FFECD821 /* [CP] Embed Pods Frameworks */ = { + 725B1EDF9D687F462A19339C /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework", + "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework", "${BUILT_PRODUCTS_DIR}/Expecta/Expecta.framework", "${BUILT_PRODUCTS_DIR}/Specta/Specta.framework", "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds", @@ -469,16 +701,92 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; + B79EED639328F4A8618E75D2 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-MUXSDKIMATVOSExample-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + FA77FB19D0AD4044F938F332 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer/MUXSDKStats.framework/MUXSDKStats", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework/MuxCore", + ); + name = "[CP] Embed Pods Frameworks"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mux_Stats_Google_IMA.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleInteractiveMediaAds.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MUXSDKStats.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MuxCore.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 197727092AA278EF002BA06E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1977274B2AA90A60002BA06E /* ProcessInfo+Data.swift in Sources */, + 197727122AA278EF002BA06E /* ViewController.swift in Sources */, + 197727102AA278EF002BA06E /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1977271B2AA278F0002BA06E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 197727242AA278F0002BA06E /* MUXSDKIMATVOSExampleTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 197727252AA278F0002BA06E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1977272E2AA278F0002BA06E /* MUXSDKIMATVOSExampleUITests.swift in Sources */, + 197727302AA278F0002BA06E /* MUXSDKIMATVOSExampleUITestsLaunchTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 351790A4293822A000ABBCC9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 351790AF293822A100ABBCC9 /* ViewController.swift in Sources */, 351790AB293822A100ABBCC9 /* AppDelegate.swift in Sources */, + 197727432AA90A44002BA06E /* ViewController.swift in Sources */, + 197727472AA90A44002BA06E /* AppDelegate.swift in Sources */, 351790AD293822A100ABBCC9 /* SceneDelegate.swift in Sources */, + 197727492AA90A44002BA06E /* SceneDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -508,6 +816,16 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 197727212AA278F0002BA06E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 1977270C2AA278EF002BA06E /* MUXSDKIMATVOSExample */; + targetProxy = 197727202AA278F0002BA06E /* PBXContainerItemProxy */; + }; + 1977272B2AA278F0002BA06E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 1977270C2AA278EF002BA06E /* MUXSDKIMATVOSExample */; + targetProxy = 1977272A2AA278F0002BA06E /* PBXContainerItemProxy */; + }; 351790BF293822A200ABBCC9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 351790A7293822A000ABBCC9 /* DemoApp */; @@ -521,6 +839,30 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ + 197727132AA278EF002BA06E /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 197727142AA278EF002BA06E /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 197727182AA278F0002BA06E /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 197727192AA278F0002BA06E /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; + 1977273D2AA90A44002BA06E /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 1977273E2AA90A44002BA06E /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; 351790B5293822A200ABBCC9 /* LaunchScreen.storyboard */ = { isa = PBXVariantGroup; children = ( @@ -540,9 +882,297 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 197727312AA278F0002BA06E /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1FE0B0FF920B554E87D7A8CC /* Pods-MUXSDKIMATVOSExample.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = XX95P4Y787; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UIUserInterfaceStyle = Automatic; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 16.4; + }; + name = Debug; + }; + 197727322AA278F0002BA06E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6D8EB7663E20D581B6F63A7F /* Pods-MUXSDKIMATVOSExample.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = XX95P4Y787; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UIUserInterfaceStyle = Automatic; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 16.4; + }; + name = Release; + }; + 197727332AA278F0002BA06E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = XX95P4Y787; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExampleTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MUXSDKIMATVOSExample.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MUXSDKIMATVOSExample"; + TVOS_DEPLOYMENT_TARGET = 16.4; + }; + name = Debug; + }; + 197727342AA278F0002BA06E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = XX95P4Y787; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExampleTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MUXSDKIMATVOSExample.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/MUXSDKIMATVOSExample"; + TVOS_DEPLOYMENT_TARGET = 16.4; + }; + name = Release; + }; + 197727352AA278F0002BA06E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = XX95P4Y787; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExampleUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_TARGET_NAME = MUXSDKIMATVOSExample; + TVOS_DEPLOYMENT_TARGET = 16.4; + }; + name = Debug; + }; + 197727362AA278F0002BA06E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = XX95P4Y787; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.mux.THEOplayer.example.MUXSDKIMATVOSExampleUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = appletvos; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_TARGET_NAME = MUXSDKIMATVOSExample; + TVOS_DEPLOYMENT_TARGET = 16.4; + }; + name = Release; + }; 351790CF293822A200ABBCC9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FD641F8B32195A6E7574949E /* Pods-DemoApp.debug.xcconfig */; + baseConfigurationReference = 36798F22E9BA1DC2230B4E96 /* Pods-DemoApp.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -595,7 +1225,7 @@ }; 351790D0293822A200ABBCC9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F7A376C31E8BB5ACBFCB2AC3 /* Pods-DemoApp.release.xcconfig */; + baseConfigurationReference = CC8F8A2EBF4933D05DBDA71A /* Pods-DemoApp.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -905,7 +1535,7 @@ }; 6003F5C3195388D20070C39A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9725EFBE4ACC79D7A44618A9 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */; + baseConfigurationReference = 3FCFF241547AAF95D4744777 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */; buildSettings = { FRAMEWORK_SEARCH_PATHS = ( "$(PLATFORM_DIR)/Developer/Library/Frameworks", @@ -929,7 +1559,7 @@ }; 6003F5C4195388D20070C39A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CF75D88C650A9DE0EA1CCD59 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */; + baseConfigurationReference = 05003F81541AEB36E66885F8 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */; buildSettings = { FRAMEWORK_SEARCH_PATHS = ( "$(PLATFORM_DIR)/Developer/Library/Frameworks", @@ -950,6 +1580,33 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 197727372AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 197727312AA278F0002BA06E /* Debug */, + 197727322AA278F0002BA06E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 197727382AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExampleTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 197727332AA278F0002BA06E /* Debug */, + 197727342AA278F0002BA06E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 197727392AA278F0002BA06E /* Build configuration list for PBXNativeTarget "MUXSDKIMATVOSExampleUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 197727352AA278F0002BA06E /* Debug */, + 197727362AA278F0002BA06E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 351790D5293822A200ABBCC9 /* Build configuration list for PBXNativeTarget "DemoApp" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/Example/MUXSDKImaListener.xcodeproj/xcshareddata/xcschemes/DemoApp.xcscheme b/Example/MUXSDKImaListener.xcodeproj/xcshareddata/xcschemes/DemoApp.xcscheme index 9635866..f376ec0 100644 --- a/Example/MUXSDKImaListener.xcodeproj/xcshareddata/xcschemes/DemoApp.xcscheme +++ b/Example/MUXSDKImaListener.xcodeproj/xcshareddata/xcschemes/DemoApp.xcscheme @@ -39,6 +39,17 @@ ReferencedContainer = "container:MUXSDKImaListener.xcodeproj"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Podfile b/Example/Podfile index f6a31ad..9d28463 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -1,13 +1,18 @@ use_frameworks! -platform :ios, '12.0' - target 'DemoApp' do + platform :ios, '12.0' + pod 'Mux-Stats-Google-IMA', :path => '../' +end + +target 'MUXSDKIMATVOSExample' do + platform :tvos, '12.0' pod 'Mux-Stats-Google-IMA', :path => '../' end target 'MUXSDKImaListener_Tests' do + platform :ios, '12.0' pod 'Mux-Stats-Google-IMA', :path => '../' pod 'Specta' - pod 'Expecta' + pod 'Expecta' end diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 0d693eb..8076f3b 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,9 +1,10 @@ PODS: - Expecta (1.0.6) - - GoogleAds-IMA-iOS-SDK (3.18.4) - - Mux-Stats-AVPlayer (3.2.1): - - Mux-Stats-Core (~> 4.4) - - Mux-Stats-Core (4.4.2) + - GoogleAds-IMA-iOS-SDK (3.19.2) + - GoogleAds-IMA-tvOS-SDK (4.9.1) + - Mux-Stats-AVPlayer (3.3.1): + - Mux-Stats-Core (~> 4.5.2) + - Mux-Stats-Core (4.5.2) - Mux-Stats-Google-IMA (0.10.1): - GoogleAds-IMA-iOS-SDK (~> 3.16) - GoogleAds-IMA-tvOS-SDK (~> 4.6) @@ -19,6 +20,7 @@ SPEC REPOS: trunk: - Expecta - GoogleAds-IMA-iOS-SDK + - GoogleAds-IMA-tvOS-SDK - Mux-Stats-AVPlayer - Mux-Stats-Core - Specta @@ -29,12 +31,13 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 - GoogleAds-IMA-iOS-SDK: b01284e3bf3d64ba948de6692ffda531452c3713 - Mux-Stats-AVPlayer: f89f946203e70c3a54e605a4b2b31ba425ff3cd2 - Mux-Stats-Core: d06b1470457f287c4b3aad3b06f9a6c173dfe38f + GoogleAds-IMA-iOS-SDK: 0e817c05ab26f1b9285c80f4a75e1350a916d50b + GoogleAds-IMA-tvOS-SDK: 85e799c35051454693492480ef7e4ae2e701a05f + Mux-Stats-AVPlayer: 033434ccaffc9698d5566ce3563ac1d02bcbd0de + Mux-Stats-Core: b747ca415f883e2b2d9475d8cc0ac3079167bf6b Mux-Stats-Google-IMA: d6941b70486335c357c0eb1ff507b9cd0510b546 Specta: b79d84043684b35ffdc2680df578dc318ec2efc2 -PODFILE CHECKSUM: 6cf074c8bb2225699ab98a04d6df8f0ed4b6e0cd +PODFILE CHECKSUM: ae70318821eb6e6195da9a12462b0ac5965fbe28 -COCOAPODS: 1.12.0 +COCOAPODS: 1.12.1 diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist index 185164b..77775a7 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist @@ -6,13 +6,12 @@ LibraryIdentifier - ios-arm64_armv7 + ios-arm64 LibraryPath GoogleInteractiveMediaAds.framework SupportedArchitectures arm64 - armv7 SupportedPlatform ios diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds new file mode 100755 index 0000000..04420e3 Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds differ diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h similarity index 95% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h index 9ebe490..717afe0 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h @@ -29,3 +29,4 @@ #import "IMAVersion.h" #import "IMAVideoDisplay.h" #import "IMAVideoStitcherLiveStreamRequest.h" +#import "IMAVideoStitcherVODStreamRequest.h" diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h similarity index 93% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h index 932ae23..c912bf5 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h @@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN * provide content tracking if your content player of choice is an AVPlayer * or its subclass. */ -@interface IMAAVPlayerContentPlayhead : NSObject +@interface IMAAVPlayerContentPlayhead : NSObject /** * The player to track. diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h similarity index 98% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h index 76d3afa..b3384a7 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h @@ -35,7 +35,7 @@ extern NSString *const kIMASubtitleTTML; /** * A callback protocol for IMAAVPlayerVideoDisplayDelegate. */ -@protocol IMAAVPlayerVideoDisplayDelegate +@protocol IMAAVPlayerVideoDisplayDelegate @optional diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h similarity index 96% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h index 25eb896..6d9e640 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h @@ -16,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Possible error types while loading or playing ads. */ -typedef NS_ENUM(NSInteger, IMAErrorType){ +typedef NS_ENUM(NSInteger, IMAErrorType) { /** * An unexpected error occurred while loading or playing the ads. * This may mean that the SDK wasn't loaded properly. @@ -37,7 +37,7 @@ typedef NS_ENUM(NSInteger, IMAErrorType){ /** * Possible error codes raised while loading or playing ads. */ -typedef NS_ENUM(NSInteger, IMAErrorCode){ +typedef NS_ENUM(NSInteger, IMAErrorCode) { /** * The ad response was not recognized as a valid VAST ad. */ @@ -107,7 +107,8 @@ typedef NS_ENUM(NSInteger, IMAErrorCode){ */ kIMAError_ADSLOT_NOT_VISIBLE = 1008, /** - * Empty VAST response. + * A VAST response containing a single <VAST> tag with no + * child tags. */ kIMAError_VAST_EMPTY_RESPONSE = 1009, /** diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h similarity index 98% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h index 8df68aa..22de21d 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h @@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Different event types sent by the IMAAdsManager to its delegate. */ -typedef NS_ENUM(NSInteger, IMAAdEventType){ +typedef NS_ENUM(NSInteger, IMAAdEventType) { /** * Ad break ready. */ diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h similarity index 95% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h index 936e6ab..d7feab1 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h @@ -13,7 +13,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Groups various properties of the ad player. */ -@protocol IMAAdPlaybackInfo +@protocol IMAAdPlaybackInfo /** * The current media time of the ad, or 0 if no ad loaded. diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h similarity index 99% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h index 79e7ec7..0ebc318 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h @@ -44,7 +44,6 @@ NS_ASSUME_NONNULL_BEGIN @end - #pragma mark - IMAAdLoadingErrorData /** diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h similarity index 99% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h index b8b70eb..535f61d 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h @@ -88,7 +88,6 @@ extern const NSInteger kIMAAutodetectBitrate; */ @property(nonatomic) NSTimeInterval loadVideoTimeout; - /** * For VMAP and ad rules playlists, only play ad breaks scheduled after this time (in seconds). * This setting is strictly after the specified time. For example, setting playAdsAfterTime to diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h similarity index 99% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h index 369cb4e..7a9e4cc 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h @@ -60,7 +60,6 @@ NS_ASSUME_NONNULL_BEGIN */ @property(nonatomic) BOOL adWillPlayMuted; - /** * Specifies whether the player intends to continuously play the content videos one after * another similar to TV broadcast. Not calling this function leaves the setting as unknown. diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h similarity index 98% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h index e0ee41c..baaddbb 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h @@ -24,7 +24,7 @@ extern const NSInteger kIMAFluidSize; /** * Delegate to receive events from the companion ad slot. */ -@protocol IMACompanionDelegate +@protocol IMACompanionDelegate @optional diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h similarity index 82% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h index b973e76..868b803 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h @@ -19,7 +19,12 @@ typedef NS_ENUM(NSUInteger, IMAFriendlyObstructionPurpose) { /** The purpose for registering the obstruction as friendly. */ @property(nonatomic, readonly) IMAFriendlyObstructionPurpose purpose; -/** Optional, detailed reasoning for registering this obstruction as friendly. */ +/** + * Optional, detailed reasoning for registering this obstruction as friendly. + * If the detailedReason is not null, it must follow the IAB + * standard by being 50 characters or less and only containing characters + * A-z, 0-9, or spaces. + */ @property(nonatomic, readonly, nullable) NSString *detailedReason; /** diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h similarity index 93% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h index de6836e..d4453e9 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h @@ -26,8 +26,8 @@ NS_ASSUME_NONNULL_BEGIN * Picture in Picture for more details. */ #if TARGET_OS_IOS || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 140000) -@interface IMAPictureInPictureProxy : NSProxy +@interface IMAPictureInPictureProxy + : NSProxy #else @interface IMAPictureInPictureProxy : NSObject #endif diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h similarity index 92% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h index 20d0339..49c75f1 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h @@ -7,7 +7,6 @@ * customized by the publisher during ad playback. */ - #import NS_ASSUME_NONNULL_BEGIN @@ -17,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Different UI elements that can be customized. */ -typedef NS_ENUM(NSInteger, IMAUiElementType){ +typedef NS_ENUM(NSInteger, IMAUiElementType) { /** * Ad attribution UI element. */ diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h similarity index 92% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h index d02f285..ce2c952 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h @@ -5,7 +5,7 @@ NS_ASSUME_NONNULL_BEGIN @interface IMAVersion : NSObject /** Major version. */ @property(nonatomic) NSInteger majorVersion; -/** Minor version. */\ +/** Minor version. */ @property(nonatomic) NSInteger minorVersion; /** Patch version. */ @property(nonatomic) NSInteger patchVersion; diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h similarity index 99% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h index 2305311..735b621 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h @@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Delegate object that receives state change callbacks from IMAVideoDisplay. */ -@protocol IMAVideoDisplayDelegate +@protocol IMAVideoDisplayDelegate /** * Informs the SDK that the ad has loaded. diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h new file mode 100755 index 0000000..4ae345c --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h @@ -0,0 +1,95 @@ +#import "IMAPictureInPictureProxy.h" +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** + * Data object describing a stream request for a Google video stitcher video on demand serving + * stream. + */ +@interface IMAVideoStitcherVODStreamRequest : IMAStreamRequest + +/** The adTagURL for the stream. */ +@property(nonatomic, readonly) NSString *adTagURL; + +/** The URL of the content source for the stream. */ +@property(nonatomic, readonly) NSString *contentSourceURL; + +/** The networkCode associate with the stream. */ +@property(nonatomic, readonly) NSString *networkCode; + +/** The OAuth Token for the stream. */ +@property(nonatomic, readonly) NSString *OAuthToken; + +/** The project number for the stream. */ +@property(nonatomic, readonly) NSString *projectNumber; + +/** The region for the stream. */ +@property(nonatomic, readonly) NSString *region; + +/** + * Initializes a stream request instance with the given network code, content source url, ad tag + * url, project number, region, and OAuth token. Uses the given ad display container to display the + * stream. + * + * @param adTagURL The adTagURL for the stream. + * @param contentSourceURL The contentSourceURL for the stream. + * @param networkCode The networkCode for the stream. + * @param OAuthToken The OAuth token for the stream. + * @param projectNumber The projectNumber for the stream. + * @param region The region for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherVODStreamRequest instance. + */ +- (instancetype)initWithAdTagURL:(NSString *)adTagURL + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + contentSourceURL:(NSString *)contentSourceURL + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; +/** + * Initializes a stream request instance with the given network code, content source url, ad tag + * url, project number, region, and OAuth token. Uses the given ad display container to display the + * stream. Uses the picture in picture proxy to track PIP events. + * + * @param adTagURL The adTagURL code for the stream. + * @param contentSourceURL The contentSourceURL code for the stream. + * @param networkCode The networkCode for the stream. + * @param OAuthToken The OAuth Token for the stream. + * @param projectNumber The projectNumber for the stream. + * @param region The region for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherVODStreamRequest instance. + */ +- (instancetype)initWithAdTagURL:(NSString *)adTagURL + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + contentSourceURL:(NSString *)contentSourceURL + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Info.plist b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Info.plist similarity index 53% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Info.plist rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Info.plist index 8ab311b..b19d814 100755 Binary files a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Info.plist and b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Info.plist differ diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Modules/module.modulemap b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/Modules/module.modulemap rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/README.txt b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/README.txt similarity index 100% rename from Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/README.txt rename to Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/README.txt diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/VERSION b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/VERSION new file mode 100755 index 0000000..a8346d5 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64/GoogleInteractiveMediaAds.framework/VERSION @@ -0,0 +1 @@ +3.19.2 diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds deleted file mode 100755 index c02e32c..0000000 Binary files a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds and /dev/null differ diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/VERSION b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/VERSION deleted file mode 100755 index f2fef8b..0000000 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7/GoogleInteractiveMediaAds.framework/VERSION +++ /dev/null @@ -1 +0,0 @@ -3.18.4 diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds index 17c2d2c..c936054 100755 Binary files a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds and b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds differ diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h index 9ebe490..717afe0 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h @@ -29,3 +29,4 @@ #import "IMAVersion.h" #import "IMAVideoDisplay.h" #import "IMAVideoStitcherLiveStreamRequest.h" +#import "IMAVideoStitcherVODStreamRequest.h" diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h index 932ae23..c912bf5 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h @@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN * provide content tracking if your content player of choice is an AVPlayer * or its subclass. */ -@interface IMAAVPlayerContentPlayhead : NSObject +@interface IMAAVPlayerContentPlayhead : NSObject /** * The player to track. diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h index 76d3afa..b3384a7 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h @@ -35,7 +35,7 @@ extern NSString *const kIMASubtitleTTML; /** * A callback protocol for IMAAVPlayerVideoDisplayDelegate. */ -@protocol IMAAVPlayerVideoDisplayDelegate +@protocol IMAAVPlayerVideoDisplayDelegate @optional diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h index 25eb896..6d9e640 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h @@ -16,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Possible error types while loading or playing ads. */ -typedef NS_ENUM(NSInteger, IMAErrorType){ +typedef NS_ENUM(NSInteger, IMAErrorType) { /** * An unexpected error occurred while loading or playing the ads. * This may mean that the SDK wasn't loaded properly. @@ -37,7 +37,7 @@ typedef NS_ENUM(NSInteger, IMAErrorType){ /** * Possible error codes raised while loading or playing ads. */ -typedef NS_ENUM(NSInteger, IMAErrorCode){ +typedef NS_ENUM(NSInteger, IMAErrorCode) { /** * The ad response was not recognized as a valid VAST ad. */ @@ -107,7 +107,8 @@ typedef NS_ENUM(NSInteger, IMAErrorCode){ */ kIMAError_ADSLOT_NOT_VISIBLE = 1008, /** - * Empty VAST response. + * A VAST response containing a single <VAST> tag with no + * child tags. */ kIMAError_VAST_EMPTY_RESPONSE = 1009, /** diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h index 8df68aa..22de21d 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h @@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Different event types sent by the IMAAdsManager to its delegate. */ -typedef NS_ENUM(NSInteger, IMAAdEventType){ +typedef NS_ENUM(NSInteger, IMAAdEventType) { /** * Ad break ready. */ diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h index 936e6ab..d7feab1 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h @@ -13,7 +13,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Groups various properties of the ad player. */ -@protocol IMAAdPlaybackInfo +@protocol IMAAdPlaybackInfo /** * The current media time of the ad, or 0 if no ad loaded. diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h index 79e7ec7..0ebc318 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h @@ -44,7 +44,6 @@ NS_ASSUME_NONNULL_BEGIN @end - #pragma mark - IMAAdLoadingErrorData /** diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h index b8b70eb..535f61d 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h @@ -88,7 +88,6 @@ extern const NSInteger kIMAAutodetectBitrate; */ @property(nonatomic) NSTimeInterval loadVideoTimeout; - /** * For VMAP and ad rules playlists, only play ad breaks scheduled after this time (in seconds). * This setting is strictly after the specified time. For example, setting playAdsAfterTime to diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h index 369cb4e..7a9e4cc 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h @@ -60,7 +60,6 @@ NS_ASSUME_NONNULL_BEGIN */ @property(nonatomic) BOOL adWillPlayMuted; - /** * Specifies whether the player intends to continuously play the content videos one after * another similar to TV broadcast. Not calling this function leaves the setting as unknown. diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h index e0ee41c..baaddbb 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h @@ -24,7 +24,7 @@ extern const NSInteger kIMAFluidSize; /** * Delegate to receive events from the companion ad slot. */ -@protocol IMACompanionDelegate +@protocol IMACompanionDelegate @optional diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h index b973e76..868b803 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h @@ -19,7 +19,12 @@ typedef NS_ENUM(NSUInteger, IMAFriendlyObstructionPurpose) { /** The purpose for registering the obstruction as friendly. */ @property(nonatomic, readonly) IMAFriendlyObstructionPurpose purpose; -/** Optional, detailed reasoning for registering this obstruction as friendly. */ +/** + * Optional, detailed reasoning for registering this obstruction as friendly. + * If the detailedReason is not null, it must follow the IAB + * standard by being 50 characters or less and only containing characters + * A-z, 0-9, or spaces. + */ @property(nonatomic, readonly, nullable) NSString *detailedReason; /** diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h index de6836e..d4453e9 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h @@ -26,8 +26,8 @@ NS_ASSUME_NONNULL_BEGIN * Picture in Picture for more details. */ #if TARGET_OS_IOS || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 140000) -@interface IMAPictureInPictureProxy : NSProxy +@interface IMAPictureInPictureProxy + : NSProxy #else @interface IMAPictureInPictureProxy : NSObject #endif diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h index 20d0339..49c75f1 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h @@ -7,7 +7,6 @@ * customized by the publisher during ad playback. */ - #import NS_ASSUME_NONNULL_BEGIN @@ -17,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Different UI elements that can be customized. */ -typedef NS_ENUM(NSInteger, IMAUiElementType){ +typedef NS_ENUM(NSInteger, IMAUiElementType) { /** * Ad attribution UI element. */ diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h index d02f285..ce2c952 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h @@ -5,7 +5,7 @@ NS_ASSUME_NONNULL_BEGIN @interface IMAVersion : NSObject /** Major version. */ @property(nonatomic) NSInteger majorVersion; -/** Minor version. */\ +/** Minor version. */ @property(nonatomic) NSInteger minorVersion; /** Patch version. */ @property(nonatomic) NSInteger patchVersion; diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h index 2305311..735b621 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h @@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN /** * Delegate object that receives state change callbacks from IMAVideoDisplay. */ -@protocol IMAVideoDisplayDelegate +@protocol IMAVideoDisplayDelegate /** * Informs the SDK that the ad has loaded. diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h new file mode 100755 index 0000000..4ae345c --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h @@ -0,0 +1,95 @@ +#import "IMAPictureInPictureProxy.h" +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** + * Data object describing a stream request for a Google video stitcher video on demand serving + * stream. + */ +@interface IMAVideoStitcherVODStreamRequest : IMAStreamRequest + +/** The adTagURL for the stream. */ +@property(nonatomic, readonly) NSString *adTagURL; + +/** The URL of the content source for the stream. */ +@property(nonatomic, readonly) NSString *contentSourceURL; + +/** The networkCode associate with the stream. */ +@property(nonatomic, readonly) NSString *networkCode; + +/** The OAuth Token for the stream. */ +@property(nonatomic, readonly) NSString *OAuthToken; + +/** The project number for the stream. */ +@property(nonatomic, readonly) NSString *projectNumber; + +/** The region for the stream. */ +@property(nonatomic, readonly) NSString *region; + +/** + * Initializes a stream request instance with the given network code, content source url, ad tag + * url, project number, region, and OAuth token. Uses the given ad display container to display the + * stream. + * + * @param adTagURL The adTagURL for the stream. + * @param contentSourceURL The contentSourceURL for the stream. + * @param networkCode The networkCode for the stream. + * @param OAuthToken The OAuth token for the stream. + * @param projectNumber The projectNumber for the stream. + * @param region The region for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherVODStreamRequest instance. + */ +- (instancetype)initWithAdTagURL:(NSString *)adTagURL + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + contentSourceURL:(NSString *)contentSourceURL + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; +/** + * Initializes a stream request instance with the given network code, content source url, ad tag + * url, project number, region, and OAuth token. Uses the given ad display container to display the + * stream. Uses the picture in picture proxy to track PIP events. + * + * @param adTagURL The adTagURL code for the stream. + * @param contentSourceURL The contentSourceURL code for the stream. + * @param networkCode The networkCode for the stream. + * @param OAuthToken The OAuth Token for the stream. + * @param projectNumber The projectNumber for the stream. + * @param region The region for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherVODStreamRequest instance. + */ +- (instancetype)initWithAdTagURL:(NSString *)adTagURL + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + contentSourceURL:(NSString *)contentSourceURL + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist index 8ab311b..b19d814 100755 Binary files a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist and b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist differ diff --git a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION index f2fef8b..a8346d5 100755 --- a/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION +++ b/Example/Pods/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION @@ -1 +1 @@ -3.18.4 +3.19.2 diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist new file mode 100755 index 0000000..8c32439 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/Info.plist @@ -0,0 +1,40 @@ + + + + + AvailableLibraries + + + LibraryIdentifier + tvos-arm64 + LibraryPath + GoogleInteractiveMediaAds.framework + SupportedArchitectures + + arm64 + + SupportedPlatform + tvos + + + LibraryIdentifier + tvos-arm64_x86_64-simulator + LibraryPath + GoogleInteractiveMediaAds.framework + SupportedArchitectures + + arm64 + x86_64 + + SupportedPlatform + tvos + SupportedPlatformVariant + simulator + + + CFBundlePackageType + XFWK + XCFrameworkFormatVersion + 1.0 + + diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Assets.car b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Assets.car new file mode 100755 index 0000000..ed5f6a4 Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Assets.car differ diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds new file mode 100755 index 0000000..bc02275 Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds differ diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h new file mode 100755 index 0000000..717afe0 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h @@ -0,0 +1,32 @@ +#import "IMAAVPlayerContentPlayhead.h" +#import "IMAAVPlayerVideoDisplay.h" +#import "IMAAd.h" +#import "IMAAdDisplayContainer.h" +#import "IMAAdError.h" +#import "IMAAdEvent.h" +#import "IMAAdPlaybackInfo.h" +#import "IMAAdPodInfo.h" +#import "IMAAdsLoader.h" +#import "IMAAdsManager.h" +#import "IMAAdsRenderingSettings.h" +#import "IMAAdsRequest.h" +#import "IMACompanionAd.h" +#import "IMACompanionAdSlot.h" +#import "IMAContentPlayhead.h" +#import "IMACuepoint.h" +#import "IMAFriendlyObstruction.h" +#import "IMALiveStreamRequest.h" +#import "IMAPictureInPictureProxy.h" +#import "IMAPodStreamRequest.h" +#import "IMASecureSignals.h" +#import "IMASecureSignalsAdapter.h" +#import "IMASettings.h" +#import "IMAStreamManager.h" +#import "IMAStreamRequest.h" +#import "IMAUiElements.h" +#import "IMAUniversalAdID.h" +#import "IMAVODStreamRequest.h" +#import "IMAVersion.h" +#import "IMAVideoDisplay.h" +#import "IMAVideoStitcherLiveStreamRequest.h" +#import "IMAVideoStitcherVODStreamRequest.h" diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h new file mode 100755 index 0000000..c912bf5 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h @@ -0,0 +1,45 @@ +// +// IMAAVPlayerContentPlayhead.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares IMAAVPlayerContentPlayhead, a wrapper for tracking AVPlayer-based +// video players. + +#import + +#import "IMAContentPlayhead.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * An implementation of IMAContentPlayhead for AVPlayer. Use this class to + * provide content tracking if your content player of choice is an AVPlayer + * or its subclass. + */ +@interface IMAAVPlayerContentPlayhead : NSObject + +/** + * The player to track. + */ +@property(nonatomic, readonly) AVPlayer *player; + +/** + * Initializes a IMAAVPlayerContentPlayhead that tracks a player. It will attach a periodic time + * observer to the player immediately. + * + * @param player the AVPlayer to track. + * + * @return the IMAAVPlayerContentPlayhead instance + */ +- (instancetype)initWithAVPlayer:(AVPlayer *)player; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h new file mode 100755 index 0000000..b3384a7 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h @@ -0,0 +1,96 @@ +// +// IMAAVPlayerVideoDisplay.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares an object that reuses an AVPlayer for both content and ad playback + +#import + +#import "IMAVideoDisplay.h" + +NS_ASSUME_NONNULL_BEGIN + +@class AVPlayer; +@class AVPlayerItem; +@class AVURLAsset; +@class IMAAVPlayerVideoDisplay; + +/** + * The key for subtitle language. + */ +extern NSString *const kIMASubtitleLanguage; + +/** + * The key for the WebVTT sidecar subtitle URL. + */ +extern NSString *const kIMASubtitleWebVTT; + +/** + * The key for the TTML sidecar subtitle URL. + */ +extern NSString *const kIMASubtitleTTML; + +/** + * A callback protocol for IMAAVPlayerVideoDisplayDelegate. + */ +@protocol IMAAVPlayerVideoDisplayDelegate + +@optional + +/** + * Called when the IMAAVPlayerVideoDisplay will load a stream for playback. Allows the publisher to + * register the AVURLAsset for Fairplay content protection before playback starts. + * + * @param playerVideoDisplay the IMAVPlayerVideoDisplay that will load the AVURLAsset. + * @param URLAsset the AVURLAsset representing the stream to be loaded. + */ +- (void)playerVideoDisplay:(IMAAVPlayerVideoDisplay *)playerVideoDisplay + willLoadStreamAsset:(AVURLAsset *)URLAsset; + +/** + * Called when the IMAAVPlayerVideoDisplay has at least partially loaded media for + * playback and the player item is loaded. Only called for dynamic ad insertion. + */ +- (void)playerVideoDisplay:(IMAAVPlayerVideoDisplay *)playerVideoDisplay + didLoadPlayerItem:(AVPlayerItem *)playerItem; + +@end + +/** + * An implementation of the IMAVideoDisplay protocol. This object is intended + * to be initialized with the content player, and will reuse the player for + * playing ads. + */ +@interface IMAAVPlayerVideoDisplay : NSObject + +/** + * Allows the publisher to receive IMAAVPlayerVideoDisplay specific events. + */ +@property(nonatomic, weak, nullable) id playerVideoDisplayDelegate; + +/** + * The subtitles for the current stream. Will be nil until the stream starts playing. + */ +@property(nonatomic, readonly, nullable) NSArray *subtitles; + +/** + * A dictionary that contains options used to customize the initialization of an @c AVURLAsset for + * stream playback. Has no effect on client-side ads. + */ +@property(nonatomic, copy, nullable) NSDictionary *streamAssetOptions; + +/** + * Creates an IMAAVPlayerVideoDisplay that will play ads in the passed in + * content player. + * + * @param player the AVPlayer instance used for playing content + * + * @return an IMAAVPlayerVideoDisplay instance + */ +- (instancetype)initWithAVPlayer:(AVPlayer *)player; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h new file mode 100755 index 0000000..b88823e --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h @@ -0,0 +1,197 @@ +// +// IMAAd.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Represents metadata of a single ad. The user can use this metadata for +// positioning nonlinear ads (isLinear, width, height), internal tracking +// (adId, adTitle) or custom behavior (traffickingParameters). + +#import + +#import "IMAAdPodInfo.h" +#import "IMACompanionAd.h" +#import "IMAUniversalAdID.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Data object representing a single ad. + */ +@interface IMAAd : NSObject + +/** + * The ad ID as specified in the VAST response. + */ +@property(nonatomic, copy, readonly) NSString *adId; + +/** + * The ad title from the VAST response. + */ +@property(nonatomic, copy, readonly) NSString *adTitle; + +/** + * The ad description. + */ +@property(nonatomic, copy, readonly) NSString *adDescription; + +/** + * The source ad server information included in the ad response. + */ +@property(nonatomic, copy, readonly) NSString *adSystem; + +/** The companion ads specified in the VAST response when using DAI. Empty for client-side ads. */ +@property(nonatomic, copy, readonly) NSArray *companionAds; + +/** + * Content type of the currently selected creative. For linear creatives + * returns the content type of the currently selected media file. Returns + * empty string if no creative or media file is selected on this ad. + */ +@property(nonatomic, copy, readonly) NSString *contentType; + +/** + * The duration of the ad from the VAST response. + */ +@property(nonatomic, readonly) NSTimeInterval duration; + +/** + * The UI elements that will be displayed during ad + * playback. + */ + +@property(nonatomic, copy, readonly) NSArray *uiElements; + +/** + * Whether or not the ad UI will be disabled for this ad. + * :nodoc: + */ +@property(nonatomic, readonly, getter=isUiDisabled) BOOL uiDisabled; + +/** + * The width of the ad asset. For non-linear ads, this is the actual width + * of the ad representation. For linear ads, since they scale seamlessly, we + * currently return 0 for width. + */ +@property(nonatomic, readonly) NSInteger width; + +/** + * The height of the ad asset. For non-linear ads, this is the actual height + * of the ad representation. For linear ads, since they scale seamlessly, we + * currently return 0 for height. + */ +@property(nonatomic, readonly) NSInteger height; + +/** + * The width of the selected creative as specified in the VAST response. + */ +@property(nonatomic, readonly) NSInteger VASTMediaWidth; + +/** + * The height of the selected creative as specified in the VAST response. + */ +@property(nonatomic, readonly) NSInteger VASTMediaHeight; + +/** + * The bitrate of the selected creative as specified in the VAST response. + */ +@property(nonatomic, readonly) NSInteger VASTMediaBitrate; + +/** + * Specifies whether the ad is linear or non-linear. + */ +@property(nonatomic, readonly, getter=isLinear) BOOL linear; + +/** + * Specifies whether the ad is skippable. + */ +@property(nonatomic, readonly, getter=isSkippable) BOOL skippable; + +/** + * The number of seconds of playback before the ad becomes skippable. -1 is returned for non + * skippable ads or if this is unavailable. + */ +@property(nonatomic, readonly) NSTimeInterval skipTimeOffset; + +/** + * Set of ad podding properties. + */ +@property(nonatomic, readonly) IMAAdPodInfo *adPodInfo; + +/** + * String representing custom trafficking parameters from the VAST response. + */ +@property(nonatomic, copy, readonly) NSString *traffickingParameters; + +/** + * Returns the ID of the selected creative for the ad. + */ +@property(nonatomic, copy, readonly) NSString *creativeID; + +/** + * Returns the ISCI (Industry Standard Commercial Identifier) code for an ad. This + * is the Ad-ID of the selected creative in the VAST response. + */ +@property(nonatomic, copy, readonly) NSString *creativeAdID; + +/** + * The list of all UniversalAdIds of the selected creative for this ad. Returns an empty array if + * no universal ad IDs are found. + */ +@property(nonatomic, copy, readonly) NSArray *universalAdIDs; + +/** + * The UniversalAdId of the selected creative for the ad. Returns the id value or "unknown" + * if unavailable. + */ +@property(nonatomic, copy, readonly) + NSString *universalAdIdValue DEPRECATED_MSG_ATTRIBUTE("Use universalAdIDs instead."); + +/** + * The registry associated with cataloging the UniversalAdId of the selected creative for the ad. + * Returns the registry value, or "unknown" if unavailable. + */ +@property(nonatomic, copy, readonly) + NSString *universalAdIdRegistry DEPRECATED_MSG_ATTRIBUTE("Use universalAdIDs instead."); + +/** + * The advertiser name as defined by the serving party. + */ +@property(nonatomic, copy, readonly) NSString *advertiserName; + +/** + * Returns the URL associated with the survey for the given ad. + */ +@property(nonatomic, copy, readonly, nullable) NSString *surveyURL; + +/** + * Returns the first deal ID present in the wrapper chain for the current ad, + * starting from the top. + */ +@property(nonatomic, copy, readonly) NSString *dealID; + +/** + * The IDs of the ads, starting with the first wrapper ad. + */ +@property(nonatomic, copy, readonly) NSArray *wrapperAdIDs; + +/** + * The IDs of the ads' creatives, starting with the first wrapper ad. + */ +@property(nonatomic, copy, readonly) NSArray *wrapperCreativeIDs; + +/** + * Ad systems used for wrapper ads. The ad systems returned begin with the + * first wrapper ad and continue to each wrapper ad recursively. + */ +@property(nonatomic, copy, readonly) NSArray *wrapperSystems; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h new file mode 100755 index 0000000..cf6125b --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h @@ -0,0 +1,97 @@ +// +// IMAAdDisplayContainer.h +// GoogleIMA3 +// +// Copyright (c) 2014 Google Inc. All rights reserved. +// +// Declares the IMAAdDisplayContainer interface that manages the views, +// ad slots, and displays used for ad playback. + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class IMACompanionAdSlot; +@class IMAFriendlyObstruction; + +/** + * The IMAAdDisplayContainer is responsible for managing the ad container view and companion ad + * slots used for ad playback. + */ +@interface IMAAdDisplayContainer : NSObject + +/** + * View containing the video display and ad related UI. This view must be present in the view + * hierarchy in order to make ad or stream requests. + */ +@property(nonatomic, readonly) UIView *adContainer; + +/** + * View controller containing the ad container. Used to present ad UI in child view controllers. It + * must be non-nil in order to make ad or stream requests, and it must be in the view hierarchy + * before ad playback. + */ +@property(nonatomic, weak, nullable) UIViewController *adContainerViewController; + +/** The environment to focus on during an ad break. Nil if there is not currently an ad break. */ +@property(nonatomic, readonly, nullable) id focusEnvironment; + +/** List of companion ad slots. Can be nil or empty. */ +@property(nonatomic, readonly, nullable) NSArray *companionSlots; + +/** + * Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI without any + * companion slots. + * + * @param adContainer The view where the ad will be rendered. Fills the view's bounds. + * @param adContainerViewController The view controller containing the ad container. If not provided + * here, must be set on the property before making an ads or stream request. + * + * @return A new IMAAdDisplayContainer instance + */ +- (instancetype)initWithAdContainer:(UIView *)adContainer + viewController:(nullable UIViewController *)adContainerViewController; + +/** + * Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI. + * + * @param adContainer The view where the ad will be rendered. Fills the view's bounds. + * @param adContainerViewController The view controller containing the ad container. If not provided + * here, must be set on the property before making an ads or stream request. + * @param companionSlots The array of IMACompanionAdSlots. Can be nil or empty. + * + * @return A new IMAAdDisplayContainer instance + */ +- (instancetype)initWithAdContainer:(UIView *)adContainer + viewController:(nullable UIViewController *)adContainerViewController + companionSlots:(nullable NSArray *)companionSlots; + +/** :nodoc: */ +- (instancetype)init NS_UNAVAILABLE; + +/** + * Registers a view that overlays or obstructs this container as "friendly" for viewability + * measurement purposes. + * + * See Open Measurement + * in the IMA SDK for guidance on what is and what is not allowed to be registered. + * + * @param friendlyObstruction An obstruction to be marked as "friendly" until unregistered. + */ +- (void)registerFriendlyObstruction:(IMAFriendlyObstruction *)friendlyObstruction; + +/** Unregisters all previously registered friendly obstructions. */ +- (void)unregisterAllFriendlyObstructions; + +/** :nodoc: */ +- (void)registerVideoControlsOverlay:(UIView *)videoControlsOverlay + DEPRECATED_MSG_ATTRIBUTE("Use registerFriendlyObstruction: instead."); + +/** :nodoc: */ +- (void)unregisterAllVideoControlsOverlays DEPRECATED_MSG_ATTRIBUTE( + "Use unregisterAllFriendlyObstructions: instead."); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h new file mode 100755 index 0000000..6d9e640 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h @@ -0,0 +1,179 @@ +/*! \file IMAAdError.h + * GoogleIMA3 + * + * Copyright (c) 2013 Google Inc. All rights reserved. + * + * This file provides error codes that are raised by the SDK and + * declares the IMAAdError class. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark IMAErrorType + +/** + * Possible error types while loading or playing ads. + */ +typedef NS_ENUM(NSInteger, IMAErrorType) { + /** + * An unexpected error occurred while loading or playing the ads. + * This may mean that the SDK wasn't loaded properly. + */ + kIMAAdUnknownErrorType, + /** + * An error occurred while loading the ads. + */ + kIMAAdLoadingFailed, + /** + * An error occurred while playing the ads. + */ + kIMAAdPlayingFailed, +}; + +#pragma mark - IMAErrorCode + +/** + * Possible error codes raised while loading or playing ads. + */ +typedef NS_ENUM(NSInteger, IMAErrorCode) { + /** + * The ad response was not recognized as a valid VAST ad. + */ + kIMAError_VAST_MALFORMED_RESPONSE = 100, + /** + * Trafficking error. Video player received an ad type that it was not expecting and/or cannot + * display. + */ + kIMAError_VAST_TRAFFICKING_ERROR = 200, + /** + * The VAST URI provided, or a VAST URI provided in a subsequent Wrapper + * element, was either unavailable or reached a timeout, as defined by the + * video player. The timeout is 8 seconds for initial VAST requests and 4 + * seconds for each subsequent Wrapper. + */ + kIMAError_VAST_LOAD_TIMEOUT = 301, + /** + * The maximum number of VAST wrapper redirects has been reached. + */ + kIMAError_VAST_TOO_MANY_REDIRECTS = 302, + /** + * At least one VAST wrapper loaded and a subsequent wrapper or inline ad + * load has resulted in a 404 response code. + */ + kIMAError_VAST_INVALID_URL = 303, + /** + * There was an error playing the video ad. + */ + kIMAError_VIDEO_PLAY_ERROR = 400, + /** + * Failed to load media assets from a VAST response. + * The default timeout for media loading is 8 seconds. + */ + kIMAError_VAST_MEDIA_LOAD_TIMEOUT = 402, + /** + * Assets were found in the VAST ad response for linear ad, but none of them + * matched the video player's capabilities. + */ + kIMAError_VAST_LINEAR_ASSET_MISMATCH = 403, + /** + * A companion ad failed to load or render. + */ + kIMAError_COMPANION_AD_LOADING_FAILED = 603, + /** + * An unexpected error occurred and the cause is not known. Refer to the + * inner error for more information. + */ + kIMAError_UNKNOWN_ERROR = 900, + /** + * Ads list response was malformed. + */ + kIMAError_PLAYLIST_MALFORMED_RESPONSE = 1004, + /** + * There was a problem requesting ads from the server. + */ + kIMAError_FAILED_TO_REQUEST_ADS = 1005, + /** + * Listener for at least one of the required vast events was not added. + */ + kIMAError_REQUIRED_LISTENERS_NOT_ADDED = 1006, + /** + * No assets were found in the VAST ad response. + */ + kIMAError_VAST_ASSET_NOT_FOUND = 1007, + /** + * The ad slot is not visible on the page. + */ + kIMAError_ADSLOT_NOT_VISIBLE = 1008, + /** + * A VAST response containing a single <VAST> tag with no + * child tags. + */ + kIMAError_VAST_EMPTY_RESPONSE = 1009, + /** + * There was an error loading the ad. + */ + kIMAError_FAILED_LOADING_AD = 1010, + /** + * There was an error initializing the stream. + */ + kIMAError_STREAM_INITIALIZATION_FAILED = 1020, + /** + * Invalid arguments were provided to SDK methods. + */ + kIMAError_INVALID_ARGUMENTS = 1101, + /** + * Generic invalid usage of the API. + */ + kIMAError_API_ERROR = 1102, + /** + * The version of the runtime is too old. + */ + kIMAError_OS_RUNTIME_TOO_OLD = 1103, + /** + * Another VideoAdsManager is still using the video. It must be unloaded + * before another ad can play on the same element. + */ + kIMAError_VIDEO_ELEMENT_USED = 1201, + /** + * A video element was not specified where it was required. + */ + kIMAError_VIDEO_ELEMENT_REQUIRED = 1202, + /** + * Content playhead was not passed in, but list of ads has been returned + * from the server. + */ + kIMAError_CONTENT_PLAYHEAD_MISSING = 1205, +}; + +#pragma mark - IMAAdError + +/** + * Surfaces an error that occurred during ad loading or playing. + */ +@interface IMAAdError : NSObject + +/** + * The type of error that occurred during ad loading or ad playing. + */ +@property(nonatomic, readonly) IMAErrorType type; + +/** + * The error code for obtaining more specific information about the error. + */ +@property(nonatomic, readonly) IMAErrorCode code; + +/** + * A brief description about the error. + */ +@property(nonatomic, copy, readonly, nullable) NSString *message; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h new file mode 100755 index 0000000..22de21d --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h @@ -0,0 +1,175 @@ +/*! \file IMAAdEvent.h + * GoogleIMA3 + * + * Copyright (c) 2013 Google Inc. All rights reserved. + * + * Defines a data object used to convey information during ad playback. + * This object is sent to the IMAAdsManager delegate. + */ + +#import + +#import "IMAAd.h" + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark IMAAdEventType + +/** + * Different event types sent by the IMAAdsManager to its delegate. + */ +typedef NS_ENUM(NSInteger, IMAAdEventType) { + /** + * Ad break ready. + */ + kIMAAdEvent_AD_BREAK_READY, + /** + * Ad break will not play back any ads. + */ + kIMAAdEvent_AD_BREAK_FETCH_ERROR, + /** + * Fired the first time each ad break ends. Applications must reenable seeking + * when this occurs (only used for dynamic ad insertion). + */ + kIMAAdEvent_AD_BREAK_ENDED, + /** + * Fired first time each ad break begins playback. If an ad break is watched + * subsequent times this will not be fired. Applications must disable seeking + * when this occurs (only used for dynamic ad insertion). + */ + kIMAAdEvent_AD_BREAK_STARTED, + /** + * Fired every time the stream switches from advertising or slate to content. + * This will be fired even when an ad is played a second time or when seeking + * into an ad (only used for dynamic ad insertion). + */ + kIMAAdEvent_AD_PERIOD_ENDED, + /** + * Fired every time the stream switches from content to advertising or slate. + * This will be fired even when an ad is played a second time or when seeking + * into an ad (only used for dynamic ad insertion). + */ + kIMAAdEvent_AD_PERIOD_STARTED, + /** + * All valid ads managed by the ads manager have completed or the ad response + * did not return any valid ads. + */ + kIMAAdEvent_ALL_ADS_COMPLETED, + /** + * Ad clicked. + */ + kIMAAdEvent_CLICKED, + /** + * Single ad has finished. + */ + kIMAAdEvent_COMPLETE, + /** + * Cuepoints changed for VOD stream (only used for dynamic ad insertion). + * For this event, the IMAAdEvent.adData property contains a list of + * IMACuepoints at IMAAdEvent.adData[@"cuepoints"]. + */ + kIMAAdEvent_CUEPOINTS_CHANGED, + /** + * The user has closed the icon fallback image dialog. This may be a good time to resume ad + * playback, which the SDK autopaused on icon tap. This event only fires for tvOS. + */ + kIMAAdEvent_ICON_FALLBACK_IMAGE_CLOSED, + /** + * The user has tapped an ad icon. On iOS, the SDK will navigate to the landing page. On tvOS, the + * SDK will present a modal dialog containing the VAST icon fallback image. + */ + kIMAAdEvent_ICON_TAPPED, + /** + * First quartile of a linear ad was reached. + */ + kIMAAdEvent_FIRST_QUARTILE, + /** + * An ad was loaded. + */ + kIMAAdEvent_LOADED, + /** + * A log event for the ads being played. These are typically non fatal errors. + */ + kIMAAdEvent_LOG, + /** + * Midpoint of a linear ad was reached. + */ + kIMAAdEvent_MIDPOINT, + /** + * Ad paused. + */ + kIMAAdEvent_PAUSE, + /** + * Ad resumed. + */ + kIMAAdEvent_RESUME, + /** + * Ad has skipped. + */ + kIMAAdEvent_SKIPPED, + /** + * Ad has started. + */ + kIMAAdEvent_STARTED, + /** + * Stream request has loaded (only used for dynamic ad insertion). + */ + kIMAAdEvent_STREAM_LOADED, + /** + * Stream has started playing (only used for dynamic ad insertion). Start + * Picture-in-Picture here if applicable. + */ + kIMAAdEvent_STREAM_STARTED, + /** + * Ad tapped. + */ + kIMAAdEvent_TAPPED, + /** + * Third quartile of a linear ad was reached. + */ + kIMAAdEvent_THIRD_QUARTILE +}; + +#pragma mark - Ad Data Keys + +/** + * The key for the time in seconds when the AD_BREAK_READY event fired. + */ +extern NSString *const kIMAAdBreakTime; + +#pragma mark - IMAAdEvent + +/** + * Simple data class used to transport ad playback information. + */ +@interface IMAAdEvent : NSObject + +/** + * Type of the event. + */ +@property(nonatomic, readonly) IMAAdEventType type; + +/** + * Stringified type of the event. + */ +@property(nonatomic, copy, readonly) NSString *typeString; + +/** + * The current ad that is playing or just played. This will be nil except for + * events where an ad is available (start, quartiles, midpoint, complete, and tap). + */ +@property(nonatomic, readonly, nullable) IMAAd *ad; + +/** + * Extra data about the ad. + */ +@property(nonatomic, copy, readonly, nullable) NSDictionary *adData; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h new file mode 100755 index 0000000..d7feab1 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h @@ -0,0 +1,40 @@ +// +// IMAAdPlaybackInfo.h +// GoogleIMA3 +// +// Copyright (c) 2014 Google Inc. All rights reserved. +// +// Defines a protocol for providing ad playback information. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Groups various properties of the ad player. + */ +@protocol IMAAdPlaybackInfo + +/** + * The current media time of the ad, or 0 if no ad loaded. + */ +@property(nonatomic, readonly) NSTimeInterval currentMediaTime; + +/** + * The total media time of the ad, or 0 if no ad loaded. + */ +@property(nonatomic, readonly) NSTimeInterval totalMediaTime; + +/** + * The buffered media time of the ad, or 0 if no ad loaded. + */ +@property(nonatomic, readonly) NSTimeInterval bufferedMediaTime; + +/** + * Whether or not the ad is currently playing. + */ +@property(nonatomic, readonly, getter=isPlaying) BOOL playing; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h new file mode 100755 index 0000000..64ea432 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h @@ -0,0 +1,64 @@ +// +// IMAAdPodInfo.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Represents podding metadata for a single ad. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Simple data object containing podding metadata. + */ +@interface IMAAdPodInfo : NSObject + +/** + * Total number of ads in the pod this ad belongs to. Will be 1 for standalone ads. + */ +@property(nonatomic, readonly) NSInteger totalAds; + +/** + * The position of this ad within an ad pod. Will be 1 for standalone ads. + */ +@property(nonatomic, readonly) NSInteger adPosition; + +/** + * Specifies whether the ad is a bumper. Bumpers are short videos used to open + * and close ad breaks. + */ +@property(nonatomic, readonly) BOOL isBumper; + +/** + * Client side: Returns the index of the ad pod. For a preroll pod, returns 0. + * For midrolls, returns 1, 2,..., N. For a postroll pod, returns -1. Defaults + * to 0 if this ad is not part of a pod, or this pod is not part of a playlist. + * DAI live stream: Always returns -1. + * DAI VOD: Returns the index of the ad pod. For a preroll pod, returns 0. For + * midrolls, returns 1, 2,...,N. For a postroll pod, returns N+1...N+X. + * Defaults to 0 if this ad is not part of a pod, or this pod is not part of a + * playlist. + */ +@property(nonatomic, readonly) NSInteger podIndex; + +/** + * The position of the pod in the content in seconds. Pre-roll returns 0, + * post-roll returns -1 and mid-rolls return the scheduled time of the pod. + */ +@property(nonatomic, readonly) NSTimeInterval timeOffset; + +/** + * The maximum duration of the pod in seconds. For unknown duration, -1 is returned. + */ +@property(nonatomic, readonly) NSTimeInterval maxDuration; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h new file mode 100755 index 0000000..0ebc318 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h @@ -0,0 +1,169 @@ +// +// IMAAdsLoader.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares a set of classes used when loading ads. + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdError; +@class IMAAdsLoader; +@class IMAAdsManager; +@class IMAStreamManager; +@class IMAAdsRequest; +@class IMAStreamRequest; +@class IMASettings; + +#pragma mark - IMAAdsLoadedData + +/** + * Ad data that is returned when the ads loader loads the ad. + */ +@interface IMAAdsLoadedData : NSObject + +/** + * The ads manager instance created by the ads loader. + * Will be nil when using dynamic ad insertion. + */ +@property(nonatomic, readonly, nullable) IMAAdsManager *adsManager; + +/** + * The stream manager instance created by the ads loader. + * Will be nil when requesting ads client side. + */ +@property(nonatomic, readonly, nullable) IMAStreamManager *streamManager; + +/** + * The user context specified in the ads request. + */ +@property(nonatomic, readonly, nullable) id userContext; + +@end + +#pragma mark - IMAAdLoadingErrorData + +/** + * Ad error data that is returned when the ads loader fails to load the ad. + */ +@interface IMAAdLoadingErrorData : NSObject + +/** + * The ad error that occurred while loading the ad. + */ +@property(nonatomic, readonly) IMAAdError *adError; + +/** + * The user context specified in the ads request. + */ +@property(nonatomic, readonly, nullable) id userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +#pragma mark - IMAAdsLoaderDelegate + +/** + * Delegate object that receives state change callbacks from IMAAdsLoader. + */ +@protocol IMAAdsLoaderDelegate + +/** + * Called when ads are successfully loaded from the ad servers by the loader. + * + * @param loader the IMAAdsLoader that received the loaded ad data + * @param adsLoadedData the IMAAdsLoadedData instance containing ad data + */ +- (void)adsLoader:(IMAAdsLoader *)loader adsLoadedWithData:(IMAAdsLoadedData *)adsLoadedData; + +/** + * Error reported by the ads loader when loading or requesting an ad fails. + * + * @param loader the IMAAdsLoader that received the error + * @param adErrorData the IMAAdLoadingErrorData instance with error information + */ +- (void)adsLoader:(IMAAdsLoader *)loader failedWithErrorData:(IMAAdLoadingErrorData *)adErrorData; + +@end + +#pragma mark - IMAAdsLoader + +/** + * The IMAAdsLoader class allows the requesting of ads from the ad server. + * Use the delegate to receive the loaded ads or loading error + * in case of failure. + */ +@interface IMAAdsLoader : NSObject + +/** + * SDK-wide settings. Note that certain settings will only be evaluated during initialization of + * the adsLoader. + */ +@property(nonatomic, copy, readonly) IMASettings *settings; + +/** + * Delegate that receives IMAAdsLoaderDelegate callbacks. + */ +@property(nonatomic, weak, nullable) id delegate; + +/** + * Returns the SDK version. + * + * @return the SDK version + */ ++ (NSString *)sdkVersion; + +/** + * Initializes an IMAAdsLoader with specific settings. The loader takes 1-2 seconds to setup once + * initialized, therefore reusing a single instance of the ads loader is encouraged to minimize ad + * request times. + * + * @param settings the IMASettings to use for SDK wide settings. Uses defaults when nil. + * + * @return an IMAAdsLoader instance with given IMASettings + */ +- (instancetype)initWithSettings:(nullable IMASettings *)settings; + +/** + * Initializes the IMAAdsLoader with default settings. The loader takes 1-2 seconds to setup once + * initialized, therefore reusing a single instance of the ads loader is encouraged to minimize ad + * request times. + * + * @return an IMAAdsLoader instance with default IMASettings + */ +- (instancetype)init; + +/** + * Request ads from the ad server. The loader takes 1-2 seconds to setup on init and become ready + * to make ad requests. So reusing the same IMAAdsLoader instance is encouraged when making ad + * requests in order to minimize ad request times. + * + * @param request the IMAAdsRequest. If it was created for use with Picture-in-Picture, this + * IMAAdsLoader instance's IMASettings must have backround playback enabled + */ +- (void)requestAdsWithRequest:(IMAAdsRequest *)request; + +/** + * Request a stream with ads inserted dynamically. Reusing the same IMAAdsLoader instance is + * encouraged when making stream requests in order to minimize stream request latency. + * + * @param request the stream request + */ +- (void)requestStreamWithRequest:(IMAStreamRequest *)request; + +/** + * Signal to the SDK that the content has completed. The SDK will play + * post-rolls at this time, if any are scheduled. + */ +- (void)contentComplete; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h new file mode 100755 index 0000000..4bc4e40 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h @@ -0,0 +1,210 @@ +// +// IMAAdsManager.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares IMAAdsManager interface that manages ad playback. +// The interface represents an abstract API. There can be one or more ads +// managed by a single ads manager. +// The implementing code should respond to the callbacks as defined in +// IMAAdsManagerDelegate. +// +// A typical ad playback session: +// 1. Ads manager is retrieved. Delegate is set. +// 2. [adsManager initialize...]; - ad is initialized and loads. +// 3. delegate.didReceiveAdEvent is called with a kIMAAdEventLoaded event. +// 4. [adsManager start]; +// 5. delegate.adsManagerDidRequestContentPause: is called. The content +// playback should pause now. +// 6. Ad display container main view is unhidden and playback starts. +// 7. delegate.didReceiveAdEvent is called with ad events. +// 8. Ad finishes. +// 9. delegate.adsManagerDidRequestContentResume: is called. The content +// playback should resume now. +// 10. delegate.didReceiveAdEvent: is called with the +// kIMAAdEvent_ALL_ADS_COMPLETED event. +// It is possible to detach the delegate and destroy the ads manager. +// +// If multiple ads are managed by the ads manager, steps 5-9 may repeat several +// times. Step 5 will happen at times predetermined by the ads server. +// The implementing code should listen to callbacks until +// kIMAAdEvent_ALL_ADS_COMPLETED is received. + +#import + +@class IMAAdDisplayContainer; +@class IMAAdError; +@class IMAAdEvent; +@class IMAAdsRenderingSettings; + +#import "IMAAdPlaybackInfo.h" +#import "IMAContentPlayhead.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdsManager; + +#pragma mark IMAAdsManagerDelegate + +/** + * A callback protocol for IMAAdsManager. + */ +@protocol IMAAdsManagerDelegate + +/** + * Called when there is an IMAAdEvent. + * + * @param adsManager the IMAAdsManager receiving the event + * @param event the IMAAdEvent received + */ +- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event; + +/** + * Called when there was an error playing the ad. + * Log the error and resume playing content. + * + * @param adsManager the IMAAdsManager that errored + * @param error the IMAAdError received + */ +- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdError:(IMAAdError *)error; + +/** + * Called when an ad is ready to play. + * The implementing code should pause the content playback and prepare the UI + * for ad playback. + * + * @param adsManager the IMAAdsManager requesting content pause + */ +- (void)adsManagerDidRequestContentPause:(IMAAdsManager *)adsManager; + +/** + * Called when an ad has finished or an error occurred during the playback. + * The implementing code should resume the content playback. + * + * @param adsManager the IMAAdsManager requesting content resume + */ +- (void)adsManagerDidRequestContentResume:(IMAAdsManager *)adsManager; + +@optional + +/** + * Called every 200ms to provide time updates for the current ad. + * + * @param adsManager the IMAAdsManager tracking ad playback + * @param mediaTime the current media time in seconds + * @param totalTime the total media length in seconds + */ +- (void)adsManager:(IMAAdsManager *)adsManager + adDidProgressToTime:(NSTimeInterval)mediaTime + totalTime:(NSTimeInterval)totalTime; + +/** + * Called when the current ad is sufficiently buffered and playback is likely + * to keep up. + * + * @param adsManager the IMAAdsManager with ad playback ready + */ +- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager; + +/** + * Called when the current ad media buffer is empty and playback did stall. + * + * @param adsManager the IMAAdsManager tracking the stalled ad + */ +- (void)adsManagerAdDidStartBuffering:(IMAAdsManager *)adsManager; + +/** + * Called as the current ad media buffers. + * + * @param adsManager the IMAAdsManager tracking the ad's media buffer + * @param mediaTime the current buffered media time in seconds + */ +- (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime; + +@end + +#pragma mark - IMAAdsManager + +/** + * The IMAAdsManager class is responsible for playing ads. + */ +@interface IMAAdsManager : NSObject + +/** + * The IMAAdsManagerDelegate to notify with events during ad playback. + */ +@property(nonatomic, weak, nullable) NSObject *delegate; + +/** + * List of content time offsets at which ad breaks are scheduled. + * Array of NSNumber double values in seconds. + * Empty NSArray for single ads or if no ad breaks are scheduled. + */ +@property(nonatomic, copy, readonly) NSArray *adCuePoints; + +/** + * Groups various properties about the linear ad playback. + */ +@property(nonatomic, readonly) id adPlaybackInfo; + +/** + * Set and get the volume for the current ad. From 0 (muted) to 1 (loudest). This volume is + * relative to device volume, not absolute. Default value is 1. + */ +@property(nonatomic, assign) float volume; + +/** + * Initializes and loads the ad. + * + * @param adsRenderingSettings the IMAAdsRenderingSettings. Pass in to influence ad rendering. + * Use nil to default to standard rendering. + */ +- (void)initializeWithAdsRenderingSettings:(nullable IMAAdsRenderingSettings *)adsRenderingSettings; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + * Starts advertisement playback. + */ +- (void)start; + +/** + * Pauses advertisement. + */ +- (void)pause; + +/** + * Resumes the advertisement. + */ +- (void)resume; + +/** + * Skips the advertisement if the ad is skippable and the skip offset has been reached. + */ +- (void)skip; + +/** + * Performs a clickthrough on the advertisement if the UI was successfully disabled via + * AdsRenderingSettings.disableUi. + * :nodoc: + */ +- (void)clicked; + +/** + * Causes the ads manager to stop the ad and clean its internal state. + */ +- (void)destroy; + +/** + * If an ad break is currently playing, discard it and resume content. + * Otherwise, ignore the next scheduled ad break. + */ +- (void)discardAdBreak; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h new file mode 100755 index 0000000..535f61d --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h @@ -0,0 +1,141 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * The default value of |bitrate property|, causes the effective bitrate to + * be automatically selected. + */ +extern const NSInteger kIMAAutodetectBitrate; + +#pragma mark IMALinkOpenerDelegate + +/** + * Signals that a link has been opened/closed. + * For an external app (Mobile Safari/App deep link), the delegate is only notified + * before opening. + */ +@protocol IMALinkOpenerDelegate + +@optional + +/** + * Called when Safari or app deep link is about to be opened. + * + * @param linkOpener the receiving object + */ +- (void)linkOpenerWillOpenExternalApplication:(NSObject *)linkOpener; + +/** + * Called before in-app browser/app store opens. + * + * @param linkOpener the receiving object. + */ +- (void)linkOpenerWillOpenInAppLink:(NSObject *)linkOpener; + +/** + * Called when the in app browser/app-store is shown on the screen. + * + * @param linkOpener the receiving object + */ +- (void)linkOpenerDidOpenInAppLink:(NSObject *)linkOpener; + +/** + * Called when in-app browser/app-store is about to close. + * + * @param linkOpener the receiving object + */ +- (void)linkOpenerWillCloseInAppLink:(NSObject *)linkOpener; + +/** + * Called when in-app browser/app-store finishes closing. + * + * @param linkOpener the receiving object + */ +- (void)linkOpenerDidCloseInAppLink:(NSObject *)linkOpener; + +@end + +#pragma mark - IMAAdsRenderingSettings + +/** + * Set of properties that influence how ads are rendered. + */ +@interface IMAAdsRenderingSettings : NSObject + +/** + * If specified, the SDK will play the media with MIME type on the list. + * List of strings specifying the MIME types. When empty, the SDK will + * use its default list of MIME types supported on iOS. + * Example: @[ @"video/mp4", @"application/x-mpegURL" ] + * The property is an empty array by default. + */ +@property(nonatomic, copy, nullable) NSArray *mimeTypes; + +/** + * Maximum recommended bitrate. The value is in kbit/s. + * SDK will pick media with bitrate below the specified max, or the closest + * bitrate if there is no media with smaller bitrate found. + * Default value, |kIMAAutodetectBitrate|, means the bitrate will be selected + * by the SDK, using the currently detected network speed (cellular or Wi-Fi). + */ +@property(nonatomic) NSInteger bitrate; + +/** + * Timeout (in seconds) when loading a video ad media file. If loading takes + * longer than this timeout, the ad playback is canceled and the next ad in the + * pod plays, if available. Use -1 for the default of 8 seconds. + */ +@property(nonatomic) NSTimeInterval loadVideoTimeout; + +/** + * For VMAP and ad rules playlists, only play ad breaks scheduled after this time (in seconds). + * This setting is strictly after the specified time. For example, setting playAdsAfterTime to + * 15 will ignore an ad break scheduled to play at 15s. + */ +@property(nonatomic) NSTimeInterval playAdsAfterTime; + +/** + * Specifies the list of UI elements that should be visible. + * This property may be ignored for AdSense/AdX ads. For valid values, see + * IMAUiElementType. This field + * is ignored on tvOS, where UI elements are unavailable. + */ +@property(nonatomic, copy, nullable) NSArray *uiElements; + +/** + * Whether or not to disable ad UI for non TrueView ads. Check Ad.getDisableUi to check if this + * request was honored. Default is false. + * :nodoc: + */ +@property(nonatomic) BOOL disableUi; + +/** + * Whether or not the SDK will preload ad media. Default is YES. + */ +@property(nonatomic) BOOL enablePreloading; + +/** + * Specifies the optional UIViewController that will be used to open links in-app. + * When nil, tapping the video ad "Learn More" button or companion ads + * will result in opening Safari browser. Setting this allows the SDK to open links in-app. This + * field is ignored on tvOS, where Safari is not available. + */ +@property(nonatomic, weak, nullable) UIViewController *linkOpenerPresentingController; + +/** + * The IMALinkOpenerDelegate to be notified when a link is opened/closed. + * Web links are unavailable on tvOS, but this delegate will be used to notify for deep links. + */ +@property(nonatomic, weak, nullable) id linkOpenerDelegate; + +/** + * Toggle this to allow web links to open externally. + * Default is false, ignored if @c linkOpenerPresentingController is nil. + * :nodoc: + */ +@property(nonatomic) BOOL openWebLinksExternally; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h new file mode 100755 index 0000000..7a9e4cc --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h @@ -0,0 +1,200 @@ +// +// IMAAdsRequest.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares a simple ad request class. + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@class IMAAVPlayerContentPlayhead; +@class IMAAVPlayerVideoDisplay; +@class IMAPictureInPictureProxy; +@class IMASecureSignals; +@protocol IMAContentPlayhead; + +/** + * Data class describing the ad request. + */ +@interface IMAAdsRequest : NSObject + +/** + * Specifies the full URL to use for ads loading from an ad server. Required + * for any adsRequest. For details on constructing the ad tag url, + * see + * Create a main ad video tag manually. + */ +@property(nonatomic, copy, readonly, nullable) NSString *adTagUrl; + +/** + * Specifies a VAST, VMAP, or ad rules response to be used instead of making a + * request through an ad tag URL. This can be useful for debugging and other situations + * in which an ad response is already available. + */ +@property(nonatomic, copy, readonly, nullable) NSString *adsResponse; + +/** + * The ad display container. + */ +@property(nonatomic, readonly) IMAAdDisplayContainer *adDisplayContainer; + +/** + * The user context. + */ +@property(nonatomic, readonly, nullable) id userContext; + +/** + * Specifies whether the player intends to start the content and ad in + * response to a user action or whether they will be automatically played. + * Changing this setting will have no impact on ad playback. + */ +@property(nonatomic) BOOL adWillAutoPlay; + +/** + * Specifies whether the player intends to start the content and ad with no volume. + * Changing this setting will have no impact on ad playback. + */ +@property(nonatomic) BOOL adWillPlayMuted; + +/** + * Specifies whether the player intends to continuously play the content videos one after + * another similar to TV broadcast. Not calling this function leaves the setting as unknown. + * Note: Changing this setting will have no impact on ad playback. + */ +@property(nonatomic) BOOL continuousPlayback; + +/** + * Specifies the duration of the content in seconds to be shown. Used in AdX requests. This + * parameter is optional. + */ +@property(nonatomic) float contentDuration; + +/** + * Specifies the keywords used to describe the content to be shown. Used in AdX requests. This + * parameter is optional. + */ +@property(nonatomic, copy, nullable) NSArray *contentKeywords; + +/** + * Specifies the title of the content to be shown. Used in AdX requests. This parameter is + * optional. + */ +@property(nonatomic, copy, nullable) NSString *contentTitle; + +/** + * Specifies the Secure Signal with custom data for this ads request. Secure Signal with custom + * data is an encrypted blob containing signals collected by the publisher and previously agreed + * upon by the publisher and bidder. The Secure Signal with custom data can be cleared out by + * passing null to this function. + */ +@property(nonatomic, strong, nullable) IMASecureSignals *secureSignals; + +/** + * Specifies the universal link to the content's screen. If provided, this parameter is passed to + * the OM SDK. See Apple + * documentation for more information. + */ +@property(nonatomic, copy, nullable) NSURL *contentURL; + +/** + * Specifies the VAST load timeout in milliseconds for the initial request and any subsequent + * wrappers. This parameter is optional and will override the default timeout. + */ +@property(nonatomic) float vastLoadTimeout; + +/** + * Specifies the maximum amount of time to wait in seconds, after calling requestAds, + * before requesting the ad tag URL. This can be used to stagger requests during a + * live-stream event, in order to mitigate spikes in the number of requests. + */ +@property(nonatomic) float liveStreamPrefetchSeconds; + +/** + * Initializes an ads request instance with the given canned ads response and ad display + * container with Picture-in-Picture support. Serial ad requests may reuse the + * same IMAAdDisplayContainer by first calling [IMAAdsManager destroy] on its + * current adsManager. Concurrent requests must use different ad containers. + * + * @param adsResponse the canned ads response + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param avPlayerVideoDisplay the IMAAVPlayerVideoDisplay for rendering ads + * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events + * @param userContext the user context for tracking requests (optional) + * + * @return the IMAAdsRequest instance + */ +- (instancetype)initWithAdsResponse:(NSString *)adsResponse + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + avPlayerVideoDisplay:(IMAAVPlayerVideoDisplay *)avPlayerVideoDisplay + pictureInPictureProxy:(IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext API_AVAILABLE(ios(9.0), tvos(14.0)); + +/** + * Initializes an ads request instance with the given canned ads response and ad display + * container. Serial ad requests may reuse the same IMAAdDisplayContainer by + * first calling [IMAAdsManager destroy] on its current adsManager. Concurrent + * requests must use different ad containers. Does not support Picture-in-Picture. + * + * @param adsResponse the canned ads response + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param contentPlayhead the IMAContentPlayhead for the content player (optional) + * @param userContext the user context for tracking requests (optional) + * + * @return the IMAAdsRequest instance + */ +- (instancetype)initWithAdsResponse:(NSString *)adsResponse + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + contentPlayhead:(nullable NSObject *)contentPlayhead + userContext:(nullable id)userContext NS_DESIGNATED_INITIALIZER; + +/** + * Initializes an ads request instance with the given ad tag URL and ad display + * container with Picture-in-Picture support. Serial ad requests may reuse the + * same IMAAdDisplayContainer by first calling [IMAAdsManager destroy] on its + * current adsManager. Concurrent requests must use different ad containers. + * + * @param adTagUrl the ad tag URL + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param avPlayerVideoDisplay the IMAAVPlayerVideoDisplay for rendering ads + * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events + * @param userContext the user context for tracking requests (optional) + * + * @return the IMAAdsRequest instance + */ +- (instancetype)initWithAdTagUrl:(NSString *)adTagUrl + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + avPlayerVideoDisplay:(IMAAVPlayerVideoDisplay *)avPlayerVideoDisplay + pictureInPictureProxy:(IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext API_AVAILABLE(ios(9.0), tvos(14.0)); + +/** + * Initializes an ads request instance with the given ad tag URL and ad display + * container. Serial ad requests may reuse the same IMAAdDisplayContainer by + * first calling [IMAAdsManager destroy] on its current adsManager. Concurrent + * requests must use different ad containers. Does not support Picture-in-Picture. + * + * @param adTagUrl the ad tag URL + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param contentPlayhead the IMAContentPlayhead for the content player (optional) + * @param userContext the user context for tracking requests (optional) + * + * @return the IMAAdsRequest instance + */ +- (instancetype)initWithAdTagUrl:(NSString *)adTagUrl + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + contentPlayhead:(nullable NSObject *)contentPlayhead + userContext:(nullable id)userContext NS_DESIGNATED_INITIALIZER; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h new file mode 100755 index 0000000..799fe51 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h @@ -0,0 +1,28 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +/** An object that holds data corresponding to the companion ad. */ +@interface IMACompanionAd : NSObject + +/** The value for the resource of this companion. */ +@property(nonatomic, copy, readonly, nullable) NSString *resourceValue; + +/** The API needed to execute this ad, or nil if unavailable. */ +@property(nonatomic, copy, readonly, nullable) NSString *APIFramework; + +/** The width of the companion in pixels. 0 if unavailable. */ +@property(nonatomic, readonly) NSInteger width; + +/** The height of the companion in pixels. 0 if unavailable. */ +@property(nonatomic, readonly) NSInteger height; + +/** + * Obtain an instance from IMAAd.companionAds. + * :nodoc: + */ +- (nonnull instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h new file mode 100755 index 0000000..baaddbb --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h @@ -0,0 +1,111 @@ +// +// IMACompanionAdSlot.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares a data class that describes a companion ad slot. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Fluid companion ads have no fixed size, but rather adapt to fit the creative + * content they display. Set width and height to fluid size to allow companion + * slot to be filled by fluid companion ad. + */ +extern const NSInteger kIMAFluidSize; + +@class IMACompanionAdSlot; + +#pragma mark IMACompanionDelegate + +/** + * Delegate to receive events from the companion ad slot. + */ +@protocol IMACompanionDelegate + +@optional + +/** + * Called when the slot is either filled or not filled. + * + * @param slot the IMACompanionAdSlot receiving the event + * @param filled is the slot filled or not + */ +- (void)companionSlot:(IMACompanionAdSlot *)slot filled:(BOOL)filled; + +/** + * Called when the slot is clicked on by the user and will + * successfully navigate away. + * + * @param slot the IMACompanionAdSlot receiving the event + */ +- (void)companionSlotWasClicked:(IMACompanionAdSlot *)slot; + +@end + +#pragma mark - IMACompanionAdSlot + +/** + * Ad slot for companion ads. The SDK will put a subview inside the provided + * UIView container. The companion will be matched to the width and height + * provided here. This class cannot be instantiated on tvOS, where companion ads + * are not available. + */ +@interface IMACompanionAdSlot : NSObject + +/** + * The view the companion will be rendered in. Display this view in your + * application before video ad starts. + */ +@property(nonatomic, readonly) UIView *view; + +/** + * Width of the slot, in pixels. This value is sent to the DFP ad server for + * targeting. + */ +@property(nonatomic, readonly) NSInteger width; + +/** + * Height of the slot, in pixels. This value is sent to the DFP ad server for + * targeting. + */ +@property(nonatomic, readonly) NSInteger height; + +/** + * The IMACompanionDelegate for receiving events from the companion ad slot. + */ +@property(nonatomic, weak, nullable) id delegate; + +/** + * Initializes an instance of a IMACompanionAdSlot with design ad width and height. + * + * @param view the UIView that will contain the companion ad + * @param width the chosen width of the ad + * @param height the chosen height of the ad + * + * @return the IMACompanionAdSlot instance + */ +- (instancetype)initWithView:(UIView *)view + width:(NSInteger)width + height:(NSInteger)height __TVOS_UNAVAILABLE; + +/** + * Initializes an instance of a IMACompanionAdSlot with fluid size. + * + * @param view the UIView that will contain the companion ad. + * + * @return the IMACompanionAdSlot instance + */ +- (instancetype)initWithView:(UIView *)view __TVOS_UNAVAILABLE; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h new file mode 100755 index 0000000..4360949 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h @@ -0,0 +1,37 @@ +// +// IMAContentPlayhead.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Defines protocol for wrapping content playhead used in content tracking. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Property name used for key value observation. + */ +extern NSString *const kIMAPropertyCurrentTime; + +/** + * Defines an interface for a class that tracks video content progress and + * exposes a key value observable property |currentTime|. + * The SDK provides an implementation for tracking AVPlayer-based playback + * in the IMAAVPlayerContentPlayhead. + * Publishers can supply their own implementation by implementing this + * interface and this way support any other video playback implementation + * they might have. + */ +@protocol IMAContentPlayhead + +/** + * Reflects the current playback time in seconds for the content. + * The property is key value observable. + */ +@property(nonatomic, readonly) NSTimeInterval currentTime; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h new file mode 100755 index 0000000..65e8480 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h @@ -0,0 +1,38 @@ +// +// IMACuepoint.h +// GoogleIMA3_ios +// +// Represents a cuepoint with a start and end time. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Data object representation of a cuepoint for a single ad break. + */ +@interface IMACuepoint : NSObject + +/** + * The start time of the cuepoint in seconds. + */ +@property(nonatomic, readonly) NSTimeInterval startTime; + +/** + * The end time of the cuepoint in seconds. + */ +@property(nonatomic, readonly) NSTimeInterval endTime; + +/** + * Specifies whether this cuepoint has been played. + */ +@property(nonatomic, readonly, getter=isPlayed) BOOL played; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h new file mode 100755 index 0000000..868b803 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h @@ -0,0 +1,45 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +/** A list of purposes for which an obstruction would be registered as friendly. */ +typedef NS_ENUM(NSUInteger, IMAFriendlyObstructionPurpose) { + IMAFriendlyObstructionPurposeMediaControls, + IMAFriendlyObstructionPurposeCloseAd, + IMAFriendlyObstructionPurposeNotVisible, + IMAFriendlyObstructionPurposeOther, +}; + +/** An obstruction that is marked as "friendly" for viewability measurement purposes. */ +@interface IMAFriendlyObstruction : NSObject + +/** The view causing the obstruction. */ +@property(nonatomic, readonly) UIView *view; + +/** The purpose for registering the obstruction as friendly. */ +@property(nonatomic, readonly) IMAFriendlyObstructionPurpose purpose; + +/** + * Optional, detailed reasoning for registering this obstruction as friendly. + * If the detailedReason is not null, it must follow the IAB + * standard by being 50 characters or less and only containing characters + * A-z, 0-9, or spaces. + */ +@property(nonatomic, readonly, nullable) NSString *detailedReason; + +/** + * Initializes a friendly obstruction. + * + * @param view The view causing the obstruction. + * @param purpose The purpose for registering the obstruction as friendly. + * @param detailedReason Optional, detailed reasoning for registering this obstruction as friendly. + * + * @return A new IMAFriendlyObstruction instance + */ +- (instancetype)initWithView:(UIView *)view + purpose:(IMAFriendlyObstructionPurpose)purpose + detailedReason:(nullable NSString *)detailedReason; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h new file mode 100755 index 0000000..1b38723 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h @@ -0,0 +1,73 @@ +// +// IMALiveStreamRequest.h +// GoogleIMA3_ios +// +// Declares a representation of a stream request for live streams. +// +// + +#import "IMAPictureInPictureProxy.h" +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** + * Data object describing a live stream request. + */ + +@interface IMALiveStreamRequest : IMAStreamRequest + +/** + * This is used to determine which stream should be played. + * The live stream request asset key is an identifier which can be + * found in the DFP UI. + * + * @type {!string} + */ +@property(nonatomic, copy, readonly) NSString *assetKey; + +/** + * Initializes a live stream request instance with the given assetKey. Uses the given ad display + * container to display the stream. + * + * @param assetKey the stream assetKey + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param videoDisplay the IMAVideoDisplay for playing the stream + * @param userContext The user context for tracking requests (optional) + * + * @return the IMALiveStreamRequest instance + */ +- (instancetype)initWithAssetKey:(NSString *)assetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; + +/** + * Initializes a live stream request instance with the given assetKey. Uses the given ad display + * container to display the stream. Uses the picture in picture proxy to track PIP events. + * + * @param assetKey the stream assetKey + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param videoDisplay the IMAVideoDisplay for playing the stream + * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events + * @param userContext The user context for tracking requests (optional) + * + * @return the IMALiveStreamRequest instance + */ +- (instancetype)initWithAssetKey:(NSString *)assetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h new file mode 100755 index 0000000..d4453e9 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h @@ -0,0 +1,70 @@ +// +// IMAPictureInPictureProxy.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Defines a proxy for wrapping an AVPlayerViewControllerDelegate or +// AVPictureInPictureControllerDelegate for handling Picture-in-Picture. + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol AVPlayerViewControllerDelegate; +@protocol AVPictureInPictureControllerDelegate; + +/** + * A proxy class for allowing the SDK to detect entering and exiting + * Picture-in-Picture. + * + * To use the proxy, create an instance of IMAPictureInPictureProxy with the + * Picture-in-Picture delegate as an argument, and then simply set the + * Picture-in-Picture controller's delegate to the proxy. See + * + * Picture in Picture for more details. + */ +#if TARGET_OS_IOS || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 140000) +@interface IMAPictureInPictureProxy + : NSProxy +#else +@interface IMAPictureInPictureProxy : NSObject +#endif +/** + * Whether or not Picture-in-Picture is currently active. + */ +@property(nonatomic, readonly, getter=isPictureInPictureActive) BOOL pictureInPictureActive; + +/** + * Whether or not Picture-in-Picture is supported on this device. + */ ++ (BOOL)isPictureInPictureSupported; + +/** + * Instantiates an IMAPictureInPictureProxy that will proxy delegate + * messages from an AVPictureInPictureController, and forward them + * to the AVPictureInPictureControllerDelegate passed on init. + * + * @param delegate the AVPictureInPictureControllerDelegate + * + * @return an IMAPictureInPictureProxy instance + */ +- (instancetype)initWithAVPictureInPictureControllerDelegate: + (id)delegate API_AVAILABLE(ios(9.0), tvos(14.0)); + +/** + * Instantiates an IMAPictureInPictureProxy that will proxy delegate + * messages from an AVPlayerViewController, and forward them to the + * AVPlayerViewControllerDelegate passed on init. + * + * @param delegate the AVPlayerViewControllerDelegate + * + * @return an IMAPictureInPictureProxy instance + */ +- (instancetype)initWithAVPlayerViewControllerDelegate:(id)delegate + API_AVAILABLE(ios(9.0), tvos(14.0)); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h new file mode 100755 index 0000000..76d68ad --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h @@ -0,0 +1,64 @@ +#import "IMAPictureInPictureProxy.h" +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** Data object describing a stream request for a pod serving stream. */ +@interface IMAPodStreamRequest : IMAStreamRequest + +/** The network code for the stream request. */ +@property(nonatomic, copy, readonly) NSString *networkCode; + +/** The custom asset key for the stream request. */ +@property(nonatomic, copy, readonly) NSString *customAssetKey; + +/** + * Initializes a stream request instance with the given network code and custom + * asset key. Uses the given ad display container to display the stream. + * + * @param networkCode The network code for the stream. + * @param customAssetKey The asset key for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAPodStreamRequest instance. + */ +- (instancetype)initWithNetworkCode:(NSString *)networkCode + customAssetKey:(NSString *)customAssetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; + +/** + * Initializes a stream request instance with the given network code and custom + * asset key. Uses the given ad display container to display the stream. Uses the picture in picture + * proxy to track PIP events. + * + * @param networkCode The network code for the stream. + * @param customAssetKey The asset key for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAPodStreamRequest instance. + */ +- (instancetype)initWithNetworkCode:(NSString *)networkCode + customAssetKey:(NSString *)customAssetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h new file mode 100755 index 0000000..52530b3 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h @@ -0,0 +1,25 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +// Stores the signal data for SecureSignals. Currently used to store signal for PCS only. +@interface IMASecureSignals : NSObject + +/** + * Secure Signal with custom data sent with ads request. Secure Signal with custom + * data is an encrypted blob containing signals collected by the publisher and previously agreed + * upon by the publisher and bidder。 + */ + +@property(nonatomic, copy, readonly) NSString *customData; + +- (instancetype)initWithCustomData:(NSString *)customData NS_DESIGNATED_INITIALIZER; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h new file mode 100755 index 0000000..08de9f9 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h @@ -0,0 +1,34 @@ +#import + +@class IMAVersion; + +NS_ASSUME_NONNULL_BEGIN + +/** Completion handler for signal generation. Returns either signals or an error object. */ +typedef void (^IMASignalCompletionHandler)(NSString *_Nullable signals, NSError *_Nullable error); + +/** Adapter that provides secure signal(3rd party signal only) to the IMA SDK to be included in an + * auction. */ +@protocol IMASecureSignalsAdapter + +/** Initializes the Secure Signal adapter. */ +- (nullable instancetype)init; + +/** The version of the adapter. */ ++ (IMAVersion *)adapterVersion; + +/** The version of the ad SDK. */ ++ (IMAVersion *)adSDKVersion; + +/** + * Asks the receiver for encrypted signals. Signals are provided to the 3PAS at request time. The + * receiver must call @c completionHandler with signals or an error. + * This method is called on a non-main thread. The receiver should avoid using the main thread to + * prevent signal collection timeouts. + * @param completion The block to call when signal collection is complete. + */ +- (void)collectSignalsWithCompletion:(IMASignalCompletionHandler)completion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h new file mode 100755 index 0000000..ce27a31 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h @@ -0,0 +1,94 @@ +// +// IMASettings.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Stores SDK wide settings. Only instantiated in the SDK. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * The IMASettings class stores SDK wide settings. + */ +@interface IMASettings : NSObject + +/** + * Publisher Provided Identification (PPID) sent with ads request. + */ +@property(nonatomic, copy, nullable) NSString *ppid; + +/** + * Language specification used for localization. |Language| must be formatted as + * a canonicalized IETF BCP 47 language identifier such as would be returned by + * [NSLocale preferredLanguages]. Setting this property after it has been sent + * to the IMAAdsLoader will be ignored and a warning will be logged. + */ +@property(nonatomic, copy) NSString *language; + +/** + * Specifies maximum number of redirects after which subsequent redirects will + * be denied, and the ad load aborted. The number of redirects directly affects + * latency and thus user experience. This applies to all VAST wrapper ads. If + * the number of redirects exceeds |maxRedirects|, the ad request will fail with + * error code 302. The default value is 4. + */ +@property(nonatomic) NSUInteger maxRedirects; + +/** + * Feature flags and their states. Used to control experimental features. + */ +@property(nonatomic) NSDictionary *featureFlags; + +/** + * Enable background audio playback for the SDK. The default value is NO. + */ +@property(nonatomic) BOOL enableBackgroundPlayback; + +/** + * Specifies whether to automatically play VMAP and ad rules ad breaks. The + * default value is YES. + */ +@property(nonatomic) BOOL autoPlayAdBreaks; + +/** + * Specifies whether to update the MPNowPlayingInfoCenter content with the + * title "Advertisement". If disabled, MPNowPlayingInfoCenter is untouched. + * The default value is NO. + */ +@property(nonatomic) BOOL disableNowPlayingInfo; + +/** + * The partner specified video player that is integrating with the SDK. + */ +@property(nonatomic, copy, nullable) NSString *playerType; + +/** + * The partner specified player version that is integrating with the SDK. + */ +@property(nonatomic, copy, nullable) NSString *playerVersion; + +/** + * The session ID to identify a single user session. This should be a UUID. It + * is used exclusively for frequency capping across the user session. + */ +@property(nonatomic, copy, nullable) NSString *sessionID; + +/** + * Controls whether Same App Key is enabled. The value set persists across app sessions. The key is + * enabled by default. + */ +@property(nonatomic) BOOL sameAppKeyEnabled __TVOS_UNAVAILABLE; + +/** + * Toggles debug mode which will output detailed log information to the console. + * Debug mode should be disabled in Release and will display a watermark when + * enabled. The default value is NO. + */ +@property(nonatomic) BOOL enableDebugMode; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h new file mode 100755 index 0000000..721fc7c --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h @@ -0,0 +1,166 @@ +// +// IMAStreamManager.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Declares IMAStreamManager interface that manages stream playback. +// The interface represents an abstract API. There can be only one stream managed by a single +// stream manager. +// The implementing code should respond to the callbacks as defined in IMAStreamManagerDelegate. +// +// A typical stream playback session: +// 1. Stream manager is retrieved. Delegate is set. +// 2. Stream playback will meanwhile start because of the adsLoader requestStream call. +// 3. delegate.didReceiveAdEvent: is called with a kIMAAdBreakStarted event. +// 4. Publisher should now hide content controls or disable seeking. Ad is now playing +// 5. delegate.didReceiveAdEvent: is called with a kIMAAdStart event. This event comes with +// information about the ad. +// 6. delegate.didReceiveAdEvent is called with ad events like quartiles, midpoint and complete. +// 7. Ad break finishes and delegate.didReceiveAdEvent is called with a kIMAAdBreakEnded event. +// 8. Publisher should now show content controls or reenable seeking. Content is now playing. +// playback should resume now. +// It is possible to detach the delegate and destroy the ads manager. +// +// Steps 3-8 may repeat several times for the same stream if there are multiple ads inserted in +// the stream. + +#import + +#import "IMAAdError.h" +#import "IMAAdEvent.h" +#import "IMAAdPlaybackInfo.h" +#import "IMAAdsRenderingSettings.h" +#import "IMAContentPlayhead.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMACuepoint; +@class IMAStreamManager; + +#pragma mark IMAStreamManagerDelegate + +/** + * A callback protocol for IMAStreamManager. + */ +@protocol IMAStreamManagerDelegate + +/** + * Called when there is an IMAAdEvent. + * + * @param streamManager the IMAStreamManager receiving the event + * @param event the IMAAdEvent received + */ +- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdEvent:(IMAAdEvent *)event; + +/** + * Called when there is an IMAAdEvent. + * + * @param streamManager the IMAStreamManager receiving the error + * @param error the IMAAdError received + */ +- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdError:(IMAAdError *)error; + +@optional + +/** + * Called when the ad is playing to give updates about ad progress. + * + * @param streamManager the IMAStreamManager tracking ad playback + * @param time the current ad playback time in seconds + * @param adDuration the total duration of the current ad in seconds + * @param adPosition the ad position of the current ad in the current ad break + * @param totalAds the total number of ads in the current ad break + * @param adBreakDuration the total duration of the current ad break in seconds + * @param adPeriodDuration the total duration of the current ad period in seconds. This includes ads + * duration plus slate. + */ +- (void)streamManager:(IMAStreamManager *)streamManager + adDidProgressToTime:(NSTimeInterval)time + adDuration:(NSTimeInterval)adDuration + adPosition:(NSInteger)adPosition + totalAds:(NSInteger)totalAds + adBreakDuration:(NSTimeInterval)adBreakDuration + adPeriodDuration:(NSTimeInterval)adPeriodDuration; + +@end + +#pragma mark - IMAStreamManager + +/** + * The IMAStreamManager class is responsible for playing streams. + */ +@interface IMAStreamManager : NSObject + +/** + * The IMAStreamManagerDelegate to notify with events during stream playback. + */ +@property(nonatomic, weak, nullable) NSObject *delegate; + +/** + * Identifier used during dynamic ad insertion to uniquely identify a stream. This can be used in + * the Stream Activity Monitor Debug Console to debug the stream session. + */ +@property(nonatomic, copy, readonly, nullable) NSString *streamId; + +/** + * Initializes and loads the stream. + * + * @param adsRenderingSettings the IMAAdsRenderingSettings. Pass in to influence ad rendering. + * Use nil to default to standard rendering. + */ +- (void)initializeWithAdsRenderingSettings:(nullable IMAAdsRenderingSettings *)adsRenderingSettings; + +/** + * Returns the stream time with ads for a given content time. Returns the given content time + * for live streams. + * + * @param contentTime the content time without any ads (in seconds) + * + * @return the stream time that corresponds with the given content time once ads are inserted + */ +- (NSTimeInterval)streamTimeForContentTime:(NSTimeInterval)contentTime; + +/** + * Returns the content time without ads for a given stream time. Returns the given stream time + * for live streams. + * + * @param streamTime the stream time with inserted ads (in seconds) + * + * @return the content time that corresponds with the given stream time once ads are removed + */ +- (NSTimeInterval)contentTimeForStreamTime:(NSTimeInterval)streamTime; + +/** + * Returns the previous cuepoint for the given stream time. Returns nil if no such cuepoint exists. + * This is used to implement features like snap back, and called when the publisher detects that + * the user seeked in order to force the user to watch an ad break they may have skipped over. + * + * @param streamTime the stream time that the was seeked to. + * + * @return the previous IMACuepoint for the given stream time. + */ +- (nullable IMACuepoint *)previousCuepointForStreamTime:(NSTimeInterval)streamTime; + +/** + * Replaces all of the ad tag parameters used for upcoming ad requests for a + * live stream. + * Note that this call is a no-op for VOD streams. + * + * @param adTagParameters the new ad tag parameters for the current stream. + */ +- (void)replaceAdTagParameters:(nullable NSDictionary *)adTagParameters; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + * Cleans the stream manager's internal state for proper deallocation. + */ +- (void)destroy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h new file mode 100755 index 0000000..9d9368d --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h @@ -0,0 +1,107 @@ +// +// IMAStreamRequest.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Declares a simple stream request class. + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@class IMASecureSignals; +@protocol IMAVideoDisplay; + +/** + * Data class describing the stream request. + */ +@interface IMAStreamRequest : NSObject + +/** + * The stream display container for displaying the ad UI. + */ +@property(nonatomic, readonly) IMAAdDisplayContainer *adDisplayContainer; + +/** + * The video display where the stream can be played. + */ +@property(nonatomic, readonly) id videoDisplay; + +/** + * The stream request API key. It's configured through the + * + * DFP Admin UI and provided to the publisher to unlock their content. + * It verifies the applications that are attempting to access the content. + */ +@property(nonatomic, copy, nullable) NSString *apiKey; + +/** + * The stream request authorization token. This is used in place of the API key for stricter + * content authorization. The publisher can control individual content streams authorized based + * on this token. + */ +@property(nonatomic, copy, nullable) NSString *authToken; + +/** + * The ID to be used to debug the stream with the stream activity monitor. This is used to provide + * a convenient way to allow publishers to find a stream log in the stream activity monitor tool. + */ +@property(nonatomic, copy, nullable) NSString *streamActivityMonitorID; + +/** + * You can override a limited set of ad tag parameters on your stream request. + * + * Supply targeting parameters to your stream provides more information. + * + * You can use the dai-ot and dai-ov parameters for stream variant preference. + * See + * Override Stream Variant Parameters for more information. + */ +@property(nonatomic, copy, nullable) NSDictionary *adTagParameters; + +/** + * The suffix that the SDK will append to the query of the stream manifest URL. Do not include the + * '?' separator at the start. The SDK will account for the existence of parameters in the URL + * already, removing existing ones that collide with ones supplied here. This suffix needs to be + * sanitized and encoded as the SDK will not do this. + */ +@property(nonatomic, copy, nullable) NSString *manifestURLSuffix; + +/** + * Specifies the universal link to the content's screen. If provided, this parameter is passed to + * the OM SDK. See Apple + * documentation for more information. + */ +@property(nonatomic, copy, nullable) NSURL *contentURL; + +/** + * Enables the addition of a nonce to the request. This is needed to transmit monetization signals + * to Google servers when ads are requested server side from a non Google server. Defaults to false. + * :nodoc: + */ +@property(nonatomic, assign) BOOL enableNonce; + +/** + * Specifies the Secure Signal with custom data for this stream request. Secure Signal with custom + * data is an encrypted blob containing signals collected by the publisher and previously agreed + * upon by the publisher and bidder. The Secure Signal with custom data can be cleared out by + * passing null to this function. + */ +@property(nonatomic, strong, nullable) IMASecureSignals *secureSignals; + +/** + * The user context. + */ +@property(nonatomic, readonly, nullable) id userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h new file mode 100755 index 0000000..49c75f1 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h @@ -0,0 +1,30 @@ +/*! \file IMAUiElements.h + * GoogleIMA3 + * + * Copyright (c) 2013 Google Inc. All rights reserved. + * + * Defines an enum containing the possible UI elements that can be + * customized by the publisher during ad playback. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark IMAUiElementType + +/** + * Different UI elements that can be customized. + */ +typedef NS_ENUM(NSInteger, IMAUiElementType) { + /** + * Ad attribution UI element. + */ + kIMAUiElements_AD_ATTRIBUTION, + /** + * Ad countdown element. + */ + kIMAUiElements_COUNTDOWN +}; + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h new file mode 100755 index 0000000..cdd99c0 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h @@ -0,0 +1,36 @@ +// +// IMAUniversalAdID.h +// GoogleIMA3 +// +// Copyright (c) 2019 Google Inc. All rights reserved. +// +// Represents the universal ad ID information for a single ad. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Simple data object containing universal ad ID information. + */ +@interface IMAUniversalAdID : NSObject + +/** + * The universal ad ID value. This will be "unknown" if it isn't defined by the ad. + */ +@property(nonatomic, copy, readonly) NSString *adIDValue; + +/** + * The universal ad ID registry with which the value is registered. This will be "unknown" + * if it isn't defined by the ad. + */ +@property(nonatomic, copy, readonly) NSString *adIDRegistry; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h new file mode 100755 index 0000000..241c7a6 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h @@ -0,0 +1,80 @@ +// +// IMAVODStreamRequest.h +// GoogleIMA3_ios +// +// Declares a representation of a stream request for on-demand streams. +// + +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@class IMAPictureInPictureProxy; +@protocol IMAVideoDisplay; + +/** + * Data object describing a VOD stream request. + */ + +@interface IMAVODStreamRequest : IMAStreamRequest + +/** + * The stream request content source ID. This is used to determine the + * content source of the stream. + */ +@property(nonatomic, copy, readonly) NSString *contentSourceID; + +/** + * The stream request video ID. This is used to determine which specific video + * stream should be played. + */ +@property(nonatomic, copy, readonly) NSString *videoID; + +/** + * Initializes a stream request instance with the given content source ID and video ID. + * Uses the given ad display container to display the stream. This is used for on-demand streams. + * + * @param contentSourceID the content source ID for this stream + * @param videoID the video identifier for this stream + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param videoDisplay the IMAVideoDisplay for playing the stream + * @param userContext The user context for tracking requests (optional) + * + * @return the IMAVODStreamRequest instance + */ +- (instancetype)initWithContentSourceID:(NSString *)contentSourceID + videoID:(NSString *)videoID + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; + +/** + * Initializes a stream request instance with the given content source ID and video ID. + * Uses the given ad display container to display the stream. This is used for on-demand streams. + * Uses the picture in picture proxy to track PIP events. + * + * @param contentSourceID the content source ID for this stream + * @param videoID the video identifier for this stream + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param videoDisplay the IMAVideoDisplay for playing the stream + * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events + * @param userContext The user context for tracking requests (optional) + * + * @return the IMAVODStreamRequest instance + */ +- (instancetype)initWithContentSourceID:(NSString *)contentSourceID + videoID:(NSString *)videoID + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h new file mode 100755 index 0000000..ce2c952 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h @@ -0,0 +1,14 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface IMAVersion : NSObject +/** Major version. */ +@property(nonatomic) NSInteger majorVersion; +/** Minor version. */ +@property(nonatomic) NSInteger minorVersion; +/** Patch version. */ +@property(nonatomic) NSInteger patchVersion; +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h new file mode 100755 index 0000000..735b621 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h @@ -0,0 +1,203 @@ +// +// IMAVideoDisplay.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Declares a simple video display class used for ad playback. + +#import "IMAAdPlaybackInfo.h" + +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol IMAVideoDisplay; + +/** + * Delegate object that receives state change callbacks from IMAVideoDisplay. + */ +@protocol IMAVideoDisplayDelegate + +/** + * Informs the SDK that the ad has loaded. + * + * @param videoDisplay the IMAVideoDisplay that loaded the ad + */ +- (void)videoDisplayDidLoad:(id)videoDisplay; + +/** + * Informs the SDK the ad has started playback. This must be called at most once per loadStream: + * or loadUrl: call. + * + * @param videoDisplay the IMAVideoDisplay that started ad playback + */ +- (void)videoDisplayDidStart:(id)videoDisplay; + +/** + * Informs the SDK the ad has paused. + * + * @param videoDisplay the IMAVideoDisplay that paused ad playback + */ +- (void)videoDisplayDidPause:(id)videoDisplay; + +/** + * Informs the SDK the ad has resumed playback. + * + * @param videoDisplay the IMAVideoDisplay that resumed ad playback + */ +- (void)videoDisplayDidResume:(id)videoDisplay; + +/** + * Informs the SDK the ad has completed playback. + * + * @param videoDisplay the IMAVideoDisplay that completed ad playback + */ +- (void)videoDisplayDidComplete:(id)videoDisplay; + +/** + * Informs the SDK the ad was clicked. + * + * @param videoDisplay the IMAVideoDisplay that received the ad click + */ +- (void)videoDisplayDidClick:(id)videoDisplay; + +/** + * Informs the SDK the ad playback failed due to an error. + * + * @param videoDisplay the IMAVideoDisplay that failed to play the ad + * @param error the error that caused the video display to fail to play the ad + */ +- (void)videoDisplay:(id)videoDisplay didReceiveError:(NSError *)error; + +/** + * Informs the SDK the ad was skipped. + * + * @param videoDisplay the IMAVideoDisplay that skipped the ad + */ +- (void)videoDisplayDidSkip:(id)videoDisplay; + +/** + * Informs the SDK the ad skip button appeared. + * + * @param videoDisplay the IMAVideoDisplay that showed the skip button + */ +- (void)videoDisplayDidShowSkip:(id)videoDisplay; + +/** + * Informs the SDK that the ad volume was changed. + * + * @param videoDisplay the IMAVideoDisplay that changed the ad volume + * @param volume the new volume of the ad being played + */ +- (void)videoDisplay:(id)videoDisplay volumeChangedTo:(NSNumber *)volume; + +/** + * Informs the SDK that the video ad progressed. + * + * @param videoDisplay the IMAVideoDisplay that progressed + * @param mediaTime the current time of the ad being played + * @param duration the total duration of the ad being played + */ +- (void)videoDisplay:(id)videoDisplay + didProgressWithMediaTime:(NSTimeInterval)mediaTime + totalTime:(NSTimeInterval)duration; + +/** + * Informs the SDK that timed metadata was received. + * + * @param videoDisplay the IMAVideoDisplay that received the timed metadata event + * @param metadata the metadata dictionary received with the timed metadata event + */ +- (void)videoDisplay:(id)videoDisplay + didReceiveTimedMetadata:(NSDictionary *)metadata; + +@optional + +/** + * Informs the SDK the video ad is buffered to |mediaTime| in seconds. + * + * @param videoDisplay the IMAVideoDisplay whose buffer was updated + * @param mediaTime the time in seconds of ad media that has been buffered. + */ +- (void)videoDisplay:(id)videoDisplay + didBufferToMediaTime:(NSTimeInterval)mediaTime; + +/** + * Informs the SDK the ad is buffered and playback is likely to keep up. + * + * @param videoDisplay the IMAVideoDisplay that is playback ready + */ +- (void)videoDisplayIsPlaybackReady:(id)videoDisplay; + +/** + * Informs the SDK the ad's media buffer is empty and playback will stall. + * + * @param videoDisplay the IMAVideoDisplay that started buffering + */ +- (void)videoDisplayDidStartBuffering:(id)videoDisplay; + +@end + +/** + * Declares a simple video display class used for ad playback. + */ +@protocol IMAVideoDisplay + +/** + * Allows the publisher to send player events to the SDK. + */ +@property(nonatomic, weak, nullable) id delegate; + +/** + * Set and get the volume for the current ad. From 0 (muted) to 1 (loudest). This volume is + * relative to device volume, not absolute. Default value is 1. + */ +@property(nonatomic, assign) float volume; + +/** + * Called to inform the VideoDisplay to load the passed URL with the subtitles for the stream. + * Subtitles are available only for dynamic ad insertion VOD streams and can be ignored + * for client side ads or dynamic ad insertion live streams. + * + * @param streamURL the URL of the stream + * @param subtitles the subtitles for the stream. Each entry in the subtitles array is an + * *NSDictionary* that corresponds to a language. Each dictionary will have a + * *language* key with a two letter language string value, a *language name* + * to specify the set of subtitles if multiple sets exist for the same language, + * and one or more subtitle key/value pairs. Here's an example NSDictionary for + * English: + * + * "language" -> "en" + * "language_name" -> "English" + * "webvtt" -> "https://somedomain.com/vtt/en.vtt" + * "ttml" -> "https://somedomain.com/ttml/en.ttml" + */ +- (void)loadStream:(NSURL *)streamURL + withSubtitles:(NSArray *> *)subtitles; + +/** + * Called to inform the VideoDisplay to play. + */ +- (void)play; + +/** + * Called to inform the VideoDisplay to pause. + */ +- (void)pause; + +/** + * Called to remove all video assets from the player. + */ +- (void)reset; + +/** + * Called to inform that the stream needs to be seeked to the given time. + * + * @param time the time to which the stream should be seeked + */ +- (void)seekStreamToTime:(NSTimeInterval)time; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h new file mode 100755 index 0000000..14dc929 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h @@ -0,0 +1,86 @@ +#import "IMAPictureInPictureProxy.h" +#import "IMAPodStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** Data object describing a stream request for a Google video stitcher live serving stream. */ +@interface IMAVideoStitcherLiveStreamRequest : IMAPodStreamRequest + +/** The live stream ID for the stream. */ +@property(nonatomic, readonly) NSString *liveStreamEventID; + +/** The region for the stream. */ +@property(nonatomic, readonly) NSString *region; + +/** The project number for the stream. */ +@property(nonatomic, readonly) NSString *projectNumber; + +/** The OAuth Token for the stream. */ +@property(nonatomic, readonly) NSString *OAuthToken; + +/** + * Initializes a stream request instance with the given network code and custom + * asset key. Uses the given ad display container to display the stream. + * + * @param liveStreamEventID The live stream ID for the stream. + * @param region The region for the stream. + * @param projectNumber The project number for the stream. + * @param OAuthToken The OAuth Token for the stream. + * @param networkCode The network code for the stream. + * @param customAssetKey The asset key for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherLiveStreamRequest instance. + */ +- (instancetype)initWithLiveStreamEventID:(NSString *)liveStreamEventID + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + customAssetKey:(NSString *)customAssetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; + +/** + * Initializes a stream request instance with the given network code and custom + * asset key. Uses the given ad display container to display the stream. Uses the picture in picture + * proxy to track PIP events. + * + * @param liveStreamEventID The live stream ID for the stream. + * @param region The region for the stream. + * @param projectNumber The project number for the stream. + * @param OAuthToken The OAuth Token for the stream. + * @param networkCode The network code for the stream. + * @param customAssetKey The asset key for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherLiveStreamRequest instance. + */ +- (instancetype)initWithLiveStreamEventID:(NSString *)liveStreamEventID + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + customAssetKey:(NSString *)customAssetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h new file mode 100755 index 0000000..4ae345c --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h @@ -0,0 +1,95 @@ +#import "IMAPictureInPictureProxy.h" +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** + * Data object describing a stream request for a Google video stitcher video on demand serving + * stream. + */ +@interface IMAVideoStitcherVODStreamRequest : IMAStreamRequest + +/** The adTagURL for the stream. */ +@property(nonatomic, readonly) NSString *adTagURL; + +/** The URL of the content source for the stream. */ +@property(nonatomic, readonly) NSString *contentSourceURL; + +/** The networkCode associate with the stream. */ +@property(nonatomic, readonly) NSString *networkCode; + +/** The OAuth Token for the stream. */ +@property(nonatomic, readonly) NSString *OAuthToken; + +/** The project number for the stream. */ +@property(nonatomic, readonly) NSString *projectNumber; + +/** The region for the stream. */ +@property(nonatomic, readonly) NSString *region; + +/** + * Initializes a stream request instance with the given network code, content source url, ad tag + * url, project number, region, and OAuth token. Uses the given ad display container to display the + * stream. + * + * @param adTagURL The adTagURL for the stream. + * @param contentSourceURL The contentSourceURL for the stream. + * @param networkCode The networkCode for the stream. + * @param OAuthToken The OAuth token for the stream. + * @param projectNumber The projectNumber for the stream. + * @param region The region for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherVODStreamRequest instance. + */ +- (instancetype)initWithAdTagURL:(NSString *)adTagURL + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + contentSourceURL:(NSString *)contentSourceURL + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; +/** + * Initializes a stream request instance with the given network code, content source url, ad tag + * url, project number, region, and OAuth token. Uses the given ad display container to display the + * stream. Uses the picture in picture proxy to track PIP events. + * + * @param adTagURL The adTagURL code for the stream. + * @param contentSourceURL The contentSourceURL code for the stream. + * @param networkCode The networkCode for the stream. + * @param OAuthToken The OAuth Token for the stream. + * @param projectNumber The projectNumber for the stream. + * @param region The region for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherVODStreamRequest instance. + */ +- (instancetype)initWithAdTagURL:(NSString *)adTagURL + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + contentSourceURL:(NSString *)contentSourceURL + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Info.plist b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Info.plist new file mode 100755 index 0000000..7c8b5f0 Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Info.plist differ diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap new file mode 100755 index 0000000..c442356 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/Modules/module.modulemap @@ -0,0 +1,5 @@ +framework module GoogleInteractiveMediaAds { + umbrella header "GoogleInteractiveMediaAds.h" + export * + module * { export * } +} diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/README.txt b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/README.txt new file mode 100755 index 0000000..abd1899 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/README.txt @@ -0,0 +1,12 @@ +======================================== +Google Interactive Media Ads SDK for tvOS +======================================== + +This is the Google Interactive Media Ads SDK for tvOS. + +Requirements: +- Xcode 7.2 or later. +- tvOS deployment target of tvOS 9.1 or later. + +The latest documentation and code samples are available at: +https://developers.google.com/interactive-media-ads/ diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/VERSION b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/VERSION new file mode 100755 index 0000000..5b341fd --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/VERSION @@ -0,0 +1 @@ +4.9.1 diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/locales.xml b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/locales.xml new file mode 100755 index 0000000..0c5dbe0 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/locales.xml @@ -0,0 +1,114 @@ + + + + + af + am + ar_eg + ar_sa + ar_xb + ar + be + bg + bn + ca + cs + da + de_at + de_cn + de + el + + en_au + en_ca + en_gb + en_ie + en_in + en_sg + en_xa + en_xc + en_za + en + es_419 + es_ar + es_bo + es_cl + es_co + es_cr + es_do + es_ec + es_gt + es_hn + es_mx + es_ni + es_pa + es_pe + es_pr + es_py + es_sv + es_us + es_uy + es_ve + es + et + eu + fa + fi + fil + fr_ca + fr_ch + fr + gl + gsw + gu + he + hi + hr + hu + id + in + is + it + iw + ja + kn + ko + ln + lo + lt + lv + ml + mo + mr + ms + nb + ne + nl + no + pl + pt_br + pt_pt + pt + ro + ru + sk + sl + sr_latn + sr + sv + sw + ta + te + th + tl + tr + uk + ur + vi + zh_cn + zh_hk + zh_tw + zh + zu + + diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/prelude.js b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/prelude.js new file mode 100755 index 0000000..1ab5b88 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64/GoogleInteractiveMediaAds.framework/prelude.js @@ -0,0 +1,129 @@ +// TODO (b/138857444) Add BUILD file to compile this file. + +/** + * Adapter for JSTimer.setTimeout implementation to allow for proper + * propagation of variadic arguments. + * + * @param {function(...)} func The function to invoke. + * @param {number} delay The amount of milliseconds to wait before invoking the + * function. + * @param {...} args The arguments to pass to the function. + * @return {number} The identifier for the timer. + */ +setTimeout = function(func, delay, ...args) { + return JSTimer.setTimeout(func, delay, args); +}; + +/** + * Cancel invocation scheduled by setTimeout (If not yet triggered). + * + * @param {number} id The ID returned by setTimeout + * for the invocation to cancel. + */ +clearTimeout = function(id) { + JSTimer.clearTimeout(id); +}; + +/** + * Sends a message from the native bridge to Obj-C. + * + * @param {string} name The message name. + * @param {!Object} messageData The message data. + */ +browserlessSender = function(name, messageData) { + IMAJSMessageReceiver.didReceiveMessage(name, messageData); +}; + +/** + * Sends a message from Obj-c to the native bridge. + * + * @param {string} name The message name. + * @param {!Object} messageData The message data. + */ +browserlessReceiver = function(name, messageData) { + google.ima.NativeBridge.receiveMessage(name, JSON.stringify(messageData)); +}; + +google = {}; +google.ima = {}; +google.ima.NativeLoader = {}; +google.ima.BrowserlessExports = {}; + +/** + * Sends a message from Obj-c to the native bridge. + * + * @param {string} text the text to be encrypted. + * @param {string} keyset the keyset to be loaded. + * @param {function(string)} callback function to be called with the encryption + * result. + */ +google.ima.BrowserlessExports.encryptString = function(text, keyset, callback) { + JSEncryptor.encryptStringWithKeyset(text, keyset, callback); +}; + + +/** + * Gets the type of messaging that will be used to send messages from the JS + * layer to the native layer of the SDK. Messaging types defined in: + * javascript/ads/interactivemedia/sdk/native_bridge/constants.js + * + * @return {number} The type of messaging used (browserless). + */ +google.ima.NativeLoader.getMessagingType = function() { + return 3; +}; + +// Used for platform checks in the native bridge. +navigator = {}; + +document = {}; +/** + * Temporary stub for getElementsByTagName. + * TODO (kpshay) Remove once bridged document func is complete. + * @return {!Array} An empty array. + */ +document.getElementsByTagName = function() { + return []; +}; +window = {}; +window.location = {}; +window.location.search = ''; +window.location.hash = ''; +window.location.username = ''; +window.location.password = ''; +window.location.port = ''; +window.document = document; +// Simulate a top window context. +window.parent = window; + +/** A namespace for IMAXMLHttpRequest facilities. */ +IMAXMLHttpRequest = { + /** + * A map for holding onto active XMLHttpRequests. This is needed so that the + * garbage collector is aware of the XMLHttpRequest and won't deallocate its + * JS members (for example, any event listeners added). See b/154539920 for + * more details. + * @const {!Map} + */ + instances_: new Map(), + + /** + * Retains the given XMLHttpRequest in JavaScript. This should be called once + * the request is active and should not be garbage collected, even if there + * are no other explicit references kept to it in JavaScript. + * @param {!XMLHttpRequest} xhr The instance to register. + * @param {string} id An unique ID for this instance. + */ + retainInstance: function(xhr, id) { + IMAXMLHttpRequest.instances_.set(id, xhr); + }, + + /** + * Releases the given XMLHttpRequest in JavaScript. This should be called once + * the request is no longer in an active state and can be garbage collected. + * @param {string} id The ID of the XMLHttpRequest to release. + */ + releaseInstance: function(id) { + IMAXMLHttpRequest.instances_.delete(id); + }, +}; diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Assets.car b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Assets.car new file mode 100755 index 0000000..ed5f6a4 Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Assets.car differ diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds new file mode 100755 index 0000000..1f4ffb9 Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/GoogleInteractiveMediaAds differ diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h new file mode 100755 index 0000000..717afe0 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/GoogleInteractiveMediaAds.h @@ -0,0 +1,32 @@ +#import "IMAAVPlayerContentPlayhead.h" +#import "IMAAVPlayerVideoDisplay.h" +#import "IMAAd.h" +#import "IMAAdDisplayContainer.h" +#import "IMAAdError.h" +#import "IMAAdEvent.h" +#import "IMAAdPlaybackInfo.h" +#import "IMAAdPodInfo.h" +#import "IMAAdsLoader.h" +#import "IMAAdsManager.h" +#import "IMAAdsRenderingSettings.h" +#import "IMAAdsRequest.h" +#import "IMACompanionAd.h" +#import "IMACompanionAdSlot.h" +#import "IMAContentPlayhead.h" +#import "IMACuepoint.h" +#import "IMAFriendlyObstruction.h" +#import "IMALiveStreamRequest.h" +#import "IMAPictureInPictureProxy.h" +#import "IMAPodStreamRequest.h" +#import "IMASecureSignals.h" +#import "IMASecureSignalsAdapter.h" +#import "IMASettings.h" +#import "IMAStreamManager.h" +#import "IMAStreamRequest.h" +#import "IMAUiElements.h" +#import "IMAUniversalAdID.h" +#import "IMAVODStreamRequest.h" +#import "IMAVersion.h" +#import "IMAVideoDisplay.h" +#import "IMAVideoStitcherLiveStreamRequest.h" +#import "IMAVideoStitcherVODStreamRequest.h" diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h new file mode 100755 index 0000000..c912bf5 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerContentPlayhead.h @@ -0,0 +1,45 @@ +// +// IMAAVPlayerContentPlayhead.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares IMAAVPlayerContentPlayhead, a wrapper for tracking AVPlayer-based +// video players. + +#import + +#import "IMAContentPlayhead.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * An implementation of IMAContentPlayhead for AVPlayer. Use this class to + * provide content tracking if your content player of choice is an AVPlayer + * or its subclass. + */ +@interface IMAAVPlayerContentPlayhead : NSObject + +/** + * The player to track. + */ +@property(nonatomic, readonly) AVPlayer *player; + +/** + * Initializes a IMAAVPlayerContentPlayhead that tracks a player. It will attach a periodic time + * observer to the player immediately. + * + * @param player the AVPlayer to track. + * + * @return the IMAAVPlayerContentPlayhead instance + */ +- (instancetype)initWithAVPlayer:(AVPlayer *)player; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h new file mode 100755 index 0000000..b3384a7 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAVPlayerVideoDisplay.h @@ -0,0 +1,96 @@ +// +// IMAAVPlayerVideoDisplay.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares an object that reuses an AVPlayer for both content and ad playback + +#import + +#import "IMAVideoDisplay.h" + +NS_ASSUME_NONNULL_BEGIN + +@class AVPlayer; +@class AVPlayerItem; +@class AVURLAsset; +@class IMAAVPlayerVideoDisplay; + +/** + * The key for subtitle language. + */ +extern NSString *const kIMASubtitleLanguage; + +/** + * The key for the WebVTT sidecar subtitle URL. + */ +extern NSString *const kIMASubtitleWebVTT; + +/** + * The key for the TTML sidecar subtitle URL. + */ +extern NSString *const kIMASubtitleTTML; + +/** + * A callback protocol for IMAAVPlayerVideoDisplayDelegate. + */ +@protocol IMAAVPlayerVideoDisplayDelegate + +@optional + +/** + * Called when the IMAAVPlayerVideoDisplay will load a stream for playback. Allows the publisher to + * register the AVURLAsset for Fairplay content protection before playback starts. + * + * @param playerVideoDisplay the IMAVPlayerVideoDisplay that will load the AVURLAsset. + * @param URLAsset the AVURLAsset representing the stream to be loaded. + */ +- (void)playerVideoDisplay:(IMAAVPlayerVideoDisplay *)playerVideoDisplay + willLoadStreamAsset:(AVURLAsset *)URLAsset; + +/** + * Called when the IMAAVPlayerVideoDisplay has at least partially loaded media for + * playback and the player item is loaded. Only called for dynamic ad insertion. + */ +- (void)playerVideoDisplay:(IMAAVPlayerVideoDisplay *)playerVideoDisplay + didLoadPlayerItem:(AVPlayerItem *)playerItem; + +@end + +/** + * An implementation of the IMAVideoDisplay protocol. This object is intended + * to be initialized with the content player, and will reuse the player for + * playing ads. + */ +@interface IMAAVPlayerVideoDisplay : NSObject + +/** + * Allows the publisher to receive IMAAVPlayerVideoDisplay specific events. + */ +@property(nonatomic, weak, nullable) id playerVideoDisplayDelegate; + +/** + * The subtitles for the current stream. Will be nil until the stream starts playing. + */ +@property(nonatomic, readonly, nullable) NSArray *subtitles; + +/** + * A dictionary that contains options used to customize the initialization of an @c AVURLAsset for + * stream playback. Has no effect on client-side ads. + */ +@property(nonatomic, copy, nullable) NSDictionary *streamAssetOptions; + +/** + * Creates an IMAAVPlayerVideoDisplay that will play ads in the passed in + * content player. + * + * @param player the AVPlayer instance used for playing content + * + * @return an IMAAVPlayerVideoDisplay instance + */ +- (instancetype)initWithAVPlayer:(AVPlayer *)player; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h new file mode 100755 index 0000000..b88823e --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAd.h @@ -0,0 +1,197 @@ +// +// IMAAd.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Represents metadata of a single ad. The user can use this metadata for +// positioning nonlinear ads (isLinear, width, height), internal tracking +// (adId, adTitle) or custom behavior (traffickingParameters). + +#import + +#import "IMAAdPodInfo.h" +#import "IMACompanionAd.h" +#import "IMAUniversalAdID.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Data object representing a single ad. + */ +@interface IMAAd : NSObject + +/** + * The ad ID as specified in the VAST response. + */ +@property(nonatomic, copy, readonly) NSString *adId; + +/** + * The ad title from the VAST response. + */ +@property(nonatomic, copy, readonly) NSString *adTitle; + +/** + * The ad description. + */ +@property(nonatomic, copy, readonly) NSString *adDescription; + +/** + * The source ad server information included in the ad response. + */ +@property(nonatomic, copy, readonly) NSString *adSystem; + +/** The companion ads specified in the VAST response when using DAI. Empty for client-side ads. */ +@property(nonatomic, copy, readonly) NSArray *companionAds; + +/** + * Content type of the currently selected creative. For linear creatives + * returns the content type of the currently selected media file. Returns + * empty string if no creative or media file is selected on this ad. + */ +@property(nonatomic, copy, readonly) NSString *contentType; + +/** + * The duration of the ad from the VAST response. + */ +@property(nonatomic, readonly) NSTimeInterval duration; + +/** + * The UI elements that will be displayed during ad + * playback. + */ + +@property(nonatomic, copy, readonly) NSArray *uiElements; + +/** + * Whether or not the ad UI will be disabled for this ad. + * :nodoc: + */ +@property(nonatomic, readonly, getter=isUiDisabled) BOOL uiDisabled; + +/** + * The width of the ad asset. For non-linear ads, this is the actual width + * of the ad representation. For linear ads, since they scale seamlessly, we + * currently return 0 for width. + */ +@property(nonatomic, readonly) NSInteger width; + +/** + * The height of the ad asset. For non-linear ads, this is the actual height + * of the ad representation. For linear ads, since they scale seamlessly, we + * currently return 0 for height. + */ +@property(nonatomic, readonly) NSInteger height; + +/** + * The width of the selected creative as specified in the VAST response. + */ +@property(nonatomic, readonly) NSInteger VASTMediaWidth; + +/** + * The height of the selected creative as specified in the VAST response. + */ +@property(nonatomic, readonly) NSInteger VASTMediaHeight; + +/** + * The bitrate of the selected creative as specified in the VAST response. + */ +@property(nonatomic, readonly) NSInteger VASTMediaBitrate; + +/** + * Specifies whether the ad is linear or non-linear. + */ +@property(nonatomic, readonly, getter=isLinear) BOOL linear; + +/** + * Specifies whether the ad is skippable. + */ +@property(nonatomic, readonly, getter=isSkippable) BOOL skippable; + +/** + * The number of seconds of playback before the ad becomes skippable. -1 is returned for non + * skippable ads or if this is unavailable. + */ +@property(nonatomic, readonly) NSTimeInterval skipTimeOffset; + +/** + * Set of ad podding properties. + */ +@property(nonatomic, readonly) IMAAdPodInfo *adPodInfo; + +/** + * String representing custom trafficking parameters from the VAST response. + */ +@property(nonatomic, copy, readonly) NSString *traffickingParameters; + +/** + * Returns the ID of the selected creative for the ad. + */ +@property(nonatomic, copy, readonly) NSString *creativeID; + +/** + * Returns the ISCI (Industry Standard Commercial Identifier) code for an ad. This + * is the Ad-ID of the selected creative in the VAST response. + */ +@property(nonatomic, copy, readonly) NSString *creativeAdID; + +/** + * The list of all UniversalAdIds of the selected creative for this ad. Returns an empty array if + * no universal ad IDs are found. + */ +@property(nonatomic, copy, readonly) NSArray *universalAdIDs; + +/** + * The UniversalAdId of the selected creative for the ad. Returns the id value or "unknown" + * if unavailable. + */ +@property(nonatomic, copy, readonly) + NSString *universalAdIdValue DEPRECATED_MSG_ATTRIBUTE("Use universalAdIDs instead."); + +/** + * The registry associated with cataloging the UniversalAdId of the selected creative for the ad. + * Returns the registry value, or "unknown" if unavailable. + */ +@property(nonatomic, copy, readonly) + NSString *universalAdIdRegistry DEPRECATED_MSG_ATTRIBUTE("Use universalAdIDs instead."); + +/** + * The advertiser name as defined by the serving party. + */ +@property(nonatomic, copy, readonly) NSString *advertiserName; + +/** + * Returns the URL associated with the survey for the given ad. + */ +@property(nonatomic, copy, readonly, nullable) NSString *surveyURL; + +/** + * Returns the first deal ID present in the wrapper chain for the current ad, + * starting from the top. + */ +@property(nonatomic, copy, readonly) NSString *dealID; + +/** + * The IDs of the ads, starting with the first wrapper ad. + */ +@property(nonatomic, copy, readonly) NSArray *wrapperAdIDs; + +/** + * The IDs of the ads' creatives, starting with the first wrapper ad. + */ +@property(nonatomic, copy, readonly) NSArray *wrapperCreativeIDs; + +/** + * Ad systems used for wrapper ads. The ad systems returned begin with the + * first wrapper ad and continue to each wrapper ad recursively. + */ +@property(nonatomic, copy, readonly) NSArray *wrapperSystems; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h new file mode 100755 index 0000000..cf6125b --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdDisplayContainer.h @@ -0,0 +1,97 @@ +// +// IMAAdDisplayContainer.h +// GoogleIMA3 +// +// Copyright (c) 2014 Google Inc. All rights reserved. +// +// Declares the IMAAdDisplayContainer interface that manages the views, +// ad slots, and displays used for ad playback. + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class IMACompanionAdSlot; +@class IMAFriendlyObstruction; + +/** + * The IMAAdDisplayContainer is responsible for managing the ad container view and companion ad + * slots used for ad playback. + */ +@interface IMAAdDisplayContainer : NSObject + +/** + * View containing the video display and ad related UI. This view must be present in the view + * hierarchy in order to make ad or stream requests. + */ +@property(nonatomic, readonly) UIView *adContainer; + +/** + * View controller containing the ad container. Used to present ad UI in child view controllers. It + * must be non-nil in order to make ad or stream requests, and it must be in the view hierarchy + * before ad playback. + */ +@property(nonatomic, weak, nullable) UIViewController *adContainerViewController; + +/** The environment to focus on during an ad break. Nil if there is not currently an ad break. */ +@property(nonatomic, readonly, nullable) id focusEnvironment; + +/** List of companion ad slots. Can be nil or empty. */ +@property(nonatomic, readonly, nullable) NSArray *companionSlots; + +/** + * Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI without any + * companion slots. + * + * @param adContainer The view where the ad will be rendered. Fills the view's bounds. + * @param adContainerViewController The view controller containing the ad container. If not provided + * here, must be set on the property before making an ads or stream request. + * + * @return A new IMAAdDisplayContainer instance + */ +- (instancetype)initWithAdContainer:(UIView *)adContainer + viewController:(nullable UIViewController *)adContainerViewController; + +/** + * Initializes IMAAdDisplayContainer for rendering the ad and displaying the ad UI. + * + * @param adContainer The view where the ad will be rendered. Fills the view's bounds. + * @param adContainerViewController The view controller containing the ad container. If not provided + * here, must be set on the property before making an ads or stream request. + * @param companionSlots The array of IMACompanionAdSlots. Can be nil or empty. + * + * @return A new IMAAdDisplayContainer instance + */ +- (instancetype)initWithAdContainer:(UIView *)adContainer + viewController:(nullable UIViewController *)adContainerViewController + companionSlots:(nullable NSArray *)companionSlots; + +/** :nodoc: */ +- (instancetype)init NS_UNAVAILABLE; + +/** + * Registers a view that overlays or obstructs this container as "friendly" for viewability + * measurement purposes. + * + * See Open Measurement + * in the IMA SDK for guidance on what is and what is not allowed to be registered. + * + * @param friendlyObstruction An obstruction to be marked as "friendly" until unregistered. + */ +- (void)registerFriendlyObstruction:(IMAFriendlyObstruction *)friendlyObstruction; + +/** Unregisters all previously registered friendly obstructions. */ +- (void)unregisterAllFriendlyObstructions; + +/** :nodoc: */ +- (void)registerVideoControlsOverlay:(UIView *)videoControlsOverlay + DEPRECATED_MSG_ATTRIBUTE("Use registerFriendlyObstruction: instead."); + +/** :nodoc: */ +- (void)unregisterAllVideoControlsOverlays DEPRECATED_MSG_ATTRIBUTE( + "Use unregisterAllFriendlyObstructions: instead."); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h new file mode 100755 index 0000000..6d9e640 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdError.h @@ -0,0 +1,179 @@ +/*! \file IMAAdError.h + * GoogleIMA3 + * + * Copyright (c) 2013 Google Inc. All rights reserved. + * + * This file provides error codes that are raised by the SDK and + * declares the IMAAdError class. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark IMAErrorType + +/** + * Possible error types while loading or playing ads. + */ +typedef NS_ENUM(NSInteger, IMAErrorType) { + /** + * An unexpected error occurred while loading or playing the ads. + * This may mean that the SDK wasn't loaded properly. + */ + kIMAAdUnknownErrorType, + /** + * An error occurred while loading the ads. + */ + kIMAAdLoadingFailed, + /** + * An error occurred while playing the ads. + */ + kIMAAdPlayingFailed, +}; + +#pragma mark - IMAErrorCode + +/** + * Possible error codes raised while loading or playing ads. + */ +typedef NS_ENUM(NSInteger, IMAErrorCode) { + /** + * The ad response was not recognized as a valid VAST ad. + */ + kIMAError_VAST_MALFORMED_RESPONSE = 100, + /** + * Trafficking error. Video player received an ad type that it was not expecting and/or cannot + * display. + */ + kIMAError_VAST_TRAFFICKING_ERROR = 200, + /** + * The VAST URI provided, or a VAST URI provided in a subsequent Wrapper + * element, was either unavailable or reached a timeout, as defined by the + * video player. The timeout is 8 seconds for initial VAST requests and 4 + * seconds for each subsequent Wrapper. + */ + kIMAError_VAST_LOAD_TIMEOUT = 301, + /** + * The maximum number of VAST wrapper redirects has been reached. + */ + kIMAError_VAST_TOO_MANY_REDIRECTS = 302, + /** + * At least one VAST wrapper loaded and a subsequent wrapper or inline ad + * load has resulted in a 404 response code. + */ + kIMAError_VAST_INVALID_URL = 303, + /** + * There was an error playing the video ad. + */ + kIMAError_VIDEO_PLAY_ERROR = 400, + /** + * Failed to load media assets from a VAST response. + * The default timeout for media loading is 8 seconds. + */ + kIMAError_VAST_MEDIA_LOAD_TIMEOUT = 402, + /** + * Assets were found in the VAST ad response for linear ad, but none of them + * matched the video player's capabilities. + */ + kIMAError_VAST_LINEAR_ASSET_MISMATCH = 403, + /** + * A companion ad failed to load or render. + */ + kIMAError_COMPANION_AD_LOADING_FAILED = 603, + /** + * An unexpected error occurred and the cause is not known. Refer to the + * inner error for more information. + */ + kIMAError_UNKNOWN_ERROR = 900, + /** + * Ads list response was malformed. + */ + kIMAError_PLAYLIST_MALFORMED_RESPONSE = 1004, + /** + * There was a problem requesting ads from the server. + */ + kIMAError_FAILED_TO_REQUEST_ADS = 1005, + /** + * Listener for at least one of the required vast events was not added. + */ + kIMAError_REQUIRED_LISTENERS_NOT_ADDED = 1006, + /** + * No assets were found in the VAST ad response. + */ + kIMAError_VAST_ASSET_NOT_FOUND = 1007, + /** + * The ad slot is not visible on the page. + */ + kIMAError_ADSLOT_NOT_VISIBLE = 1008, + /** + * A VAST response containing a single <VAST> tag with no + * child tags. + */ + kIMAError_VAST_EMPTY_RESPONSE = 1009, + /** + * There was an error loading the ad. + */ + kIMAError_FAILED_LOADING_AD = 1010, + /** + * There was an error initializing the stream. + */ + kIMAError_STREAM_INITIALIZATION_FAILED = 1020, + /** + * Invalid arguments were provided to SDK methods. + */ + kIMAError_INVALID_ARGUMENTS = 1101, + /** + * Generic invalid usage of the API. + */ + kIMAError_API_ERROR = 1102, + /** + * The version of the runtime is too old. + */ + kIMAError_OS_RUNTIME_TOO_OLD = 1103, + /** + * Another VideoAdsManager is still using the video. It must be unloaded + * before another ad can play on the same element. + */ + kIMAError_VIDEO_ELEMENT_USED = 1201, + /** + * A video element was not specified where it was required. + */ + kIMAError_VIDEO_ELEMENT_REQUIRED = 1202, + /** + * Content playhead was not passed in, but list of ads has been returned + * from the server. + */ + kIMAError_CONTENT_PLAYHEAD_MISSING = 1205, +}; + +#pragma mark - IMAAdError + +/** + * Surfaces an error that occurred during ad loading or playing. + */ +@interface IMAAdError : NSObject + +/** + * The type of error that occurred during ad loading or ad playing. + */ +@property(nonatomic, readonly) IMAErrorType type; + +/** + * The error code for obtaining more specific information about the error. + */ +@property(nonatomic, readonly) IMAErrorCode code; + +/** + * A brief description about the error. + */ +@property(nonatomic, copy, readonly, nullable) NSString *message; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h new file mode 100755 index 0000000..22de21d --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdEvent.h @@ -0,0 +1,175 @@ +/*! \file IMAAdEvent.h + * GoogleIMA3 + * + * Copyright (c) 2013 Google Inc. All rights reserved. + * + * Defines a data object used to convey information during ad playback. + * This object is sent to the IMAAdsManager delegate. + */ + +#import + +#import "IMAAd.h" + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark IMAAdEventType + +/** + * Different event types sent by the IMAAdsManager to its delegate. + */ +typedef NS_ENUM(NSInteger, IMAAdEventType) { + /** + * Ad break ready. + */ + kIMAAdEvent_AD_BREAK_READY, + /** + * Ad break will not play back any ads. + */ + kIMAAdEvent_AD_BREAK_FETCH_ERROR, + /** + * Fired the first time each ad break ends. Applications must reenable seeking + * when this occurs (only used for dynamic ad insertion). + */ + kIMAAdEvent_AD_BREAK_ENDED, + /** + * Fired first time each ad break begins playback. If an ad break is watched + * subsequent times this will not be fired. Applications must disable seeking + * when this occurs (only used for dynamic ad insertion). + */ + kIMAAdEvent_AD_BREAK_STARTED, + /** + * Fired every time the stream switches from advertising or slate to content. + * This will be fired even when an ad is played a second time or when seeking + * into an ad (only used for dynamic ad insertion). + */ + kIMAAdEvent_AD_PERIOD_ENDED, + /** + * Fired every time the stream switches from content to advertising or slate. + * This will be fired even when an ad is played a second time or when seeking + * into an ad (only used for dynamic ad insertion). + */ + kIMAAdEvent_AD_PERIOD_STARTED, + /** + * All valid ads managed by the ads manager have completed or the ad response + * did not return any valid ads. + */ + kIMAAdEvent_ALL_ADS_COMPLETED, + /** + * Ad clicked. + */ + kIMAAdEvent_CLICKED, + /** + * Single ad has finished. + */ + kIMAAdEvent_COMPLETE, + /** + * Cuepoints changed for VOD stream (only used for dynamic ad insertion). + * For this event, the IMAAdEvent.adData property contains a list of + * IMACuepoints at IMAAdEvent.adData[@"cuepoints"]. + */ + kIMAAdEvent_CUEPOINTS_CHANGED, + /** + * The user has closed the icon fallback image dialog. This may be a good time to resume ad + * playback, which the SDK autopaused on icon tap. This event only fires for tvOS. + */ + kIMAAdEvent_ICON_FALLBACK_IMAGE_CLOSED, + /** + * The user has tapped an ad icon. On iOS, the SDK will navigate to the landing page. On tvOS, the + * SDK will present a modal dialog containing the VAST icon fallback image. + */ + kIMAAdEvent_ICON_TAPPED, + /** + * First quartile of a linear ad was reached. + */ + kIMAAdEvent_FIRST_QUARTILE, + /** + * An ad was loaded. + */ + kIMAAdEvent_LOADED, + /** + * A log event for the ads being played. These are typically non fatal errors. + */ + kIMAAdEvent_LOG, + /** + * Midpoint of a linear ad was reached. + */ + kIMAAdEvent_MIDPOINT, + /** + * Ad paused. + */ + kIMAAdEvent_PAUSE, + /** + * Ad resumed. + */ + kIMAAdEvent_RESUME, + /** + * Ad has skipped. + */ + kIMAAdEvent_SKIPPED, + /** + * Ad has started. + */ + kIMAAdEvent_STARTED, + /** + * Stream request has loaded (only used for dynamic ad insertion). + */ + kIMAAdEvent_STREAM_LOADED, + /** + * Stream has started playing (only used for dynamic ad insertion). Start + * Picture-in-Picture here if applicable. + */ + kIMAAdEvent_STREAM_STARTED, + /** + * Ad tapped. + */ + kIMAAdEvent_TAPPED, + /** + * Third quartile of a linear ad was reached. + */ + kIMAAdEvent_THIRD_QUARTILE +}; + +#pragma mark - Ad Data Keys + +/** + * The key for the time in seconds when the AD_BREAK_READY event fired. + */ +extern NSString *const kIMAAdBreakTime; + +#pragma mark - IMAAdEvent + +/** + * Simple data class used to transport ad playback information. + */ +@interface IMAAdEvent : NSObject + +/** + * Type of the event. + */ +@property(nonatomic, readonly) IMAAdEventType type; + +/** + * Stringified type of the event. + */ +@property(nonatomic, copy, readonly) NSString *typeString; + +/** + * The current ad that is playing or just played. This will be nil except for + * events where an ad is available (start, quartiles, midpoint, complete, and tap). + */ +@property(nonatomic, readonly, nullable) IMAAd *ad; + +/** + * Extra data about the ad. + */ +@property(nonatomic, copy, readonly, nullable) NSDictionary *adData; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h new file mode 100755 index 0000000..d7feab1 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPlaybackInfo.h @@ -0,0 +1,40 @@ +// +// IMAAdPlaybackInfo.h +// GoogleIMA3 +// +// Copyright (c) 2014 Google Inc. All rights reserved. +// +// Defines a protocol for providing ad playback information. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Groups various properties of the ad player. + */ +@protocol IMAAdPlaybackInfo + +/** + * The current media time of the ad, or 0 if no ad loaded. + */ +@property(nonatomic, readonly) NSTimeInterval currentMediaTime; + +/** + * The total media time of the ad, or 0 if no ad loaded. + */ +@property(nonatomic, readonly) NSTimeInterval totalMediaTime; + +/** + * The buffered media time of the ad, or 0 if no ad loaded. + */ +@property(nonatomic, readonly) NSTimeInterval bufferedMediaTime; + +/** + * Whether or not the ad is currently playing. + */ +@property(nonatomic, readonly, getter=isPlaying) BOOL playing; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h new file mode 100755 index 0000000..64ea432 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdPodInfo.h @@ -0,0 +1,64 @@ +// +// IMAAdPodInfo.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Represents podding metadata for a single ad. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Simple data object containing podding metadata. + */ +@interface IMAAdPodInfo : NSObject + +/** + * Total number of ads in the pod this ad belongs to. Will be 1 for standalone ads. + */ +@property(nonatomic, readonly) NSInteger totalAds; + +/** + * The position of this ad within an ad pod. Will be 1 for standalone ads. + */ +@property(nonatomic, readonly) NSInteger adPosition; + +/** + * Specifies whether the ad is a bumper. Bumpers are short videos used to open + * and close ad breaks. + */ +@property(nonatomic, readonly) BOOL isBumper; + +/** + * Client side: Returns the index of the ad pod. For a preroll pod, returns 0. + * For midrolls, returns 1, 2,..., N. For a postroll pod, returns -1. Defaults + * to 0 if this ad is not part of a pod, or this pod is not part of a playlist. + * DAI live stream: Always returns -1. + * DAI VOD: Returns the index of the ad pod. For a preroll pod, returns 0. For + * midrolls, returns 1, 2,...,N. For a postroll pod, returns N+1...N+X. + * Defaults to 0 if this ad is not part of a pod, or this pod is not part of a + * playlist. + */ +@property(nonatomic, readonly) NSInteger podIndex; + +/** + * The position of the pod in the content in seconds. Pre-roll returns 0, + * post-roll returns -1 and mid-rolls return the scheduled time of the pod. + */ +@property(nonatomic, readonly) NSTimeInterval timeOffset; + +/** + * The maximum duration of the pod in seconds. For unknown duration, -1 is returned. + */ +@property(nonatomic, readonly) NSTimeInterval maxDuration; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h new file mode 100755 index 0000000..0ebc318 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsLoader.h @@ -0,0 +1,169 @@ +// +// IMAAdsLoader.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares a set of classes used when loading ads. + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdError; +@class IMAAdsLoader; +@class IMAAdsManager; +@class IMAStreamManager; +@class IMAAdsRequest; +@class IMAStreamRequest; +@class IMASettings; + +#pragma mark - IMAAdsLoadedData + +/** + * Ad data that is returned when the ads loader loads the ad. + */ +@interface IMAAdsLoadedData : NSObject + +/** + * The ads manager instance created by the ads loader. + * Will be nil when using dynamic ad insertion. + */ +@property(nonatomic, readonly, nullable) IMAAdsManager *adsManager; + +/** + * The stream manager instance created by the ads loader. + * Will be nil when requesting ads client side. + */ +@property(nonatomic, readonly, nullable) IMAStreamManager *streamManager; + +/** + * The user context specified in the ads request. + */ +@property(nonatomic, readonly, nullable) id userContext; + +@end + +#pragma mark - IMAAdLoadingErrorData + +/** + * Ad error data that is returned when the ads loader fails to load the ad. + */ +@interface IMAAdLoadingErrorData : NSObject + +/** + * The ad error that occurred while loading the ad. + */ +@property(nonatomic, readonly) IMAAdError *adError; + +/** + * The user context specified in the ads request. + */ +@property(nonatomic, readonly, nullable) id userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +#pragma mark - IMAAdsLoaderDelegate + +/** + * Delegate object that receives state change callbacks from IMAAdsLoader. + */ +@protocol IMAAdsLoaderDelegate + +/** + * Called when ads are successfully loaded from the ad servers by the loader. + * + * @param loader the IMAAdsLoader that received the loaded ad data + * @param adsLoadedData the IMAAdsLoadedData instance containing ad data + */ +- (void)adsLoader:(IMAAdsLoader *)loader adsLoadedWithData:(IMAAdsLoadedData *)adsLoadedData; + +/** + * Error reported by the ads loader when loading or requesting an ad fails. + * + * @param loader the IMAAdsLoader that received the error + * @param adErrorData the IMAAdLoadingErrorData instance with error information + */ +- (void)adsLoader:(IMAAdsLoader *)loader failedWithErrorData:(IMAAdLoadingErrorData *)adErrorData; + +@end + +#pragma mark - IMAAdsLoader + +/** + * The IMAAdsLoader class allows the requesting of ads from the ad server. + * Use the delegate to receive the loaded ads or loading error + * in case of failure. + */ +@interface IMAAdsLoader : NSObject + +/** + * SDK-wide settings. Note that certain settings will only be evaluated during initialization of + * the adsLoader. + */ +@property(nonatomic, copy, readonly) IMASettings *settings; + +/** + * Delegate that receives IMAAdsLoaderDelegate callbacks. + */ +@property(nonatomic, weak, nullable) id delegate; + +/** + * Returns the SDK version. + * + * @return the SDK version + */ ++ (NSString *)sdkVersion; + +/** + * Initializes an IMAAdsLoader with specific settings. The loader takes 1-2 seconds to setup once + * initialized, therefore reusing a single instance of the ads loader is encouraged to minimize ad + * request times. + * + * @param settings the IMASettings to use for SDK wide settings. Uses defaults when nil. + * + * @return an IMAAdsLoader instance with given IMASettings + */ +- (instancetype)initWithSettings:(nullable IMASettings *)settings; + +/** + * Initializes the IMAAdsLoader with default settings. The loader takes 1-2 seconds to setup once + * initialized, therefore reusing a single instance of the ads loader is encouraged to minimize ad + * request times. + * + * @return an IMAAdsLoader instance with default IMASettings + */ +- (instancetype)init; + +/** + * Request ads from the ad server. The loader takes 1-2 seconds to setup on init and become ready + * to make ad requests. So reusing the same IMAAdsLoader instance is encouraged when making ad + * requests in order to minimize ad request times. + * + * @param request the IMAAdsRequest. If it was created for use with Picture-in-Picture, this + * IMAAdsLoader instance's IMASettings must have backround playback enabled + */ +- (void)requestAdsWithRequest:(IMAAdsRequest *)request; + +/** + * Request a stream with ads inserted dynamically. Reusing the same IMAAdsLoader instance is + * encouraged when making stream requests in order to minimize stream request latency. + * + * @param request the stream request + */ +- (void)requestStreamWithRequest:(IMAStreamRequest *)request; + +/** + * Signal to the SDK that the content has completed. The SDK will play + * post-rolls at this time, if any are scheduled. + */ +- (void)contentComplete; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h new file mode 100755 index 0000000..4bc4e40 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsManager.h @@ -0,0 +1,210 @@ +// +// IMAAdsManager.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares IMAAdsManager interface that manages ad playback. +// The interface represents an abstract API. There can be one or more ads +// managed by a single ads manager. +// The implementing code should respond to the callbacks as defined in +// IMAAdsManagerDelegate. +// +// A typical ad playback session: +// 1. Ads manager is retrieved. Delegate is set. +// 2. [adsManager initialize...]; - ad is initialized and loads. +// 3. delegate.didReceiveAdEvent is called with a kIMAAdEventLoaded event. +// 4. [adsManager start]; +// 5. delegate.adsManagerDidRequestContentPause: is called. The content +// playback should pause now. +// 6. Ad display container main view is unhidden and playback starts. +// 7. delegate.didReceiveAdEvent is called with ad events. +// 8. Ad finishes. +// 9. delegate.adsManagerDidRequestContentResume: is called. The content +// playback should resume now. +// 10. delegate.didReceiveAdEvent: is called with the +// kIMAAdEvent_ALL_ADS_COMPLETED event. +// It is possible to detach the delegate and destroy the ads manager. +// +// If multiple ads are managed by the ads manager, steps 5-9 may repeat several +// times. Step 5 will happen at times predetermined by the ads server. +// The implementing code should listen to callbacks until +// kIMAAdEvent_ALL_ADS_COMPLETED is received. + +#import + +@class IMAAdDisplayContainer; +@class IMAAdError; +@class IMAAdEvent; +@class IMAAdsRenderingSettings; + +#import "IMAAdPlaybackInfo.h" +#import "IMAContentPlayhead.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdsManager; + +#pragma mark IMAAdsManagerDelegate + +/** + * A callback protocol for IMAAdsManager. + */ +@protocol IMAAdsManagerDelegate + +/** + * Called when there is an IMAAdEvent. + * + * @param adsManager the IMAAdsManager receiving the event + * @param event the IMAAdEvent received + */ +- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdEvent:(IMAAdEvent *)event; + +/** + * Called when there was an error playing the ad. + * Log the error and resume playing content. + * + * @param adsManager the IMAAdsManager that errored + * @param error the IMAAdError received + */ +- (void)adsManager:(IMAAdsManager *)adsManager didReceiveAdError:(IMAAdError *)error; + +/** + * Called when an ad is ready to play. + * The implementing code should pause the content playback and prepare the UI + * for ad playback. + * + * @param adsManager the IMAAdsManager requesting content pause + */ +- (void)adsManagerDidRequestContentPause:(IMAAdsManager *)adsManager; + +/** + * Called when an ad has finished or an error occurred during the playback. + * The implementing code should resume the content playback. + * + * @param adsManager the IMAAdsManager requesting content resume + */ +- (void)adsManagerDidRequestContentResume:(IMAAdsManager *)adsManager; + +@optional + +/** + * Called every 200ms to provide time updates for the current ad. + * + * @param adsManager the IMAAdsManager tracking ad playback + * @param mediaTime the current media time in seconds + * @param totalTime the total media length in seconds + */ +- (void)adsManager:(IMAAdsManager *)adsManager + adDidProgressToTime:(NSTimeInterval)mediaTime + totalTime:(NSTimeInterval)totalTime; + +/** + * Called when the current ad is sufficiently buffered and playback is likely + * to keep up. + * + * @param adsManager the IMAAdsManager with ad playback ready + */ +- (void)adsManagerAdPlaybackReady:(IMAAdsManager *)adsManager; + +/** + * Called when the current ad media buffer is empty and playback did stall. + * + * @param adsManager the IMAAdsManager tracking the stalled ad + */ +- (void)adsManagerAdDidStartBuffering:(IMAAdsManager *)adsManager; + +/** + * Called as the current ad media buffers. + * + * @param adsManager the IMAAdsManager tracking the ad's media buffer + * @param mediaTime the current buffered media time in seconds + */ +- (void)adsManager:(IMAAdsManager *)adsManager adDidBufferToMediaTime:(NSTimeInterval)mediaTime; + +@end + +#pragma mark - IMAAdsManager + +/** + * The IMAAdsManager class is responsible for playing ads. + */ +@interface IMAAdsManager : NSObject + +/** + * The IMAAdsManagerDelegate to notify with events during ad playback. + */ +@property(nonatomic, weak, nullable) NSObject *delegate; + +/** + * List of content time offsets at which ad breaks are scheduled. + * Array of NSNumber double values in seconds. + * Empty NSArray for single ads or if no ad breaks are scheduled. + */ +@property(nonatomic, copy, readonly) NSArray *adCuePoints; + +/** + * Groups various properties about the linear ad playback. + */ +@property(nonatomic, readonly) id adPlaybackInfo; + +/** + * Set and get the volume for the current ad. From 0 (muted) to 1 (loudest). This volume is + * relative to device volume, not absolute. Default value is 1. + */ +@property(nonatomic, assign) float volume; + +/** + * Initializes and loads the ad. + * + * @param adsRenderingSettings the IMAAdsRenderingSettings. Pass in to influence ad rendering. + * Use nil to default to standard rendering. + */ +- (void)initializeWithAdsRenderingSettings:(nullable IMAAdsRenderingSettings *)adsRenderingSettings; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + * Starts advertisement playback. + */ +- (void)start; + +/** + * Pauses advertisement. + */ +- (void)pause; + +/** + * Resumes the advertisement. + */ +- (void)resume; + +/** + * Skips the advertisement if the ad is skippable and the skip offset has been reached. + */ +- (void)skip; + +/** + * Performs a clickthrough on the advertisement if the UI was successfully disabled via + * AdsRenderingSettings.disableUi. + * :nodoc: + */ +- (void)clicked; + +/** + * Causes the ads manager to stop the ad and clean its internal state. + */ +- (void)destroy; + +/** + * If an ad break is currently playing, discard it and resume content. + * Otherwise, ignore the next scheduled ad break. + */ +- (void)discardAdBreak; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h new file mode 100755 index 0000000..535f61d --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRenderingSettings.h @@ -0,0 +1,141 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * The default value of |bitrate property|, causes the effective bitrate to + * be automatically selected. + */ +extern const NSInteger kIMAAutodetectBitrate; + +#pragma mark IMALinkOpenerDelegate + +/** + * Signals that a link has been opened/closed. + * For an external app (Mobile Safari/App deep link), the delegate is only notified + * before opening. + */ +@protocol IMALinkOpenerDelegate + +@optional + +/** + * Called when Safari or app deep link is about to be opened. + * + * @param linkOpener the receiving object + */ +- (void)linkOpenerWillOpenExternalApplication:(NSObject *)linkOpener; + +/** + * Called before in-app browser/app store opens. + * + * @param linkOpener the receiving object. + */ +- (void)linkOpenerWillOpenInAppLink:(NSObject *)linkOpener; + +/** + * Called when the in app browser/app-store is shown on the screen. + * + * @param linkOpener the receiving object + */ +- (void)linkOpenerDidOpenInAppLink:(NSObject *)linkOpener; + +/** + * Called when in-app browser/app-store is about to close. + * + * @param linkOpener the receiving object + */ +- (void)linkOpenerWillCloseInAppLink:(NSObject *)linkOpener; + +/** + * Called when in-app browser/app-store finishes closing. + * + * @param linkOpener the receiving object + */ +- (void)linkOpenerDidCloseInAppLink:(NSObject *)linkOpener; + +@end + +#pragma mark - IMAAdsRenderingSettings + +/** + * Set of properties that influence how ads are rendered. + */ +@interface IMAAdsRenderingSettings : NSObject + +/** + * If specified, the SDK will play the media with MIME type on the list. + * List of strings specifying the MIME types. When empty, the SDK will + * use its default list of MIME types supported on iOS. + * Example: @[ @"video/mp4", @"application/x-mpegURL" ] + * The property is an empty array by default. + */ +@property(nonatomic, copy, nullable) NSArray *mimeTypes; + +/** + * Maximum recommended bitrate. The value is in kbit/s. + * SDK will pick media with bitrate below the specified max, or the closest + * bitrate if there is no media with smaller bitrate found. + * Default value, |kIMAAutodetectBitrate|, means the bitrate will be selected + * by the SDK, using the currently detected network speed (cellular or Wi-Fi). + */ +@property(nonatomic) NSInteger bitrate; + +/** + * Timeout (in seconds) when loading a video ad media file. If loading takes + * longer than this timeout, the ad playback is canceled and the next ad in the + * pod plays, if available. Use -1 for the default of 8 seconds. + */ +@property(nonatomic) NSTimeInterval loadVideoTimeout; + +/** + * For VMAP and ad rules playlists, only play ad breaks scheduled after this time (in seconds). + * This setting is strictly after the specified time. For example, setting playAdsAfterTime to + * 15 will ignore an ad break scheduled to play at 15s. + */ +@property(nonatomic) NSTimeInterval playAdsAfterTime; + +/** + * Specifies the list of UI elements that should be visible. + * This property may be ignored for AdSense/AdX ads. For valid values, see + * IMAUiElementType. This field + * is ignored on tvOS, where UI elements are unavailable. + */ +@property(nonatomic, copy, nullable) NSArray *uiElements; + +/** + * Whether or not to disable ad UI for non TrueView ads. Check Ad.getDisableUi to check if this + * request was honored. Default is false. + * :nodoc: + */ +@property(nonatomic) BOOL disableUi; + +/** + * Whether or not the SDK will preload ad media. Default is YES. + */ +@property(nonatomic) BOOL enablePreloading; + +/** + * Specifies the optional UIViewController that will be used to open links in-app. + * When nil, tapping the video ad "Learn More" button or companion ads + * will result in opening Safari browser. Setting this allows the SDK to open links in-app. This + * field is ignored on tvOS, where Safari is not available. + */ +@property(nonatomic, weak, nullable) UIViewController *linkOpenerPresentingController; + +/** + * The IMALinkOpenerDelegate to be notified when a link is opened/closed. + * Web links are unavailable on tvOS, but this delegate will be used to notify for deep links. + */ +@property(nonatomic, weak, nullable) id linkOpenerDelegate; + +/** + * Toggle this to allow web links to open externally. + * Default is false, ignored if @c linkOpenerPresentingController is nil. + * :nodoc: + */ +@property(nonatomic) BOOL openWebLinksExternally; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h new file mode 100755 index 0000000..7a9e4cc --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAAdsRequest.h @@ -0,0 +1,200 @@ +// +// IMAAdsRequest.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares a simple ad request class. + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@class IMAAVPlayerContentPlayhead; +@class IMAAVPlayerVideoDisplay; +@class IMAPictureInPictureProxy; +@class IMASecureSignals; +@protocol IMAContentPlayhead; + +/** + * Data class describing the ad request. + */ +@interface IMAAdsRequest : NSObject + +/** + * Specifies the full URL to use for ads loading from an ad server. Required + * for any adsRequest. For details on constructing the ad tag url, + * see + * Create a main ad video tag manually. + */ +@property(nonatomic, copy, readonly, nullable) NSString *adTagUrl; + +/** + * Specifies a VAST, VMAP, or ad rules response to be used instead of making a + * request through an ad tag URL. This can be useful for debugging and other situations + * in which an ad response is already available. + */ +@property(nonatomic, copy, readonly, nullable) NSString *adsResponse; + +/** + * The ad display container. + */ +@property(nonatomic, readonly) IMAAdDisplayContainer *adDisplayContainer; + +/** + * The user context. + */ +@property(nonatomic, readonly, nullable) id userContext; + +/** + * Specifies whether the player intends to start the content and ad in + * response to a user action or whether they will be automatically played. + * Changing this setting will have no impact on ad playback. + */ +@property(nonatomic) BOOL adWillAutoPlay; + +/** + * Specifies whether the player intends to start the content and ad with no volume. + * Changing this setting will have no impact on ad playback. + */ +@property(nonatomic) BOOL adWillPlayMuted; + +/** + * Specifies whether the player intends to continuously play the content videos one after + * another similar to TV broadcast. Not calling this function leaves the setting as unknown. + * Note: Changing this setting will have no impact on ad playback. + */ +@property(nonatomic) BOOL continuousPlayback; + +/** + * Specifies the duration of the content in seconds to be shown. Used in AdX requests. This + * parameter is optional. + */ +@property(nonatomic) float contentDuration; + +/** + * Specifies the keywords used to describe the content to be shown. Used in AdX requests. This + * parameter is optional. + */ +@property(nonatomic, copy, nullable) NSArray *contentKeywords; + +/** + * Specifies the title of the content to be shown. Used in AdX requests. This parameter is + * optional. + */ +@property(nonatomic, copy, nullable) NSString *contentTitle; + +/** + * Specifies the Secure Signal with custom data for this ads request. Secure Signal with custom + * data is an encrypted blob containing signals collected by the publisher and previously agreed + * upon by the publisher and bidder. The Secure Signal with custom data can be cleared out by + * passing null to this function. + */ +@property(nonatomic, strong, nullable) IMASecureSignals *secureSignals; + +/** + * Specifies the universal link to the content's screen. If provided, this parameter is passed to + * the OM SDK. See Apple + * documentation for more information. + */ +@property(nonatomic, copy, nullable) NSURL *contentURL; + +/** + * Specifies the VAST load timeout in milliseconds for the initial request and any subsequent + * wrappers. This parameter is optional and will override the default timeout. + */ +@property(nonatomic) float vastLoadTimeout; + +/** + * Specifies the maximum amount of time to wait in seconds, after calling requestAds, + * before requesting the ad tag URL. This can be used to stagger requests during a + * live-stream event, in order to mitigate spikes in the number of requests. + */ +@property(nonatomic) float liveStreamPrefetchSeconds; + +/** + * Initializes an ads request instance with the given canned ads response and ad display + * container with Picture-in-Picture support. Serial ad requests may reuse the + * same IMAAdDisplayContainer by first calling [IMAAdsManager destroy] on its + * current adsManager. Concurrent requests must use different ad containers. + * + * @param adsResponse the canned ads response + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param avPlayerVideoDisplay the IMAAVPlayerVideoDisplay for rendering ads + * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events + * @param userContext the user context for tracking requests (optional) + * + * @return the IMAAdsRequest instance + */ +- (instancetype)initWithAdsResponse:(NSString *)adsResponse + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + avPlayerVideoDisplay:(IMAAVPlayerVideoDisplay *)avPlayerVideoDisplay + pictureInPictureProxy:(IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext API_AVAILABLE(ios(9.0), tvos(14.0)); + +/** + * Initializes an ads request instance with the given canned ads response and ad display + * container. Serial ad requests may reuse the same IMAAdDisplayContainer by + * first calling [IMAAdsManager destroy] on its current adsManager. Concurrent + * requests must use different ad containers. Does not support Picture-in-Picture. + * + * @param adsResponse the canned ads response + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param contentPlayhead the IMAContentPlayhead for the content player (optional) + * @param userContext the user context for tracking requests (optional) + * + * @return the IMAAdsRequest instance + */ +- (instancetype)initWithAdsResponse:(NSString *)adsResponse + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + contentPlayhead:(nullable NSObject *)contentPlayhead + userContext:(nullable id)userContext NS_DESIGNATED_INITIALIZER; + +/** + * Initializes an ads request instance with the given ad tag URL and ad display + * container with Picture-in-Picture support. Serial ad requests may reuse the + * same IMAAdDisplayContainer by first calling [IMAAdsManager destroy] on its + * current adsManager. Concurrent requests must use different ad containers. + * + * @param adTagUrl the ad tag URL + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param avPlayerVideoDisplay the IMAAVPlayerVideoDisplay for rendering ads + * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events + * @param userContext the user context for tracking requests (optional) + * + * @return the IMAAdsRequest instance + */ +- (instancetype)initWithAdTagUrl:(NSString *)adTagUrl + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + avPlayerVideoDisplay:(IMAAVPlayerVideoDisplay *)avPlayerVideoDisplay + pictureInPictureProxy:(IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext API_AVAILABLE(ios(9.0), tvos(14.0)); + +/** + * Initializes an ads request instance with the given ad tag URL and ad display + * container. Serial ad requests may reuse the same IMAAdDisplayContainer by + * first calling [IMAAdsManager destroy] on its current adsManager. Concurrent + * requests must use different ad containers. Does not support Picture-in-Picture. + * + * @param adTagUrl the ad tag URL + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param contentPlayhead the IMAContentPlayhead for the content player (optional) + * @param userContext the user context for tracking requests (optional) + * + * @return the IMAAdsRequest instance + */ +- (instancetype)initWithAdTagUrl:(NSString *)adTagUrl + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + contentPlayhead:(nullable NSObject *)contentPlayhead + userContext:(nullable id)userContext NS_DESIGNATED_INITIALIZER; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h new file mode 100755 index 0000000..799fe51 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAd.h @@ -0,0 +1,28 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +/** An object that holds data corresponding to the companion ad. */ +@interface IMACompanionAd : NSObject + +/** The value for the resource of this companion. */ +@property(nonatomic, copy, readonly, nullable) NSString *resourceValue; + +/** The API needed to execute this ad, or nil if unavailable. */ +@property(nonatomic, copy, readonly, nullable) NSString *APIFramework; + +/** The width of the companion in pixels. 0 if unavailable. */ +@property(nonatomic, readonly) NSInteger width; + +/** The height of the companion in pixels. 0 if unavailable. */ +@property(nonatomic, readonly) NSInteger height; + +/** + * Obtain an instance from IMAAd.companionAds. + * :nodoc: + */ +- (nonnull instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h new file mode 100755 index 0000000..baaddbb --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACompanionAdSlot.h @@ -0,0 +1,111 @@ +// +// IMACompanionAdSlot.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Declares a data class that describes a companion ad slot. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Fluid companion ads have no fixed size, but rather adapt to fit the creative + * content they display. Set width and height to fluid size to allow companion + * slot to be filled by fluid companion ad. + */ +extern const NSInteger kIMAFluidSize; + +@class IMACompanionAdSlot; + +#pragma mark IMACompanionDelegate + +/** + * Delegate to receive events from the companion ad slot. + */ +@protocol IMACompanionDelegate + +@optional + +/** + * Called when the slot is either filled or not filled. + * + * @param slot the IMACompanionAdSlot receiving the event + * @param filled is the slot filled or not + */ +- (void)companionSlot:(IMACompanionAdSlot *)slot filled:(BOOL)filled; + +/** + * Called when the slot is clicked on by the user and will + * successfully navigate away. + * + * @param slot the IMACompanionAdSlot receiving the event + */ +- (void)companionSlotWasClicked:(IMACompanionAdSlot *)slot; + +@end + +#pragma mark - IMACompanionAdSlot + +/** + * Ad slot for companion ads. The SDK will put a subview inside the provided + * UIView container. The companion will be matched to the width and height + * provided here. This class cannot be instantiated on tvOS, where companion ads + * are not available. + */ +@interface IMACompanionAdSlot : NSObject + +/** + * The view the companion will be rendered in. Display this view in your + * application before video ad starts. + */ +@property(nonatomic, readonly) UIView *view; + +/** + * Width of the slot, in pixels. This value is sent to the DFP ad server for + * targeting. + */ +@property(nonatomic, readonly) NSInteger width; + +/** + * Height of the slot, in pixels. This value is sent to the DFP ad server for + * targeting. + */ +@property(nonatomic, readonly) NSInteger height; + +/** + * The IMACompanionDelegate for receiving events from the companion ad slot. + */ +@property(nonatomic, weak, nullable) id delegate; + +/** + * Initializes an instance of a IMACompanionAdSlot with design ad width and height. + * + * @param view the UIView that will contain the companion ad + * @param width the chosen width of the ad + * @param height the chosen height of the ad + * + * @return the IMACompanionAdSlot instance + */ +- (instancetype)initWithView:(UIView *)view + width:(NSInteger)width + height:(NSInteger)height __TVOS_UNAVAILABLE; + +/** + * Initializes an instance of a IMACompanionAdSlot with fluid size. + * + * @param view the UIView that will contain the companion ad. + * + * @return the IMACompanionAdSlot instance + */ +- (instancetype)initWithView:(UIView *)view __TVOS_UNAVAILABLE; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h new file mode 100755 index 0000000..4360949 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAContentPlayhead.h @@ -0,0 +1,37 @@ +// +// IMAContentPlayhead.h +// GoogleIMA3 +// +// Copyright (c) 2013 Google Inc. All rights reserved. +// +// Defines protocol for wrapping content playhead used in content tracking. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Property name used for key value observation. + */ +extern NSString *const kIMAPropertyCurrentTime; + +/** + * Defines an interface for a class that tracks video content progress and + * exposes a key value observable property |currentTime|. + * The SDK provides an implementation for tracking AVPlayer-based playback + * in the IMAAVPlayerContentPlayhead. + * Publishers can supply their own implementation by implementing this + * interface and this way support any other video playback implementation + * they might have. + */ +@protocol IMAContentPlayhead + +/** + * Reflects the current playback time in seconds for the content. + * The property is key value observable. + */ +@property(nonatomic, readonly) NSTimeInterval currentTime; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h new file mode 100755 index 0000000..65e8480 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMACuepoint.h @@ -0,0 +1,38 @@ +// +// IMACuepoint.h +// GoogleIMA3_ios +// +// Represents a cuepoint with a start and end time. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Data object representation of a cuepoint for a single ad break. + */ +@interface IMACuepoint : NSObject + +/** + * The start time of the cuepoint in seconds. + */ +@property(nonatomic, readonly) NSTimeInterval startTime; + +/** + * The end time of the cuepoint in seconds. + */ +@property(nonatomic, readonly) NSTimeInterval endTime; + +/** + * Specifies whether this cuepoint has been played. + */ +@property(nonatomic, readonly, getter=isPlayed) BOOL played; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h new file mode 100755 index 0000000..868b803 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAFriendlyObstruction.h @@ -0,0 +1,45 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +/** A list of purposes for which an obstruction would be registered as friendly. */ +typedef NS_ENUM(NSUInteger, IMAFriendlyObstructionPurpose) { + IMAFriendlyObstructionPurposeMediaControls, + IMAFriendlyObstructionPurposeCloseAd, + IMAFriendlyObstructionPurposeNotVisible, + IMAFriendlyObstructionPurposeOther, +}; + +/** An obstruction that is marked as "friendly" for viewability measurement purposes. */ +@interface IMAFriendlyObstruction : NSObject + +/** The view causing the obstruction. */ +@property(nonatomic, readonly) UIView *view; + +/** The purpose for registering the obstruction as friendly. */ +@property(nonatomic, readonly) IMAFriendlyObstructionPurpose purpose; + +/** + * Optional, detailed reasoning for registering this obstruction as friendly. + * If the detailedReason is not null, it must follow the IAB + * standard by being 50 characters or less and only containing characters + * A-z, 0-9, or spaces. + */ +@property(nonatomic, readonly, nullable) NSString *detailedReason; + +/** + * Initializes a friendly obstruction. + * + * @param view The view causing the obstruction. + * @param purpose The purpose for registering the obstruction as friendly. + * @param detailedReason Optional, detailed reasoning for registering this obstruction as friendly. + * + * @return A new IMAFriendlyObstruction instance + */ +- (instancetype)initWithView:(UIView *)view + purpose:(IMAFriendlyObstructionPurpose)purpose + detailedReason:(nullable NSString *)detailedReason; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h new file mode 100755 index 0000000..1b38723 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMALiveStreamRequest.h @@ -0,0 +1,73 @@ +// +// IMALiveStreamRequest.h +// GoogleIMA3_ios +// +// Declares a representation of a stream request for live streams. +// +// + +#import "IMAPictureInPictureProxy.h" +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** + * Data object describing a live stream request. + */ + +@interface IMALiveStreamRequest : IMAStreamRequest + +/** + * This is used to determine which stream should be played. + * The live stream request asset key is an identifier which can be + * found in the DFP UI. + * + * @type {!string} + */ +@property(nonatomic, copy, readonly) NSString *assetKey; + +/** + * Initializes a live stream request instance with the given assetKey. Uses the given ad display + * container to display the stream. + * + * @param assetKey the stream assetKey + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param videoDisplay the IMAVideoDisplay for playing the stream + * @param userContext The user context for tracking requests (optional) + * + * @return the IMALiveStreamRequest instance + */ +- (instancetype)initWithAssetKey:(NSString *)assetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; + +/** + * Initializes a live stream request instance with the given assetKey. Uses the given ad display + * container to display the stream. Uses the picture in picture proxy to track PIP events. + * + * @param assetKey the stream assetKey + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param videoDisplay the IMAVideoDisplay for playing the stream + * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events + * @param userContext The user context for tracking requests (optional) + * + * @return the IMALiveStreamRequest instance + */ +- (instancetype)initWithAssetKey:(NSString *)assetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h new file mode 100755 index 0000000..d4453e9 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPictureInPictureProxy.h @@ -0,0 +1,70 @@ +// +// IMAPictureInPictureProxy.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Defines a proxy for wrapping an AVPlayerViewControllerDelegate or +// AVPictureInPictureControllerDelegate for handling Picture-in-Picture. + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol AVPlayerViewControllerDelegate; +@protocol AVPictureInPictureControllerDelegate; + +/** + * A proxy class for allowing the SDK to detect entering and exiting + * Picture-in-Picture. + * + * To use the proxy, create an instance of IMAPictureInPictureProxy with the + * Picture-in-Picture delegate as an argument, and then simply set the + * Picture-in-Picture controller's delegate to the proxy. See + * + * Picture in Picture for more details. + */ +#if TARGET_OS_IOS || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 140000) +@interface IMAPictureInPictureProxy + : NSProxy +#else +@interface IMAPictureInPictureProxy : NSObject +#endif +/** + * Whether or not Picture-in-Picture is currently active. + */ +@property(nonatomic, readonly, getter=isPictureInPictureActive) BOOL pictureInPictureActive; + +/** + * Whether or not Picture-in-Picture is supported on this device. + */ ++ (BOOL)isPictureInPictureSupported; + +/** + * Instantiates an IMAPictureInPictureProxy that will proxy delegate + * messages from an AVPictureInPictureController, and forward them + * to the AVPictureInPictureControllerDelegate passed on init. + * + * @param delegate the AVPictureInPictureControllerDelegate + * + * @return an IMAPictureInPictureProxy instance + */ +- (instancetype)initWithAVPictureInPictureControllerDelegate: + (id)delegate API_AVAILABLE(ios(9.0), tvos(14.0)); + +/** + * Instantiates an IMAPictureInPictureProxy that will proxy delegate + * messages from an AVPlayerViewController, and forward them to the + * AVPlayerViewControllerDelegate passed on init. + * + * @param delegate the AVPlayerViewControllerDelegate + * + * @return an IMAPictureInPictureProxy instance + */ +- (instancetype)initWithAVPlayerViewControllerDelegate:(id)delegate + API_AVAILABLE(ios(9.0), tvos(14.0)); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h new file mode 100755 index 0000000..76d68ad --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAPodStreamRequest.h @@ -0,0 +1,64 @@ +#import "IMAPictureInPictureProxy.h" +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** Data object describing a stream request for a pod serving stream. */ +@interface IMAPodStreamRequest : IMAStreamRequest + +/** The network code for the stream request. */ +@property(nonatomic, copy, readonly) NSString *networkCode; + +/** The custom asset key for the stream request. */ +@property(nonatomic, copy, readonly) NSString *customAssetKey; + +/** + * Initializes a stream request instance with the given network code and custom + * asset key. Uses the given ad display container to display the stream. + * + * @param networkCode The network code for the stream. + * @param customAssetKey The asset key for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAPodStreamRequest instance. + */ +- (instancetype)initWithNetworkCode:(NSString *)networkCode + customAssetKey:(NSString *)customAssetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; + +/** + * Initializes a stream request instance with the given network code and custom + * asset key. Uses the given ad display container to display the stream. Uses the picture in picture + * proxy to track PIP events. + * + * @param networkCode The network code for the stream. + * @param customAssetKey The asset key for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAPodStreamRequest instance. + */ +- (instancetype)initWithNetworkCode:(NSString *)networkCode + customAssetKey:(NSString *)customAssetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h new file mode 100755 index 0000000..52530b3 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignals.h @@ -0,0 +1,25 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +// Stores the signal data for SecureSignals. Currently used to store signal for PCS only. +@interface IMASecureSignals : NSObject + +/** + * Secure Signal with custom data sent with ads request. Secure Signal with custom + * data is an encrypted blob containing signals collected by the publisher and previously agreed + * upon by the publisher and bidder。 + */ + +@property(nonatomic, copy, readonly) NSString *customData; + +- (instancetype)initWithCustomData:(NSString *)customData NS_DESIGNATED_INITIALIZER; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h new file mode 100755 index 0000000..08de9f9 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASecureSignalsAdapter.h @@ -0,0 +1,34 @@ +#import + +@class IMAVersion; + +NS_ASSUME_NONNULL_BEGIN + +/** Completion handler for signal generation. Returns either signals or an error object. */ +typedef void (^IMASignalCompletionHandler)(NSString *_Nullable signals, NSError *_Nullable error); + +/** Adapter that provides secure signal(3rd party signal only) to the IMA SDK to be included in an + * auction. */ +@protocol IMASecureSignalsAdapter + +/** Initializes the Secure Signal adapter. */ +- (nullable instancetype)init; + +/** The version of the adapter. */ ++ (IMAVersion *)adapterVersion; + +/** The version of the ad SDK. */ ++ (IMAVersion *)adSDKVersion; + +/** + * Asks the receiver for encrypted signals. Signals are provided to the 3PAS at request time. The + * receiver must call @c completionHandler with signals or an error. + * This method is called on a non-main thread. The receiver should avoid using the main thread to + * prevent signal collection timeouts. + * @param completion The block to call when signal collection is complete. + */ +- (void)collectSignalsWithCompletion:(IMASignalCompletionHandler)completion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h new file mode 100755 index 0000000..ce27a31 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMASettings.h @@ -0,0 +1,94 @@ +// +// IMASettings.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Stores SDK wide settings. Only instantiated in the SDK. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * The IMASettings class stores SDK wide settings. + */ +@interface IMASettings : NSObject + +/** + * Publisher Provided Identification (PPID) sent with ads request. + */ +@property(nonatomic, copy, nullable) NSString *ppid; + +/** + * Language specification used for localization. |Language| must be formatted as + * a canonicalized IETF BCP 47 language identifier such as would be returned by + * [NSLocale preferredLanguages]. Setting this property after it has been sent + * to the IMAAdsLoader will be ignored and a warning will be logged. + */ +@property(nonatomic, copy) NSString *language; + +/** + * Specifies maximum number of redirects after which subsequent redirects will + * be denied, and the ad load aborted. The number of redirects directly affects + * latency and thus user experience. This applies to all VAST wrapper ads. If + * the number of redirects exceeds |maxRedirects|, the ad request will fail with + * error code 302. The default value is 4. + */ +@property(nonatomic) NSUInteger maxRedirects; + +/** + * Feature flags and their states. Used to control experimental features. + */ +@property(nonatomic) NSDictionary *featureFlags; + +/** + * Enable background audio playback for the SDK. The default value is NO. + */ +@property(nonatomic) BOOL enableBackgroundPlayback; + +/** + * Specifies whether to automatically play VMAP and ad rules ad breaks. The + * default value is YES. + */ +@property(nonatomic) BOOL autoPlayAdBreaks; + +/** + * Specifies whether to update the MPNowPlayingInfoCenter content with the + * title "Advertisement". If disabled, MPNowPlayingInfoCenter is untouched. + * The default value is NO. + */ +@property(nonatomic) BOOL disableNowPlayingInfo; + +/** + * The partner specified video player that is integrating with the SDK. + */ +@property(nonatomic, copy, nullable) NSString *playerType; + +/** + * The partner specified player version that is integrating with the SDK. + */ +@property(nonatomic, copy, nullable) NSString *playerVersion; + +/** + * The session ID to identify a single user session. This should be a UUID. It + * is used exclusively for frequency capping across the user session. + */ +@property(nonatomic, copy, nullable) NSString *sessionID; + +/** + * Controls whether Same App Key is enabled. The value set persists across app sessions. The key is + * enabled by default. + */ +@property(nonatomic) BOOL sameAppKeyEnabled __TVOS_UNAVAILABLE; + +/** + * Toggles debug mode which will output detailed log information to the console. + * Debug mode should be disabled in Release and will display a watermark when + * enabled. The default value is NO. + */ +@property(nonatomic) BOOL enableDebugMode; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h new file mode 100755 index 0000000..721fc7c --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamManager.h @@ -0,0 +1,166 @@ +// +// IMAStreamManager.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Declares IMAStreamManager interface that manages stream playback. +// The interface represents an abstract API. There can be only one stream managed by a single +// stream manager. +// The implementing code should respond to the callbacks as defined in IMAStreamManagerDelegate. +// +// A typical stream playback session: +// 1. Stream manager is retrieved. Delegate is set. +// 2. Stream playback will meanwhile start because of the adsLoader requestStream call. +// 3. delegate.didReceiveAdEvent: is called with a kIMAAdBreakStarted event. +// 4. Publisher should now hide content controls or disable seeking. Ad is now playing +// 5. delegate.didReceiveAdEvent: is called with a kIMAAdStart event. This event comes with +// information about the ad. +// 6. delegate.didReceiveAdEvent is called with ad events like quartiles, midpoint and complete. +// 7. Ad break finishes and delegate.didReceiveAdEvent is called with a kIMAAdBreakEnded event. +// 8. Publisher should now show content controls or reenable seeking. Content is now playing. +// playback should resume now. +// It is possible to detach the delegate and destroy the ads manager. +// +// Steps 3-8 may repeat several times for the same stream if there are multiple ads inserted in +// the stream. + +#import + +#import "IMAAdError.h" +#import "IMAAdEvent.h" +#import "IMAAdPlaybackInfo.h" +#import "IMAAdsRenderingSettings.h" +#import "IMAContentPlayhead.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMACuepoint; +@class IMAStreamManager; + +#pragma mark IMAStreamManagerDelegate + +/** + * A callback protocol for IMAStreamManager. + */ +@protocol IMAStreamManagerDelegate + +/** + * Called when there is an IMAAdEvent. + * + * @param streamManager the IMAStreamManager receiving the event + * @param event the IMAAdEvent received + */ +- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdEvent:(IMAAdEvent *)event; + +/** + * Called when there is an IMAAdEvent. + * + * @param streamManager the IMAStreamManager receiving the error + * @param error the IMAAdError received + */ +- (void)streamManager:(IMAStreamManager *)streamManager didReceiveAdError:(IMAAdError *)error; + +@optional + +/** + * Called when the ad is playing to give updates about ad progress. + * + * @param streamManager the IMAStreamManager tracking ad playback + * @param time the current ad playback time in seconds + * @param adDuration the total duration of the current ad in seconds + * @param adPosition the ad position of the current ad in the current ad break + * @param totalAds the total number of ads in the current ad break + * @param adBreakDuration the total duration of the current ad break in seconds + * @param adPeriodDuration the total duration of the current ad period in seconds. This includes ads + * duration plus slate. + */ +- (void)streamManager:(IMAStreamManager *)streamManager + adDidProgressToTime:(NSTimeInterval)time + adDuration:(NSTimeInterval)adDuration + adPosition:(NSInteger)adPosition + totalAds:(NSInteger)totalAds + adBreakDuration:(NSTimeInterval)adBreakDuration + adPeriodDuration:(NSTimeInterval)adPeriodDuration; + +@end + +#pragma mark - IMAStreamManager + +/** + * The IMAStreamManager class is responsible for playing streams. + */ +@interface IMAStreamManager : NSObject + +/** + * The IMAStreamManagerDelegate to notify with events during stream playback. + */ +@property(nonatomic, weak, nullable) NSObject *delegate; + +/** + * Identifier used during dynamic ad insertion to uniquely identify a stream. This can be used in + * the Stream Activity Monitor Debug Console to debug the stream session. + */ +@property(nonatomic, copy, readonly, nullable) NSString *streamId; + +/** + * Initializes and loads the stream. + * + * @param adsRenderingSettings the IMAAdsRenderingSettings. Pass in to influence ad rendering. + * Use nil to default to standard rendering. + */ +- (void)initializeWithAdsRenderingSettings:(nullable IMAAdsRenderingSettings *)adsRenderingSettings; + +/** + * Returns the stream time with ads for a given content time. Returns the given content time + * for live streams. + * + * @param contentTime the content time without any ads (in seconds) + * + * @return the stream time that corresponds with the given content time once ads are inserted + */ +- (NSTimeInterval)streamTimeForContentTime:(NSTimeInterval)contentTime; + +/** + * Returns the content time without ads for a given stream time. Returns the given stream time + * for live streams. + * + * @param streamTime the stream time with inserted ads (in seconds) + * + * @return the content time that corresponds with the given stream time once ads are removed + */ +- (NSTimeInterval)contentTimeForStreamTime:(NSTimeInterval)streamTime; + +/** + * Returns the previous cuepoint for the given stream time. Returns nil if no such cuepoint exists. + * This is used to implement features like snap back, and called when the publisher detects that + * the user seeked in order to force the user to watch an ad break they may have skipped over. + * + * @param streamTime the stream time that the was seeked to. + * + * @return the previous IMACuepoint for the given stream time. + */ +- (nullable IMACuepoint *)previousCuepointForStreamTime:(NSTimeInterval)streamTime; + +/** + * Replaces all of the ad tag parameters used for upcoming ad requests for a + * live stream. + * Note that this call is a no-op for VOD streams. + * + * @param adTagParameters the new ad tag parameters for the current stream. + */ +- (void)replaceAdTagParameters:(nullable NSDictionary *)adTagParameters; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +/** + * Cleans the stream manager's internal state for proper deallocation. + */ +- (void)destroy; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h new file mode 100755 index 0000000..9d9368d --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAStreamRequest.h @@ -0,0 +1,107 @@ +// +// IMAStreamRequest.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Declares a simple stream request class. + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@class IMASecureSignals; +@protocol IMAVideoDisplay; + +/** + * Data class describing the stream request. + */ +@interface IMAStreamRequest : NSObject + +/** + * The stream display container for displaying the ad UI. + */ +@property(nonatomic, readonly) IMAAdDisplayContainer *adDisplayContainer; + +/** + * The video display where the stream can be played. + */ +@property(nonatomic, readonly) id videoDisplay; + +/** + * The stream request API key. It's configured through the + * + * DFP Admin UI and provided to the publisher to unlock their content. + * It verifies the applications that are attempting to access the content. + */ +@property(nonatomic, copy, nullable) NSString *apiKey; + +/** + * The stream request authorization token. This is used in place of the API key for stricter + * content authorization. The publisher can control individual content streams authorized based + * on this token. + */ +@property(nonatomic, copy, nullable) NSString *authToken; + +/** + * The ID to be used to debug the stream with the stream activity monitor. This is used to provide + * a convenient way to allow publishers to find a stream log in the stream activity monitor tool. + */ +@property(nonatomic, copy, nullable) NSString *streamActivityMonitorID; + +/** + * You can override a limited set of ad tag parameters on your stream request. + * + * Supply targeting parameters to your stream provides more information. + * + * You can use the dai-ot and dai-ov parameters for stream variant preference. + * See + * Override Stream Variant Parameters for more information. + */ +@property(nonatomic, copy, nullable) NSDictionary *adTagParameters; + +/** + * The suffix that the SDK will append to the query of the stream manifest URL. Do not include the + * '?' separator at the start. The SDK will account for the existence of parameters in the URL + * already, removing existing ones that collide with ones supplied here. This suffix needs to be + * sanitized and encoded as the SDK will not do this. + */ +@property(nonatomic, copy, nullable) NSString *manifestURLSuffix; + +/** + * Specifies the universal link to the content's screen. If provided, this parameter is passed to + * the OM SDK. See Apple + * documentation for more information. + */ +@property(nonatomic, copy, nullable) NSURL *contentURL; + +/** + * Enables the addition of a nonce to the request. This is needed to transmit monetization signals + * to Google servers when ads are requested server side from a non Google server. Defaults to false. + * :nodoc: + */ +@property(nonatomic, assign) BOOL enableNonce; + +/** + * Specifies the Secure Signal with custom data for this stream request. Secure Signal with custom + * data is an encrypted blob containing signals collected by the publisher and previously agreed + * upon by the publisher and bidder. The Secure Signal with custom data can be cleared out by + * passing null to this function. + */ +@property(nonatomic, strong, nullable) IMASecureSignals *secureSignals; + +/** + * The user context. + */ +@property(nonatomic, readonly, nullable) id userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h new file mode 100755 index 0000000..49c75f1 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUiElements.h @@ -0,0 +1,30 @@ +/*! \file IMAUiElements.h + * GoogleIMA3 + * + * Copyright (c) 2013 Google Inc. All rights reserved. + * + * Defines an enum containing the possible UI elements that can be + * customized by the publisher during ad playback. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +#pragma mark IMAUiElementType + +/** + * Different UI elements that can be customized. + */ +typedef NS_ENUM(NSInteger, IMAUiElementType) { + /** + * Ad attribution UI element. + */ + kIMAUiElements_AD_ATTRIBUTION, + /** + * Ad countdown element. + */ + kIMAUiElements_COUNTDOWN +}; + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h new file mode 100755 index 0000000..cdd99c0 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAUniversalAdID.h @@ -0,0 +1,36 @@ +// +// IMAUniversalAdID.h +// GoogleIMA3 +// +// Copyright (c) 2019 Google Inc. All rights reserved. +// +// Represents the universal ad ID information for a single ad. + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Simple data object containing universal ad ID information. + */ +@interface IMAUniversalAdID : NSObject + +/** + * The universal ad ID value. This will be "unknown" if it isn't defined by the ad. + */ +@property(nonatomic, copy, readonly) NSString *adIDValue; + +/** + * The universal ad ID registry with which the value is registered. This will be "unknown" + * if it isn't defined by the ad. + */ +@property(nonatomic, copy, readonly) NSString *adIDRegistry; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h new file mode 100755 index 0000000..241c7a6 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVODStreamRequest.h @@ -0,0 +1,80 @@ +// +// IMAVODStreamRequest.h +// GoogleIMA3_ios +// +// Declares a representation of a stream request for on-demand streams. +// + +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@class IMAPictureInPictureProxy; +@protocol IMAVideoDisplay; + +/** + * Data object describing a VOD stream request. + */ + +@interface IMAVODStreamRequest : IMAStreamRequest + +/** + * The stream request content source ID. This is used to determine the + * content source of the stream. + */ +@property(nonatomic, copy, readonly) NSString *contentSourceID; + +/** + * The stream request video ID. This is used to determine which specific video + * stream should be played. + */ +@property(nonatomic, copy, readonly) NSString *videoID; + +/** + * Initializes a stream request instance with the given content source ID and video ID. + * Uses the given ad display container to display the stream. This is used for on-demand streams. + * + * @param contentSourceID the content source ID for this stream + * @param videoID the video identifier for this stream + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param videoDisplay the IMAVideoDisplay for playing the stream + * @param userContext The user context for tracking requests (optional) + * + * @return the IMAVODStreamRequest instance + */ +- (instancetype)initWithContentSourceID:(NSString *)contentSourceID + videoID:(NSString *)videoID + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; + +/** + * Initializes a stream request instance with the given content source ID and video ID. + * Uses the given ad display container to display the stream. This is used for on-demand streams. + * Uses the picture in picture proxy to track PIP events. + * + * @param contentSourceID the content source ID for this stream + * @param videoID the video identifier for this stream + * @param adDisplayContainer the IMAAdDisplayContainer for rendering the ad UI + * @param videoDisplay the IMAVideoDisplay for playing the stream + * @param pictureInPictureProxy the IMAPictureInPictureProxy for tracking PIP events + * @param userContext The user context for tracking requests (optional) + * + * @return the IMAVODStreamRequest instance + */ +- (instancetype)initWithContentSourceID:(NSString *)contentSourceID + videoID:(NSString *)videoID + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h new file mode 100755 index 0000000..ce2c952 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVersion.h @@ -0,0 +1,14 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface IMAVersion : NSObject +/** Major version. */ +@property(nonatomic) NSInteger majorVersion; +/** Minor version. */ +@property(nonatomic) NSInteger minorVersion; +/** Patch version. */ +@property(nonatomic) NSInteger patchVersion; +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h new file mode 100755 index 0000000..735b621 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoDisplay.h @@ -0,0 +1,203 @@ +// +// IMAVideoDisplay.h +// GoogleIMA3 +// +// Copyright (c) 2015 Google Inc. All rights reserved. +// +// Declares a simple video display class used for ad playback. + +#import "IMAAdPlaybackInfo.h" + +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol IMAVideoDisplay; + +/** + * Delegate object that receives state change callbacks from IMAVideoDisplay. + */ +@protocol IMAVideoDisplayDelegate + +/** + * Informs the SDK that the ad has loaded. + * + * @param videoDisplay the IMAVideoDisplay that loaded the ad + */ +- (void)videoDisplayDidLoad:(id)videoDisplay; + +/** + * Informs the SDK the ad has started playback. This must be called at most once per loadStream: + * or loadUrl: call. + * + * @param videoDisplay the IMAVideoDisplay that started ad playback + */ +- (void)videoDisplayDidStart:(id)videoDisplay; + +/** + * Informs the SDK the ad has paused. + * + * @param videoDisplay the IMAVideoDisplay that paused ad playback + */ +- (void)videoDisplayDidPause:(id)videoDisplay; + +/** + * Informs the SDK the ad has resumed playback. + * + * @param videoDisplay the IMAVideoDisplay that resumed ad playback + */ +- (void)videoDisplayDidResume:(id)videoDisplay; + +/** + * Informs the SDK the ad has completed playback. + * + * @param videoDisplay the IMAVideoDisplay that completed ad playback + */ +- (void)videoDisplayDidComplete:(id)videoDisplay; + +/** + * Informs the SDK the ad was clicked. + * + * @param videoDisplay the IMAVideoDisplay that received the ad click + */ +- (void)videoDisplayDidClick:(id)videoDisplay; + +/** + * Informs the SDK the ad playback failed due to an error. + * + * @param videoDisplay the IMAVideoDisplay that failed to play the ad + * @param error the error that caused the video display to fail to play the ad + */ +- (void)videoDisplay:(id)videoDisplay didReceiveError:(NSError *)error; + +/** + * Informs the SDK the ad was skipped. + * + * @param videoDisplay the IMAVideoDisplay that skipped the ad + */ +- (void)videoDisplayDidSkip:(id)videoDisplay; + +/** + * Informs the SDK the ad skip button appeared. + * + * @param videoDisplay the IMAVideoDisplay that showed the skip button + */ +- (void)videoDisplayDidShowSkip:(id)videoDisplay; + +/** + * Informs the SDK that the ad volume was changed. + * + * @param videoDisplay the IMAVideoDisplay that changed the ad volume + * @param volume the new volume of the ad being played + */ +- (void)videoDisplay:(id)videoDisplay volumeChangedTo:(NSNumber *)volume; + +/** + * Informs the SDK that the video ad progressed. + * + * @param videoDisplay the IMAVideoDisplay that progressed + * @param mediaTime the current time of the ad being played + * @param duration the total duration of the ad being played + */ +- (void)videoDisplay:(id)videoDisplay + didProgressWithMediaTime:(NSTimeInterval)mediaTime + totalTime:(NSTimeInterval)duration; + +/** + * Informs the SDK that timed metadata was received. + * + * @param videoDisplay the IMAVideoDisplay that received the timed metadata event + * @param metadata the metadata dictionary received with the timed metadata event + */ +- (void)videoDisplay:(id)videoDisplay + didReceiveTimedMetadata:(NSDictionary *)metadata; + +@optional + +/** + * Informs the SDK the video ad is buffered to |mediaTime| in seconds. + * + * @param videoDisplay the IMAVideoDisplay whose buffer was updated + * @param mediaTime the time in seconds of ad media that has been buffered. + */ +- (void)videoDisplay:(id)videoDisplay + didBufferToMediaTime:(NSTimeInterval)mediaTime; + +/** + * Informs the SDK the ad is buffered and playback is likely to keep up. + * + * @param videoDisplay the IMAVideoDisplay that is playback ready + */ +- (void)videoDisplayIsPlaybackReady:(id)videoDisplay; + +/** + * Informs the SDK the ad's media buffer is empty and playback will stall. + * + * @param videoDisplay the IMAVideoDisplay that started buffering + */ +- (void)videoDisplayDidStartBuffering:(id)videoDisplay; + +@end + +/** + * Declares a simple video display class used for ad playback. + */ +@protocol IMAVideoDisplay + +/** + * Allows the publisher to send player events to the SDK. + */ +@property(nonatomic, weak, nullable) id delegate; + +/** + * Set and get the volume for the current ad. From 0 (muted) to 1 (loudest). This volume is + * relative to device volume, not absolute. Default value is 1. + */ +@property(nonatomic, assign) float volume; + +/** + * Called to inform the VideoDisplay to load the passed URL with the subtitles for the stream. + * Subtitles are available only for dynamic ad insertion VOD streams and can be ignored + * for client side ads or dynamic ad insertion live streams. + * + * @param streamURL the URL of the stream + * @param subtitles the subtitles for the stream. Each entry in the subtitles array is an + * *NSDictionary* that corresponds to a language. Each dictionary will have a + * *language* key with a two letter language string value, a *language name* + * to specify the set of subtitles if multiple sets exist for the same language, + * and one or more subtitle key/value pairs. Here's an example NSDictionary for + * English: + * + * "language" -> "en" + * "language_name" -> "English" + * "webvtt" -> "https://somedomain.com/vtt/en.vtt" + * "ttml" -> "https://somedomain.com/ttml/en.ttml" + */ +- (void)loadStream:(NSURL *)streamURL + withSubtitles:(NSArray *> *)subtitles; + +/** + * Called to inform the VideoDisplay to play. + */ +- (void)play; + +/** + * Called to inform the VideoDisplay to pause. + */ +- (void)pause; + +/** + * Called to remove all video assets from the player. + */ +- (void)reset; + +/** + * Called to inform that the stream needs to be seeked to the given time. + * + * @param time the time to which the stream should be seeked + */ +- (void)seekStreamToTime:(NSTimeInterval)time; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h new file mode 100755 index 0000000..14dc929 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherLiveStreamRequest.h @@ -0,0 +1,86 @@ +#import "IMAPictureInPictureProxy.h" +#import "IMAPodStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** Data object describing a stream request for a Google video stitcher live serving stream. */ +@interface IMAVideoStitcherLiveStreamRequest : IMAPodStreamRequest + +/** The live stream ID for the stream. */ +@property(nonatomic, readonly) NSString *liveStreamEventID; + +/** The region for the stream. */ +@property(nonatomic, readonly) NSString *region; + +/** The project number for the stream. */ +@property(nonatomic, readonly) NSString *projectNumber; + +/** The OAuth Token for the stream. */ +@property(nonatomic, readonly) NSString *OAuthToken; + +/** + * Initializes a stream request instance with the given network code and custom + * asset key. Uses the given ad display container to display the stream. + * + * @param liveStreamEventID The live stream ID for the stream. + * @param region The region for the stream. + * @param projectNumber The project number for the stream. + * @param OAuthToken The OAuth Token for the stream. + * @param networkCode The network code for the stream. + * @param customAssetKey The asset key for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherLiveStreamRequest instance. + */ +- (instancetype)initWithLiveStreamEventID:(NSString *)liveStreamEventID + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + customAssetKey:(NSString *)customAssetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; + +/** + * Initializes a stream request instance with the given network code and custom + * asset key. Uses the given ad display container to display the stream. Uses the picture in picture + * proxy to track PIP events. + * + * @param liveStreamEventID The live stream ID for the stream. + * @param region The region for the stream. + * @param projectNumber The project number for the stream. + * @param OAuthToken The OAuth Token for the stream. + * @param networkCode The network code for the stream. + * @param customAssetKey The asset key for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherLiveStreamRequest instance. + */ +- (instancetype)initWithLiveStreamEventID:(NSString *)liveStreamEventID + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + customAssetKey:(NSString *)customAssetKey + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h new file mode 100755 index 0000000..4ae345c --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Headers/IMAVideoStitcherVODStreamRequest.h @@ -0,0 +1,95 @@ +#import "IMAPictureInPictureProxy.h" +#import "IMAStreamRequest.h" + +NS_ASSUME_NONNULL_BEGIN + +@class IMAAdDisplayContainer; +@protocol IMAVideoDisplay; + +/** + * Data object describing a stream request for a Google video stitcher video on demand serving + * stream. + */ +@interface IMAVideoStitcherVODStreamRequest : IMAStreamRequest + +/** The adTagURL for the stream. */ +@property(nonatomic, readonly) NSString *adTagURL; + +/** The URL of the content source for the stream. */ +@property(nonatomic, readonly) NSString *contentSourceURL; + +/** The networkCode associate with the stream. */ +@property(nonatomic, readonly) NSString *networkCode; + +/** The OAuth Token for the stream. */ +@property(nonatomic, readonly) NSString *OAuthToken; + +/** The project number for the stream. */ +@property(nonatomic, readonly) NSString *projectNumber; + +/** The region for the stream. */ +@property(nonatomic, readonly) NSString *region; + +/** + * Initializes a stream request instance with the given network code, content source url, ad tag + * url, project number, region, and OAuth token. Uses the given ad display container to display the + * stream. + * + * @param adTagURL The adTagURL for the stream. + * @param contentSourceURL The contentSourceURL for the stream. + * @param networkCode The networkCode for the stream. + * @param OAuthToken The OAuth token for the stream. + * @param projectNumber The projectNumber for the stream. + * @param region The region for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherVODStreamRequest instance. + */ +- (instancetype)initWithAdTagURL:(NSString *)adTagURL + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + contentSourceURL:(NSString *)contentSourceURL + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + userContext:(nullable id)userContext; +/** + * Initializes a stream request instance with the given network code, content source url, ad tag + * url, project number, region, and OAuth token. Uses the given ad display container to display the + * stream. Uses the picture in picture proxy to track PIP events. + * + * @param adTagURL The adTagURL code for the stream. + * @param contentSourceURL The contentSourceURL code for the stream. + * @param networkCode The networkCode for the stream. + * @param OAuthToken The OAuth Token for the stream. + * @param projectNumber The projectNumber for the stream. + * @param region The region for the stream. + * @param adDisplayContainer The IMAAdDisplayContainer for rendering the ad UI. + * @param videoDisplay The IMAVideoDisplay where the stream will be played. + * @param pictureInPictureProxy The IMAPictureInPictureProxy for tracking PIP events. + * @param userContext The user context for tracking requests (optional) + * + * @return The IMAVideoStitcherVODStreamRequest instance. + */ +- (instancetype)initWithAdTagURL:(NSString *)adTagURL + region:(NSString *)region + projectNumber:(NSString *)projectNumber + OAuthToken:(NSString *)OAuthToken + networkCode:(NSString *)networkCode + contentSourceURL:(NSString *)contentSourceURL + adDisplayContainer:(IMAAdDisplayContainer *)adDisplayContainer + videoDisplay:(id)videoDisplay + pictureInPictureProxy:(nullable IMAPictureInPictureProxy *)pictureInPictureProxy + userContext:(nullable id)userContext; + +/** + * :nodoc: + */ +- (instancetype)init NS_UNAVAILABLE; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist new file mode 100755 index 0000000..7c8b5f0 Binary files /dev/null and b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Info.plist differ diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Modules/module.modulemap b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Modules/module.modulemap new file mode 100755 index 0000000..c442356 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/Modules/module.modulemap @@ -0,0 +1,5 @@ +framework module GoogleInteractiveMediaAds { + umbrella header "GoogleInteractiveMediaAds.h" + export * + module * { export * } +} diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/README.txt b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/README.txt new file mode 100755 index 0000000..abd1899 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/README.txt @@ -0,0 +1,12 @@ +======================================== +Google Interactive Media Ads SDK for tvOS +======================================== + +This is the Google Interactive Media Ads SDK for tvOS. + +Requirements: +- Xcode 7.2 or later. +- tvOS deployment target of tvOS 9.1 or later. + +The latest documentation and code samples are available at: +https://developers.google.com/interactive-media-ads/ diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION new file mode 100755 index 0000000..5b341fd --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/VERSION @@ -0,0 +1 @@ +4.9.1 diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/locales.xml b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/locales.xml new file mode 100755 index 0000000..0c5dbe0 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/locales.xml @@ -0,0 +1,114 @@ + + + + + af + am + ar_eg + ar_sa + ar_xb + ar + be + bg + bn + ca + cs + da + de_at + de_cn + de + el + + en_au + en_ca + en_gb + en_ie + en_in + en_sg + en_xa + en_xc + en_za + en + es_419 + es_ar + es_bo + es_cl + es_co + es_cr + es_do + es_ec + es_gt + es_hn + es_mx + es_ni + es_pa + es_pe + es_pr + es_py + es_sv + es_us + es_uy + es_ve + es + et + eu + fa + fi + fil + fr_ca + fr_ch + fr + gl + gsw + gu + he + hi + hr + hu + id + in + is + it + iw + ja + kn + ko + ln + lo + lt + lv + ml + mo + mr + ms + nb + ne + nl + no + pl + pt_br + pt_pt + pt + ro + ru + sk + sl + sr_latn + sr + sv + sw + ta + te + th + tl + tr + uk + ur + vi + zh_cn + zh_hk + zh_tw + zh + zu + + diff --git a/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/prelude.js b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/prelude.js new file mode 100755 index 0000000..1ab5b88 --- /dev/null +++ b/Example/Pods/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator/GoogleInteractiveMediaAds.framework/prelude.js @@ -0,0 +1,129 @@ +// TODO (b/138857444) Add BUILD file to compile this file. + +/** + * Adapter for JSTimer.setTimeout implementation to allow for proper + * propagation of variadic arguments. + * + * @param {function(...)} func The function to invoke. + * @param {number} delay The amount of milliseconds to wait before invoking the + * function. + * @param {...} args The arguments to pass to the function. + * @return {number} The identifier for the timer. + */ +setTimeout = function(func, delay, ...args) { + return JSTimer.setTimeout(func, delay, args); +}; + +/** + * Cancel invocation scheduled by setTimeout (If not yet triggered). + * + * @param {number} id The ID returned by setTimeout + * for the invocation to cancel. + */ +clearTimeout = function(id) { + JSTimer.clearTimeout(id); +}; + +/** + * Sends a message from the native bridge to Obj-C. + * + * @param {string} name The message name. + * @param {!Object} messageData The message data. + */ +browserlessSender = function(name, messageData) { + IMAJSMessageReceiver.didReceiveMessage(name, messageData); +}; + +/** + * Sends a message from Obj-c to the native bridge. + * + * @param {string} name The message name. + * @param {!Object} messageData The message data. + */ +browserlessReceiver = function(name, messageData) { + google.ima.NativeBridge.receiveMessage(name, JSON.stringify(messageData)); +}; + +google = {}; +google.ima = {}; +google.ima.NativeLoader = {}; +google.ima.BrowserlessExports = {}; + +/** + * Sends a message from Obj-c to the native bridge. + * + * @param {string} text the text to be encrypted. + * @param {string} keyset the keyset to be loaded. + * @param {function(string)} callback function to be called with the encryption + * result. + */ +google.ima.BrowserlessExports.encryptString = function(text, keyset, callback) { + JSEncryptor.encryptStringWithKeyset(text, keyset, callback); +}; + + +/** + * Gets the type of messaging that will be used to send messages from the JS + * layer to the native layer of the SDK. Messaging types defined in: + * javascript/ads/interactivemedia/sdk/native_bridge/constants.js + * + * @return {number} The type of messaging used (browserless). + */ +google.ima.NativeLoader.getMessagingType = function() { + return 3; +}; + +// Used for platform checks in the native bridge. +navigator = {}; + +document = {}; +/** + * Temporary stub for getElementsByTagName. + * TODO (kpshay) Remove once bridged document func is complete. + * @return {!Array} An empty array. + */ +document.getElementsByTagName = function() { + return []; +}; +window = {}; +window.location = {}; +window.location.search = ''; +window.location.hash = ''; +window.location.username = ''; +window.location.password = ''; +window.location.port = ''; +window.document = document; +// Simulate a top window context. +window.parent = window; + +/** A namespace for IMAXMLHttpRequest facilities. */ +IMAXMLHttpRequest = { + /** + * A map for holding onto active XMLHttpRequests. This is needed so that the + * garbage collector is aware of the XMLHttpRequest and won't deallocate its + * JS members (for example, any event listeners added). See b/154539920 for + * more details. + * @const {!Map} + */ + instances_: new Map(), + + /** + * Retains the given XMLHttpRequest in JavaScript. This should be called once + * the request is active and should not be garbage collected, even if there + * are no other explicit references kept to it in JavaScript. + * @param {!XMLHttpRequest} xhr The instance to register. + * @param {string} id An unique ID for this instance. + */ + retainInstance: function(xhr, id) { + IMAXMLHttpRequest.instances_.set(id, xhr); + }, + + /** + * Releases the given XMLHttpRequest in JavaScript. This should be called once + * the request is no longer in an active state and can be garbage collected. + * @param {string} id The ID of the XMLHttpRequest to release. + */ + releaseInstance: function(id) { + IMAXMLHttpRequest.instances_.delete(id); + }, +}; diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 0d693eb..8076f3b 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,9 +1,10 @@ PODS: - Expecta (1.0.6) - - GoogleAds-IMA-iOS-SDK (3.18.4) - - Mux-Stats-AVPlayer (3.2.1): - - Mux-Stats-Core (~> 4.4) - - Mux-Stats-Core (4.4.2) + - GoogleAds-IMA-iOS-SDK (3.19.2) + - GoogleAds-IMA-tvOS-SDK (4.9.1) + - Mux-Stats-AVPlayer (3.3.1): + - Mux-Stats-Core (~> 4.5.2) + - Mux-Stats-Core (4.5.2) - Mux-Stats-Google-IMA (0.10.1): - GoogleAds-IMA-iOS-SDK (~> 3.16) - GoogleAds-IMA-tvOS-SDK (~> 4.6) @@ -19,6 +20,7 @@ SPEC REPOS: trunk: - Expecta - GoogleAds-IMA-iOS-SDK + - GoogleAds-IMA-tvOS-SDK - Mux-Stats-AVPlayer - Mux-Stats-Core - Specta @@ -29,12 +31,13 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 - GoogleAds-IMA-iOS-SDK: b01284e3bf3d64ba948de6692ffda531452c3713 - Mux-Stats-AVPlayer: f89f946203e70c3a54e605a4b2b31ba425ff3cd2 - Mux-Stats-Core: d06b1470457f287c4b3aad3b06f9a6c173dfe38f + GoogleAds-IMA-iOS-SDK: 0e817c05ab26f1b9285c80f4a75e1350a916d50b + GoogleAds-IMA-tvOS-SDK: 85e799c35051454693492480ef7e4ae2e701a05f + Mux-Stats-AVPlayer: 033434ccaffc9698d5566ce3563ac1d02bcbd0de + Mux-Stats-Core: b747ca415f883e2b2d9475d8cc0ac3079167bf6b Mux-Stats-Google-IMA: d6941b70486335c357c0eb1ff507b9cd0510b546 Specta: b79d84043684b35ffdc2680df578dc318ec2efc2 -PODFILE CHECKSUM: 6cf074c8bb2225699ab98a04d6df8f0ed4b6e0cd +PODFILE CHECKSUM: ae70318821eb6e6195da9a12462b0ac5965fbe28 -COCOAPODS: 1.12.0 +COCOAPODS: 1.12.1 diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/Info.plist b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/Info.plist index 1f5a8a1..4f7c913 100644 --- a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/Info.plist +++ b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/Info.plist @@ -18,19 +18,22 @@ LibraryIdentifier - ios-arm64 + ios-arm64_x86_64-simulator LibraryPath MUXSDKStats.framework SupportedArchitectures arm64 + x86_64 SupportedPlatform ios + SupportedPlatformVariant + simulator LibraryIdentifier - ios-arm64_x86_64-simulator + ios-arm64_x86_64-maccatalyst LibraryPath MUXSDKStats.framework SupportedArchitectures @@ -41,11 +44,11 @@ SupportedPlatform ios SupportedPlatformVariant - simulator + maccatalyst LibraryIdentifier - ios-arm64_x86_64-maccatalyst + tvos-arm64_x86_64-simulator LibraryPath MUXSDKStats.framework SupportedArchitectures @@ -54,24 +57,21 @@ x86_64 SupportedPlatform - ios + tvos SupportedPlatformVariant - maccatalyst + simulator LibraryIdentifier - tvos-arm64_x86_64-simulator + ios-arm64 LibraryPath MUXSDKStats.framework SupportedArchitectures arm64 - x86_64 SupportedPlatform - tvos - SupportedPlatformVariant - simulator + ios CFBundlePackageType diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64/MUXSDKStats.framework/Info.plist b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64/MUXSDKStats.framework/Info.plist index 7dec5c0..f755586 100644 Binary files a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64/MUXSDKStats.framework/Info.plist and b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64/MUXSDKStats.framework/Info.plist differ diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64/MUXSDKStats.framework/MUXSDKStats b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64/MUXSDKStats.framework/MUXSDKStats index e330b29..740bb3f 100755 Binary files a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64/MUXSDKStats.framework/MUXSDKStats and b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64/MUXSDKStats.framework/MUXSDKStats differ diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst/MUXSDKStats.framework/Versions/A/MUXSDKStats b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst/MUXSDKStats.framework/Versions/A/MUXSDKStats index 2a27207..ed9ff90 100755 Binary files a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst/MUXSDKStats.framework/Versions/A/MUXSDKStats and b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst/MUXSDKStats.framework/Versions/A/MUXSDKStats differ diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst/MUXSDKStats.framework/Versions/A/Resources/Info.plist b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst/MUXSDKStats.framework/Versions/A/Resources/Info.plist index 5658089..c345135 100644 --- a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst/MUXSDKStats.framework/Versions/A/Resources/Info.plist +++ b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst/MUXSDKStats.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 22D49 + 22F82 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.2.1 + 3.3.1 CFBundleSupportedPlatforms MacOSX @@ -27,19 +27,19 @@ DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 14C18 + DTPlatformName macosx DTPlatformVersion - 13.1 + 13.3 DTSDKBuild - 22C55 + 22E245 DTSDKName - macosx13.1 + macosx13.3 DTXcode - 1420 + 1431 DTXcodeBuild - 14C18 + 14E300c LSMinimumSystemVersion 10.15 UIDeviceFamily diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/Info.plist b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/Info.plist index f2bbc6e..33b6327 100644 Binary files a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/Info.plist and b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/Info.plist differ diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/MUXSDKStats b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/MUXSDKStats index 734afdd..e3861eb 100755 Binary files a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/MUXSDKStats and b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/MUXSDKStats differ diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/_CodeSignature/CodeResources b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/_CodeSignature/CodeResources index 29ef28e..4c53b92 100644 --- a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/_CodeSignature/CodeResources +++ b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/ios-arm64_x86_64-simulator/MUXSDKStats.framework/_CodeSignature/CodeResources @@ -14,7 +14,7 @@ Info.plist - ifQi0mtDMqaU+58mv1MiR/4dvFQ= + irHC/bdRJ4xxRAL0NwPS3gX22Qs= Modules/module.modulemap diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64/MUXSDKStats.framework/Info.plist b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64/MUXSDKStats.framework/Info.plist index 780d6c9..571ad9b 100644 Binary files a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64/MUXSDKStats.framework/Info.plist and b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64/MUXSDKStats.framework/Info.plist differ diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64/MUXSDKStats.framework/MUXSDKStats b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64/MUXSDKStats.framework/MUXSDKStats index 267c364..93f0e83 100755 Binary files a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64/MUXSDKStats.framework/MUXSDKStats and b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64/MUXSDKStats.framework/MUXSDKStats differ diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/Info.plist b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/Info.plist index 73fbd55..1649ed9 100644 Binary files a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/Info.plist and b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/Info.plist differ diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/MUXSDKStats b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/MUXSDKStats index 3ea57a8..694bf5a 100755 Binary files a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/MUXSDKStats and b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/MUXSDKStats differ diff --git a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/_CodeSignature/CodeResources b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/_CodeSignature/CodeResources index 770be6b..d915e0e 100644 --- a/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/_CodeSignature/CodeResources +++ b/Example/Pods/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator/MUXSDKStats.framework/_CodeSignature/CodeResources @@ -18,7 +18,7 @@ Info.plist - JWwN0dPcZXFiUVObPXbHzbY2w2s= + OhQfdwAlGnesqFn97sJxjUrPa+o= Modules/module.modulemap diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/Info.plist b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/Info.plist index aaf567f..73d59c8 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/Info.plist +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/Info.plist @@ -21,57 +21,57 @@ LibraryIdentifier - ios-arm64 + ios-arm64_x86_64-simulator LibraryPath MuxCore.framework SupportedArchitectures arm64 + x86_64 SupportedPlatform ios + SupportedPlatformVariant + simulator LibraryIdentifier - tvos-arm64 + ios-arm64_x86_64-maccatalyst LibraryPath MuxCore.framework SupportedArchitectures arm64 + x86_64 SupportedPlatform - tvos + ios + SupportedPlatformVariant + maccatalyst LibraryIdentifier - ios-arm64_x86_64-simulator + tvos-arm64 LibraryPath MuxCore.framework SupportedArchitectures arm64 - x86_64 SupportedPlatform - ios - SupportedPlatformVariant - simulator + tvos LibraryIdentifier - ios-arm64_x86_64-maccatalyst + ios-arm64 LibraryPath MuxCore.framework SupportedArchitectures arm64 - x86_64 SupportedPlatform ios - SupportedPlatformVariant - maccatalyst CFBundlePackageType diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKCore.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKCore.h index 2e461ab..0668448 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKCore.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKCore.h @@ -13,6 +13,7 @@ + (void)dispatchGlobalDataEvent:(MUXSDKDataEvent *)event; + (void)dispatchEvent:(id)event forPlayer:(NSString *)playerId; + (void)destroyPlayer:(NSString *)playerId; ++ (void)setDeviceId:(NSString *)deviceId forPlayer:(NSString *)playerId; + (void)setSentryEnabled:(BOOL)enabled; + (void)setBeaconCollectionDomain:(NSString *)collectionDomain forPlayer:(NSString *)playerId; + (void)setBeaconDomain:(NSString *)domain forPlayer:(NSString *)playerId __attribute__((deprecated("Please migrate to setBeaconCollectionDomain:forPlayer")));; diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKCustomerViewData.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKCustomerViewData.h index 4f2b963..3427c61 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKCustomerViewData.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKCustomerViewData.h @@ -8,6 +8,7 @@ @interface MUXSDKCustomerViewData : MUXSDKQueryData @property (nullable) NSString *viewSessionId; +@property (nullable) NSString *viewDrmType; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKDispatcher.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKDispatcher.h index 289bd8b..13e8577 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKDispatcher.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKDispatcher.h @@ -15,21 +15,24 @@ @end @protocol MUXSDKNetworkRequestBuilding -- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *)dict requestHeaders:(NSDictionary *)headers error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); @end @interface MUXSDKDispatcher : NSObject { } -- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback; + +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict:(NSMutableDictionary *)jsonDict beaconHeaders:(NSDictionary *)headers callback: (id) callback; + (void)handleException:(NSDictionary *)json pluginName:(NSString *)pluginName pluginVersion:(NSString *)pluginVerison; #pragma mark Deprecated +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); - (void)handle:(id)event __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:withCallback:")));; +- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:beaconHeaders:withCallback:")));; @end #endif diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKErrorEvent.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKErrorEvent.h index c2c5dea..3b53e65 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKErrorEvent.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Headers/MUXSDKErrorEvent.h @@ -10,8 +10,7 @@ extern NSString * _Nonnull const MUXSDKPlaybackEventErrorEventType; @property (nullable) NSString * errorContext; --(id)init; --(id)initWithContext:(NSString *)errorContext; +-(nonnull instancetype)initWithContext:(nullable NSString *)errorContext; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Info.plist b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Info.plist index 24bd0ab..ceec597 100644 Binary files a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Info.plist and b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/Info.plist differ diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/MuxCore b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/MuxCore index d5a08f0..11ccb5e 100755 Binary files a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/MuxCore and b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64/MuxCore.framework/MuxCore differ diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKCore.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKCore.h index 2e461ab..0668448 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKCore.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKCore.h @@ -13,6 +13,7 @@ + (void)dispatchGlobalDataEvent:(MUXSDKDataEvent *)event; + (void)dispatchEvent:(id)event forPlayer:(NSString *)playerId; + (void)destroyPlayer:(NSString *)playerId; ++ (void)setDeviceId:(NSString *)deviceId forPlayer:(NSString *)playerId; + (void)setSentryEnabled:(BOOL)enabled; + (void)setBeaconCollectionDomain:(NSString *)collectionDomain forPlayer:(NSString *)playerId; + (void)setBeaconDomain:(NSString *)domain forPlayer:(NSString *)playerId __attribute__((deprecated("Please migrate to setBeaconCollectionDomain:forPlayer")));; diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKCustomerViewData.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKCustomerViewData.h index 4f2b963..3427c61 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKCustomerViewData.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKCustomerViewData.h @@ -8,6 +8,7 @@ @interface MUXSDKCustomerViewData : MUXSDKQueryData @property (nullable) NSString *viewSessionId; +@property (nullable) NSString *viewDrmType; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKDispatcher.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKDispatcher.h index 289bd8b..13e8577 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKDispatcher.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKDispatcher.h @@ -15,21 +15,24 @@ @end @protocol MUXSDKNetworkRequestBuilding -- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *)dict requestHeaders:(NSDictionary *)headers error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); @end @interface MUXSDKDispatcher : NSObject { } -- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback; + +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict:(NSMutableDictionary *)jsonDict beaconHeaders:(NSDictionary *)headers callback: (id) callback; + (void)handleException:(NSDictionary *)json pluginName:(NSString *)pluginName pluginVersion:(NSString *)pluginVerison; #pragma mark Deprecated +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); - (void)handle:(id)event __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:withCallback:")));; +- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:beaconHeaders:withCallback:")));; @end #endif diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKErrorEvent.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKErrorEvent.h index c2c5dea..3b53e65 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKErrorEvent.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Headers/MUXSDKErrorEvent.h @@ -10,8 +10,7 @@ extern NSString * _Nonnull const MUXSDKPlaybackEventErrorEventType; @property (nullable) NSString * errorContext; --(id)init; --(id)initWithContext:(NSString *)errorContext; +-(nonnull instancetype)initWithContext:(nullable NSString *)errorContext; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/MuxCore b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/MuxCore index f87031b..e814d90 100755 Binary files a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/MuxCore and b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/MuxCore differ diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Resources/Info.plist b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Resources/Info.plist index 74c1013..f785da7 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Resources/Info.plist +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-maccatalyst/MuxCore.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 22D49 + 22F82 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,29 +17,29 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 4.4.2 + 4.5.2 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 4.4.2 + 4.5.2 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 14C18 + DTPlatformName macosx DTPlatformVersion - 13.1 + 13.3 DTSDKBuild - 22C55 + 22E245 DTSDKName - macosx13.1 + macosx13.3 DTXcode - 1420 + 1431 DTXcodeBuild - 14C18 + 14E300c LSMinimumSystemVersion 10.15 UIDeviceFamily diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCore.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCore.h index 2e461ab..0668448 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCore.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCore.h @@ -13,6 +13,7 @@ + (void)dispatchGlobalDataEvent:(MUXSDKDataEvent *)event; + (void)dispatchEvent:(id)event forPlayer:(NSString *)playerId; + (void)destroyPlayer:(NSString *)playerId; ++ (void)setDeviceId:(NSString *)deviceId forPlayer:(NSString *)playerId; + (void)setSentryEnabled:(BOOL)enabled; + (void)setBeaconCollectionDomain:(NSString *)collectionDomain forPlayer:(NSString *)playerId; + (void)setBeaconDomain:(NSString *)domain forPlayer:(NSString *)playerId __attribute__((deprecated("Please migrate to setBeaconCollectionDomain:forPlayer")));; diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCustomerViewData.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCustomerViewData.h index 4f2b963..3427c61 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCustomerViewData.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCustomerViewData.h @@ -8,6 +8,7 @@ @interface MUXSDKCustomerViewData : MUXSDKQueryData @property (nullable) NSString *viewSessionId; +@property (nullable) NSString *viewDrmType; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKDispatcher.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKDispatcher.h index 289bd8b..13e8577 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKDispatcher.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKDispatcher.h @@ -15,21 +15,24 @@ @end @protocol MUXSDKNetworkRequestBuilding -- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *)dict requestHeaders:(NSDictionary *)headers error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); @end @interface MUXSDKDispatcher : NSObject { } -- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback; + +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict:(NSMutableDictionary *)jsonDict beaconHeaders:(NSDictionary *)headers callback: (id) callback; + (void)handleException:(NSDictionary *)json pluginName:(NSString *)pluginName pluginVersion:(NSString *)pluginVerison; #pragma mark Deprecated +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); - (void)handle:(id)event __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:withCallback:")));; +- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:beaconHeaders:withCallback:")));; @end #endif diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKErrorEvent.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKErrorEvent.h index c2c5dea..3b53e65 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKErrorEvent.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKErrorEvent.h @@ -10,8 +10,7 @@ extern NSString * _Nonnull const MUXSDKPlaybackEventErrorEventType; @property (nullable) NSString * errorContext; --(id)init; --(id)initWithContext:(NSString *)errorContext; +-(nonnull instancetype)initWithContext:(nullable NSString *)errorContext; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Info.plist b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Info.plist index 2a736e3..8fd9d96 100644 Binary files a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Info.plist and b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/Info.plist differ diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/MuxCore b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/MuxCore index 19faf49..5742ced 100755 Binary files a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/MuxCore and b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/MuxCore differ diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/_CodeSignature/CodeResources b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/_CodeSignature/CodeResources index 3d7d493..75d267d 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/_CodeSignature/CodeResources +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/ios-arm64_x86_64-simulator/MuxCore.framework/_CodeSignature/CodeResources @@ -70,7 +70,7 @@ Headers/MUXSDKCore.h - a4xnQMA2zwcULSF5NX1JMJRuKck= + Dl/2U1Y3Hm1kCVRk9wPSAo7/sKQ= Headers/MUXSDKCustomData.h @@ -90,7 +90,7 @@ Headers/MUXSDKCustomerViewData.h - f+U2dHVue/nHZMA5nk6XX5vnscE= + SygULEWfXr0oNIJFW/T54f5HKx0= Headers/MUXSDKCustomerViewerData.h @@ -102,7 +102,7 @@ Headers/MUXSDKDispatcher.h - sLgiBrq/GUWoEpEJIS0Sjb+GqPI= + XS3uiIn8jFpyzMMCXXC533/2S04= Headers/MUXSDKEndedEvent.h @@ -114,7 +114,7 @@ Headers/MUXSDKErrorEvent.h - 8lDc1YnmQXAjFrmH3Atg9koGF2I= + DK5scVmJE+qEJV0MuyLRF3vcdoE= Headers/MUXSDKEventHandling.h @@ -218,7 +218,7 @@ Info.plist - Ui2OiB6rHtQocC+zYbbuqzy4+u0= + diGTq9qz+WiiyfSKe5oFzIGpCgk= Modules/module.modulemap @@ -343,7 +343,7 @@ hash2 - ZQur4DMI83VLmFnH5LbNKYwS2zYWZWuVq6FEwSjqizA= + YNCf7KS9u2R1563Vyz9cY/G8vEIFc+ZYH726xJt3Kzc= Headers/MUXSDKCustomData.h @@ -378,7 +378,7 @@ hash2 - Pl/8WmWdc01/0k5XlU0Uv45XCby2e7p7wC7MKjrqh+A= + M4Vp+UlIbOfuKOET7HZONKTWYAOMhCWZKooB8JCJOCM= Headers/MUXSDKCustomerViewerData.h @@ -399,7 +399,7 @@ hash2 - KYFkUanymyn4wb9lYdO44WW6ZUwFqwtrTakMafDX94g= + fl37OBmBd4gb5EMrSs3AYQMTeJ0+4GwblPijX/BrzGg= Headers/MUXSDKEndedEvent.h @@ -420,7 +420,7 @@ hash2 - /Y1DADpOekleP97/QtnRxWSPq29Nj1B1371euXzNCzE= + uYr5B4XIekCeeqy7PUiiRoL0/XpbdpFaCmoKW9TYeig= Headers/MUXSDKEventHandling.h diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKCore.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKCore.h index 2e461ab..0668448 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKCore.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKCore.h @@ -13,6 +13,7 @@ + (void)dispatchGlobalDataEvent:(MUXSDKDataEvent *)event; + (void)dispatchEvent:(id)event forPlayer:(NSString *)playerId; + (void)destroyPlayer:(NSString *)playerId; ++ (void)setDeviceId:(NSString *)deviceId forPlayer:(NSString *)playerId; + (void)setSentryEnabled:(BOOL)enabled; + (void)setBeaconCollectionDomain:(NSString *)collectionDomain forPlayer:(NSString *)playerId; + (void)setBeaconDomain:(NSString *)domain forPlayer:(NSString *)playerId __attribute__((deprecated("Please migrate to setBeaconCollectionDomain:forPlayer")));; diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKCustomerViewData.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKCustomerViewData.h index 4f2b963..3427c61 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKCustomerViewData.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKCustomerViewData.h @@ -8,6 +8,7 @@ @interface MUXSDKCustomerViewData : MUXSDKQueryData @property (nullable) NSString *viewSessionId; +@property (nullable) NSString *viewDrmType; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKDispatcher.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKDispatcher.h index 289bd8b..13e8577 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKDispatcher.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKDispatcher.h @@ -15,21 +15,24 @@ @end @protocol MUXSDKNetworkRequestBuilding -- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *)dict requestHeaders:(NSDictionary *)headers error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); @end @interface MUXSDKDispatcher : NSObject { } -- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback; + +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict:(NSMutableDictionary *)jsonDict beaconHeaders:(NSDictionary *)headers callback: (id) callback; + (void)handleException:(NSDictionary *)json pluginName:(NSString *)pluginName pluginVersion:(NSString *)pluginVerison; #pragma mark Deprecated +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); - (void)handle:(id)event __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:withCallback:")));; +- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:beaconHeaders:withCallback:")));; @end #endif diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKErrorEvent.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKErrorEvent.h index c2c5dea..3b53e65 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKErrorEvent.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Headers/MUXSDKErrorEvent.h @@ -10,8 +10,7 @@ extern NSString * _Nonnull const MUXSDKPlaybackEventErrorEventType; @property (nullable) NSString * errorContext; --(id)init; --(id)initWithContext:(NSString *)errorContext; +-(nonnull instancetype)initWithContext:(nullable NSString *)errorContext; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Info.plist b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Info.plist index a621434..2042f01 100644 Binary files a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Info.plist and b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/Info.plist differ diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/MuxCore b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/MuxCore index f6bad8c..3566583 100755 Binary files a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/MuxCore and b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64/MuxCore.framework/MuxCore differ diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCore.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCore.h index 2e461ab..0668448 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCore.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCore.h @@ -13,6 +13,7 @@ + (void)dispatchGlobalDataEvent:(MUXSDKDataEvent *)event; + (void)dispatchEvent:(id)event forPlayer:(NSString *)playerId; + (void)destroyPlayer:(NSString *)playerId; ++ (void)setDeviceId:(NSString *)deviceId forPlayer:(NSString *)playerId; + (void)setSentryEnabled:(BOOL)enabled; + (void)setBeaconCollectionDomain:(NSString *)collectionDomain forPlayer:(NSString *)playerId; + (void)setBeaconDomain:(NSString *)domain forPlayer:(NSString *)playerId __attribute__((deprecated("Please migrate to setBeaconCollectionDomain:forPlayer")));; diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCustomerViewData.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCustomerViewData.h index 4f2b963..3427c61 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCustomerViewData.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKCustomerViewData.h @@ -8,6 +8,7 @@ @interface MUXSDKCustomerViewData : MUXSDKQueryData @property (nullable) NSString *viewSessionId; +@property (nullable) NSString *viewDrmType; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKDispatcher.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKDispatcher.h index 289bd8b..13e8577 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKDispatcher.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKDispatcher.h @@ -15,21 +15,24 @@ @end @protocol MUXSDKNetworkRequestBuilding -- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *)dict requestHeaders:(NSDictionary *)headers error:(NSError **) error; +- (NSMutableURLRequest *) buildRequestFromURL:(NSURL *) url eventsJsonDict:(NSDictionary *) dict error:(NSError **) error __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); @end @interface MUXSDKDispatcher : NSObject { } -- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback; + +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict:(NSMutableDictionary *)jsonDict beaconHeaders:(NSDictionary *)headers callback: (id) callback; + (void)handleException:(NSDictionary *)json pluginName:(NSString *)pluginName pluginVersion:(NSString *)pluginVerison; #pragma mark Deprecated +- (void)handleBatch:(NSString *)envKey beaconCollectionDomain:(NSString *)collectionDomain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); - (void)handle:(id)event __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:withCallback:"))); -- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:withCallback:")));; +- (void)handleBatch:(NSString *)envKey osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os withJson: (NSData *)json withCallback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:domain:osFamily:jsonDict:beaconHeaders:withCallback:"))); +- (void)handleBatch:(NSString *)envKey domain:(NSString *)domain osFamily:(NSString *)os jsonDict: (NSMutableDictionary *)jsonDict callback: (id) callback __attribute__((deprecated("Please migrate to handleBatch:beaconCollectionDomain:osFamily:jsonDict:beaconHeaders:withCallback:")));; @end #endif diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKErrorEvent.h b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKErrorEvent.h index c2c5dea..3b53e65 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKErrorEvent.h +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Headers/MUXSDKErrorEvent.h @@ -10,8 +10,7 @@ extern NSString * _Nonnull const MUXSDKPlaybackEventErrorEventType; @property (nullable) NSString * errorContext; --(id)init; --(id)initWithContext:(NSString *)errorContext; +-(nonnull instancetype)initWithContext:(nullable NSString *)errorContext; @end diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Info.plist b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Info.plist index 3a0932a..a3e3ca7 100644 Binary files a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Info.plist and b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/Info.plist differ diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/MuxCore b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/MuxCore index a9c0225..5e1eb81 100755 Binary files a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/MuxCore and b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/MuxCore differ diff --git a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/_CodeSignature/CodeResources b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/_CodeSignature/CodeResources index 9baff96..522546a 100644 --- a/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/_CodeSignature/CodeResources +++ b/Example/Pods/Mux-Stats-Core/XCFramework/MuxCore.xcframework/tvos-arm64_x86_64-simulator/MuxCore.framework/_CodeSignature/CodeResources @@ -70,7 +70,7 @@ Headers/MUXSDKCore.h - a4xnQMA2zwcULSF5NX1JMJRuKck= + Dl/2U1Y3Hm1kCVRk9wPSAo7/sKQ= Headers/MUXSDKCustomData.h @@ -90,7 +90,7 @@ Headers/MUXSDKCustomerViewData.h - f+U2dHVue/nHZMA5nk6XX5vnscE= + SygULEWfXr0oNIJFW/T54f5HKx0= Headers/MUXSDKCustomerViewerData.h @@ -102,7 +102,7 @@ Headers/MUXSDKDispatcher.h - sLgiBrq/GUWoEpEJIS0Sjb+GqPI= + XS3uiIn8jFpyzMMCXXC533/2S04= Headers/MUXSDKEndedEvent.h @@ -114,7 +114,7 @@ Headers/MUXSDKErrorEvent.h - 8lDc1YnmQXAjFrmH3Atg9koGF2I= + DK5scVmJE+qEJV0MuyLRF3vcdoE= Headers/MUXSDKEventHandling.h @@ -218,7 +218,7 @@ Info.plist - IIkBSI6q7MB9zvePLPGOZvEa5uA= + YJcAQ2fA8lgYzxMLHoNy/3W/t6Y= Modules/module.modulemap @@ -343,7 +343,7 @@ hash2 - ZQur4DMI83VLmFnH5LbNKYwS2zYWZWuVq6FEwSjqizA= + YNCf7KS9u2R1563Vyz9cY/G8vEIFc+ZYH726xJt3Kzc= Headers/MUXSDKCustomData.h @@ -378,7 +378,7 @@ hash2 - Pl/8WmWdc01/0k5XlU0Uv45XCby2e7p7wC7MKjrqh+A= + M4Vp+UlIbOfuKOET7HZONKTWYAOMhCWZKooB8JCJOCM= Headers/MUXSDKCustomerViewerData.h @@ -399,7 +399,7 @@ hash2 - KYFkUanymyn4wb9lYdO44WW6ZUwFqwtrTakMafDX94g= + fl37OBmBd4gb5EMrSs3AYQMTeJ0+4GwblPijX/BrzGg= Headers/MUXSDKEndedEvent.h @@ -420,7 +420,7 @@ hash2 - /Y1DADpOekleP97/QtnRxWSPq29Nj1B1371euXzNCzE= + uYr5B4XIekCeeqy7PUiiRoL0/XpbdpFaCmoKW9TYeig= Headers/MUXSDKEventHandling.h diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index e99c76b..5115a30 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,6 +7,16 @@ objects = { /* Begin PBXAggregateTarget section */ + 5526128214308C0807F9C2136AB687B2 /* Mux-Stats-Core-tvOS */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 51A9CD61ACD8B1BC250DAFD71D700763 /* Build configuration list for PBXAggregateTarget "Mux-Stats-Core-tvOS" */; + buildPhases = ( + FA7605ADFC179EC5F0DD72EBF335126E /* [CP] Copy XCFrameworks */, + ); + dependencies = ( + ); + name = "Mux-Stats-Core-tvOS"; + }; 7362DAB47E2EFA5452F30DD7E9830B56 /* GoogleAds-IMA-iOS-SDK */ = { isa = PBXAggregateTarget; buildConfigurationList = AA82C62FBB7F00A3C7D4DBA0C7D6C570 /* Build configuration list for PBXAggregateTarget "GoogleAds-IMA-iOS-SDK" */; @@ -17,432 +27,540 @@ ); name = "GoogleAds-IMA-iOS-SDK"; }; - 78D7420028AA6BE7CBA9A3DC7529E196 /* Mux-Stats-Core */ = { + 8D8DD638EFFF8DBE3599EC57E5CC1036 /* GoogleAds-IMA-tvOS-SDK */ = { isa = PBXAggregateTarget; - buildConfigurationList = FEFA7AC4231F09664F69FCF24C427586 /* Build configuration list for PBXAggregateTarget "Mux-Stats-Core" */; + buildConfigurationList = 9A52955F9AFD3A6A0EA13F213FAC2A0C /* Build configuration list for PBXAggregateTarget "GoogleAds-IMA-tvOS-SDK" */; buildPhases = ( - 063E3046CDD5F22781D24997D5F76D59 /* [CP] Copy XCFrameworks */, + 03DB42246C53321148EA6481407C3BE5 /* [CP] Copy XCFrameworks */, ); dependencies = ( ); - name = "Mux-Stats-Core"; + name = "GoogleAds-IMA-tvOS-SDK"; }; - 8A628F9FECD1E366F0AF90449C4E8B0A /* Mux-Stats-AVPlayer */ = { + A3EFCEDB20CBDC85A157B113EB9C8CBA /* Mux-Stats-AVPlayer-tvOS */ = { isa = PBXAggregateTarget; - buildConfigurationList = F27E1F14747F15B4C33E44004CD894E4 /* Build configuration list for PBXAggregateTarget "Mux-Stats-AVPlayer" */; + buildConfigurationList = E44F5E01B4E027639AD767D65BF4FF88 /* Build configuration list for PBXAggregateTarget "Mux-Stats-AVPlayer-tvOS" */; buildPhases = ( - 950B6366C51215C71B7D820EAF5C14D1 /* [CP] Copy XCFrameworks */, + A0A8B3390D83497FAA58E9C9A08C60C9 /* [CP] Copy XCFrameworks */, ); dependencies = ( - E508AE8B1CFFE89F604FC11C2BE6066F /* PBXTargetDependency */, + F765DCEE94BE6DC31712CABE001A030D /* PBXTargetDependency */, ); - name = "Mux-Stats-AVPlayer"; + name = "Mux-Stats-AVPlayer-tvOS"; + }; + B951A0EF1A62B67EE3F65F09E82CB428 /* Mux-Stats-AVPlayer-iOS */ = { + isa = PBXAggregateTarget; + buildConfigurationList = B9A541B84BBB25147B90CA62A6CDACF0 /* Build configuration list for PBXAggregateTarget "Mux-Stats-AVPlayer-iOS" */; + buildPhases = ( + D645DDBF0731FE60273D9C8543E2B83F /* [CP] Copy XCFrameworks */, + ); + dependencies = ( + 954ECEE6858C48671C2BF4EADA843EB9 /* PBXTargetDependency */, + ); + name = "Mux-Stats-AVPlayer-iOS"; + }; + C1F1F8F5FE7D716516721F66BC75FDD2 /* Mux-Stats-Core-iOS */ = { + isa = PBXAggregateTarget; + buildConfigurationList = B9B2F9248BF45545C964ED2C809C5844 /* Build configuration list for PBXAggregateTarget "Mux-Stats-Core-iOS" */; + buildPhases = ( + 912B60C76E6C7B380EB699F6EBBA9F4E /* [CP] Copy XCFrameworks */, + ); + dependencies = ( + ); + name = "Mux-Stats-Core-iOS"; }; /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 0025D13B7AEE68BC24AD05067DC2A634 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 28B8F9A5CBF6600A178D21F0A4AC7271 /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0090908EB0053F8979209F9D94FBAAEA /* SPTExcludeGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 99313088A62BEC56768ABF80739F71DD /* SPTExcludeGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 01B2F71DE1B7C212CCC195E2921F6FF5 /* SPTGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 23197209FAC60C766336A3C9866B76D5 /* SPTGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0B719B2FE0A44F90FC5CBB8069B888A6 /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = E287EBE8AE09F2710FD924954BE2A3F7 /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0F06E19DFC928E9A8F10AE832157F26C /* MuxImaListener.m in Sources */ = {isa = PBXBuildFile; fileRef = B145CD82749E3BBF0B1227445BB1226B /* MuxImaListener.m */; }; - 0F3A7C0144901D6BC28990003EA6B98B /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = 936F0E2B000221F089E43C69188D7459 /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1107C031F6C7F5A9786CF038198D5601 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 00C329F58AE5798C81E23FB16E9C6885 /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 112BE6CA3027300707F51D7510A491BD /* SPTSharedExampleGroups.m in Sources */ = {isa = PBXBuildFile; fileRef = 375D0D9D980CB1C65A7B23429ED932D2 /* SPTSharedExampleGroups.m */; }; - 135244528F712ABA5004D84E7E03F154 /* SpectaDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 088B0E7589D71217F1D9CF0184FA2832 /* SpectaDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 174F21C6FBB66D5FE8BEF951F388D537 /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D1273884C675F80E6C0B8AF77264AA0 /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F1CDEFC6A4ED6C4D061B69CEFF6EBD5 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 88DAD333BB067E44D8BA714FD21E3C20 /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1F6A1B39309E02F56356435D42BEFFF9 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 009394CC0D07258702302886C3C4756C /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 21A53C6706F0D9238B5E72C52B4EFC15 /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 55DB4C3C3C7B177BAF430F16EC3AD7B4 /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 22337066B75227B38F845D8E31D0A180 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 3523E924105E5125E4A16424D3C3884C /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 22D792905E21438D732756D42EBF11DE /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 602F1B1B95AB4E7C4A671EFBD999FA93 /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 264BEFD98AC0157AC07881C8E70381A7 /* SPTExample.h in Headers */ = {isa = PBXBuildFile; fileRef = E2EA885197A7F9D91A63D9DF40AB8B7E /* SPTExample.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 26A962DE541F4B916FAD5B2C63DC03D3 /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 1880BC7A07C06B359A4E6BC60B979C81 /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2724B84468084FE58F326C056E9B5AE1 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EBC8F300895E39EA0DF6D6B2B5E6BCD /* XCTest.framework */; }; - 2B727B09A817CECC7EB325762552FC47 /* XCTest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = AF9152278736B23FB6F083209BAE0DBD /* XCTest+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 332B30F9EDEF981FE1AF2FDE37B9C692 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FCE8EA76F4705EFA628534700308408 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 371DFDA7FEFD5D7A781885E98CCA5D37 /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = B82BD0E75C293E310983C3F79197C05B /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 38D07899714289F73FFA2FBE7DE2CADB /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 34E44C53B405F460DBE3C0A0B3139A68 /* EXPMatchers.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3AA3077D400823FE972C841D0ED2A48F /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E3B2959787C7185CDD0AA775A077B9C /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3DE609C500989256CE0D9C7965C02F2F /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = D3DA1CC8A05FEE0B852121B3F34F690A /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 3E4AFE4C3A2A3B83932950B54E5A5A60 /* SpectaUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = E99D9F2AD3CB5A370060D84512D68C1B /* SpectaUtility.m */; }; - 40EDEFC16D8C7D6CAAC7CBA13BAD45DD /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = C1D06188338894D7523AA88CA012FA76 /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4497B6FA75F0F29B8B39D81901403906 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = B2B3FC6806126DE90542A47C16AAB6D0 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 455907198CBA47E299D80F7CDDD053FF /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = 36ED54437C757E8A1DB902D48A89C6ED /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 47794D233364A9E03C17075C21A4DF96 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; - 47D8A422DA09808F727923FD7857D228 /* SPTExampleGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = CDBAD4F8397323C8F879150AC03A3813 /* SPTExampleGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 485D7274CCB0A5C0A812A2F68164767A /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B82A7363B3DC048E1D9064CD8F34FE4 /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 48F95EE6350709299F3A1BF899CC3945 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = 485D1C5D3C60B3AD26A46C72F03DAB1F /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4B18410915DAE75249C67FC8750619BA /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = AC40E4B6D10C27709D106B82223101B1 /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4BC1A531C650A76D2CF83209EA688015 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 26E583A48D9F4CCAE4A2F002C12C978E /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4E141E2E07BA66C10EEC935FE7197FDC /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = A4041F71E83FBFAF584862C462C3A486 /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4ED74B9D1E5C99E2A0EC68FD1B069C22 /* Pods-DemoApp-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 48F3BA756D75C594625A9DC3AE421AB7 /* Pods-DemoApp-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 517188CF13AFC3DA1EB95CC0B7407A25 /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = A758819502A58CCFB5674AF9D074A3F2 /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 51DDBE3E0576E7A64636777830C4BCF6 /* SPTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 499CE4C48506AAF1C209BEABE0464C14 /* SPTSpec.m */; }; - 53E8AC11D6EDF5CCEEC42638071D204B /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 696E37FB1BE0F4C5391A449C155E73F1 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 558E8B26F74765B3CF7816070197F4DF /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = EFE3936A645ECF93AB62959371499011 /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 583610186425FF3ECD4FC6CB6A1847FC /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = FBB0017B26A99E59A9662393EDC0EE89 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 58CB55B0F20BE7BDA67BEDEBB9DDBA65 /* SPTTestSuite.m in Sources */ = {isa = PBXBuildFile; fileRef = 00C8CFCD857F772875EF0C17305F6DB1 /* SPTTestSuite.m */; }; - 5D981E53C71C3121D8A2410607C1C87C /* Pods-MUXSDKImaListener_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F4464FC4C6A3D23AEBDC165EA611A4CF /* Pods-MUXSDKImaListener_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 604E2F3AF42D7A42648596CD18D16A53 /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 3840501B02FBCBD35C0720A48EDD68D4 /* Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 65604041D19D3344B9439B57E5F75998 /* Pods-DemoApp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F67FB6DB2F87A1B32F38F36A7C49FD6 /* Pods-DemoApp-dummy.m */; }; - 65A8EB522A8CF44C401E6B1ABC67018F /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = 80F0DB139F07E1594757EAF3639B333B /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 683B71093933C3BE298F215EFCE11D64 /* Mux-Stats-Google-IMA-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EC404B03D419677C6AF8472E5A273C7 /* Mux-Stats-Google-IMA-dummy.m */; }; - 6B390636673643E07C77B223C4F86A24 /* Mux-Stats-Google-IMA-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A4BBDA8C9EFC335E91D498A0E3DBD880 /* Mux-Stats-Google-IMA-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6BB206F41A2A9F70DE7C021A4B7A6917 /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 9027FF6AD516283624EE9502D6BB821E /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6DA76CEA6A3CEE0CE9985681753D2B48 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = DCE79D6E31EDF5E38742E09831327C3A /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6E549E4864D0EA2C1B0DFC774CAD78EA /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 31186ADEAF3856E03B50BA7D0190AD3D /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E90C8424FDBEC38061929C572C4C891 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BDD3D43C268AA27DDD24216B2C29749 /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6EB456A9807B93A6F814A286F8160D27 /* SpectaTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 54727A2B92839F2ECCD8F1C5FCDEBDE0 /* SpectaTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6F6D69F4CEE5D3878F453D0CD90A0785 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 08508BC73890DF691E9F6C0073246712 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6FF88BA84AF496261A6DE03BA9F1D4A6 /* SPTCompiledExample.h in Headers */ = {isa = PBXBuildFile; fileRef = A063582DDEAF8037F6E5D50B77282A84 /* SPTCompiledExample.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6FFA723BC1B068310CD5E33808B395D8 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = E00E16D4F3CA7AD916E389D318C2F4D5 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7253B6BCF113107A46DD54CC275847D3 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D9FE2358C096C9DC098B87E893CEF469 /* Expecta-dummy.m */; }; - 74BCA9241955ED11E5ABE14C151F2C3F /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = DF44FD3A5D2B2D50B7B48AB2E0AC6BB5 /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 76EFFA9A26AED6BCC81D791812367462 /* Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 920CE73A73B74587AECF85D7005FBE8E /* Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 785A1A6140143F52B65F096945E78C69 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C45C70F5B382B371C47E03BBA01FF2F /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 80270ECBDEB82924094F7A784F9AE40D /* Specta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 27DF5F97BC4F619974F2737C3C70446C /* Specta-dummy.m */; }; - 847312CB953329122B7F5B864C15F5FE /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = 64AE68269BE2BC101E82C3B6CFD93A20 /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 87509A41F730B62243697FE2A2535377 /* SPTTestSuite.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D87E22D1DEBD90B21180CDC7F905BA8 /* SPTTestSuite.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 88DCA1A8606768C16601B77DDDCA2231 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = A512275CE60D64E23F0BA65CE668D99C /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 913C954DE11D6E3863890AD4A358708F /* SpectaDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F1E23B6590D7A7B45787416E6E3479E /* SpectaDSL.m */; }; - 95038CE338827425E785F35822B5D7B1 /* SpectaUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = DDBA8A76FF18B3E00385EA083AFB850A /* SpectaUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 953787DBD344FEDEF75D5E5E954D533F /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 380EBAA01FA62519E23FEB58629905DB /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9555343AB67537BA1DAFF7E8D77378E7 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB01007F49120695344CE88E67AB2E16 /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 95F6327743E88CC9CBADDBAD0193A755 /* SPTExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 320D3EFC9759D67F57109A18A629F09D /* SPTExample.m */; }; - 98374FA5B001B43B4B8C03E8A7C81318 /* SPTCompiledExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 7941AB110851DF21CB5717B05DE355AF /* SPTCompiledExample.m */; }; - 9851254D93144EFEDD443C799D464D5B /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = BE63CEA6D649BAA6396AC72264715607 /* ExpectaObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9AE4AF19CDF8DF5A15FD1A515F7DD0B5 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = EFFF09ED860C799FF0FD7975D6F97E5E /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9DDD1DF9A3526FF7D937B25ACC4BBE87 /* MuxImaListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F7B5D952C5F9252F44819072AE7A599 /* MuxImaListener.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9E5BA4B7CBB1B65826B07B9EBF679CBF /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 499E8B0AF5ADC2F729F29B99108327ED /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A26A680A687CFFFF050919E96281321A /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 40937D5F1BE0D90489DDEDC07D30E4CB /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A2CA8283BC8A4FF5AFFAF58FDAA83D24 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B5A6F777970C2A2D345FDEBC493B39 /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A3874A608A7146A2FB47B7A58717FC09 /* Pods-MUXSDKImaListener_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3A57F21B2BA32FBB73E7A985514BAE5F /* Pods-MUXSDKImaListener_Tests-dummy.m */; }; - ADCDC7E24F8AC5459D1CB24A21539577 /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E86FFF0D6188A45586CAA16C5A871492 /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B0CC7AB95670A68A37FEDC9A45FAA878 /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5CB0EA0FF1352DEF47EE8429F71A44 /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B2366DB89C41E09F8A708E1167BEB1B4 /* module.modulemap in Sources */ = {isa = PBXBuildFile; fileRef = A9B8DCE253484DB673FBAB260AA7264A /* module.modulemap */; }; - B2BA73B71EA5CB6B0FAE50C6D05D8AC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; - B4E20C5849C8E6C3F527740A124C056A /* SPTSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = C5627BD1A5C51044A76D1833DB64A33D /* SPTSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B9A8D1009E2D22005452FB81808E9EE2 /* SPTCallSite.h in Headers */ = {isa = PBXBuildFile; fileRef = CCDC410FAC431A2671978300A9EC454C /* SPTCallSite.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BB25CB33079202625133E162ADB9BEE2 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EBC8F300895E39EA0DF6D6B2B5E6BCD /* XCTest.framework */; }; - BED80124D9086688501DE572EDA56F2D /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = D63839A08CB1B00F0447BB0AB82E73DF /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C01088D23625B652C3DFE9C68C599E0E /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = BA7BB730F652BA3394B833A54711E287 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C1CD225B36139E957C0062ADBE31C77C /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 559B6AF7BFB5AC15CA470AD084A58D7A /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C316A08D7F121193B704DFAD9913D05D /* XCTestCase+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EF12FB10A901A2095F01C1109D870BA /* XCTestCase+Specta.m */; }; - C33689590D11A895A60F8EF0E3458B77 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; - C421EB1F1B5E8051E8919FB99A403D2E /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 68783866DCC05FF38E991041C44350D2 /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C68373B25E6D9A4AF2D1513B95A920AD /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 641BD9D156128F81A4FEBEB41DCBA19C /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C78FC716D37022DD33569218F40F326A /* SPTExampleGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = E49862CCB47F64C707B28641F8C5B8F6 /* SPTExampleGroup.m */; }; - CB8A26F7B56EE3511ADCD26B37DC6669 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 52B76A4EC8090E0527C2E0C5CB8037BA /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CD57DB486DA7221C5A70226D50FFF0A5 /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = DF1649F2191E33F4FBC9C73E60844C7E /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CF8F1B11C396314D87B67AC569C72A79 /* SPTCallSite.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B6ADA345E18FD9BB14041BB4A1F8C3D /* SPTCallSite.m */; }; - D20ED422F19CBEBE50EFD34D10A7204D /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 24C7968C005A8BC09798A26EE21F2630 /* EXPMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D265ED87490296DBD76C9D20394875A1 /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = C12DBBF439EAE2854CB0C3CD25BFF061 /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D67114A7D3E6BAA39DBEDCBBA5D325AA /* Expecta-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ED0B410EE52C27365F69BC9E1B5A758 /* Expecta-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D99465AE5D5743FBEE43CC788F9A9F64 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; - DF127505C375B4DA4FA02D9DC29D0F61 /* XCTestCase+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 26B513A723EF65BE1826A5FF153AA2E4 /* XCTestCase+Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DFC264EAE636DDBCDB8A7D3AA6DC1B26 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 338708F578371F2C596A21AC1A87E7D6 /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E082108CECC5BED2ED34FEAA3A982E43 /* SPTSharedExampleGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = 1175326B7D4658212E03F23A935790C4 /* SPTSharedExampleGroups.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E1B49521C17B05DC91218560F28C1FE4 /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = C9384FC2D994549B4976EA66DB63A97F /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - E8EAF4B0AD5FCCAFC0F28F515925D60D /* Specta-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D5BABAE7C000D8470FB074C2E9ADC6BE /* Specta-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E96C5E17E9BEFCBC4D172538F860816E /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 15677A9A2E88BEA9DAF87A914C081743 /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EAD692C6493916D4C67E6F4F3B95EC08 /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 53DDFAA5502C9EB979CD7E4571FA6690 /* EXPExpect.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EBE25E9DC9EC64BE49E9B98CB3CA7740 /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 9ADB11F37353B5B3C3E7EB06E1B0FB73 /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - EF104B03864452EB96C60BC636EF494D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */; }; - F0EA8AEF1B95FB7370DBB801B22C0885 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = E7ABC42C19F4B5538A2546FAC497425C /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F17E50B5F51BAC83AA60E8A86DFCE042 /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = CBCCE9AF3C1A61D560C5CDE95448B6E1 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F2154347D07CF55F2B4181F5F3C1E01B /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 64BC930F478C8FA17963FDCF6A8DBD1C /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F2A349148D4872E904C79BF76D3E2A04 /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D43EB99C2BEE1899BFDD498DB685545 /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F2B5D73C3923C1F4A04CE0613A482690 /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = BFED156F2FA4E2F11E6792957E728B07 /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F38B030E7B39776A987AEA1CC1FA10A7 /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 26B41D92E23CFD70BAFAC6F39797438E /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F63E14CCD57CC9BCB926AA59B5094256 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 29853DF820237D6094910397C66AF2FC /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F8B9E5CAE5B20040636DB485549D5F3F /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E3943BFBD297D080AD8C54F95094001 /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F909FBF41408B79AF63E187E357ADC6F /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C1A3334116BE4BDB322BF990F52833F /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FF4277313682681CBDBBC697A7CB4F82 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = B3FA0960C058721D2A541642D4948B69 /* EXPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0025D13B7AEE68BC24AD05067DC2A634 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = CABDF39EE32A3BE1762A220630D44B42 /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0090908EB0053F8979209F9D94FBAAEA /* SPTExcludeGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = B9C6B005EB035B012BF0BB3DA0EF7267 /* SPTExcludeGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0196B14C8482BA6F3F698FB7A2657ACD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95A792B234E52E2E75BA6B83D5D54BF8 /* Foundation.framework */; }; + 01B2F71DE1B7C212CCC195E2921F6FF5 /* SPTGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = C42FBA28B164C069B6B10D84E1CC8BEB /* SPTGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 03BE8DEE459BDA2A1590AFE3F5AA623B /* MuxImaListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C03253C8D43E08CCB18232BA1DA91F /* MuxImaListener.m */; }; + 0B719B2FE0A44F90FC5CBB8069B888A6 /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = C285E8566A9A9636E5059E0F8B25E41E /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F3A7C0144901D6BC28990003EA6B98B /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = 62426CE0B6FB576AFA63B6AA40B448A3 /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1107C031F6C7F5A9786CF038198D5601 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F3A08FCF04F43CF6E0654E6CA4A2B8E /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 112BE6CA3027300707F51D7510A491BD /* SPTSharedExampleGroups.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F93E03BC94D517E9A4B8E55FADB4730 /* SPTSharedExampleGroups.m */; }; + 135244528F712ABA5004D84E7E03F154 /* SpectaDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E8EFE1A219A027C43C48A9FD6562FAB /* SpectaDSL.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 174F21C6FBB66D5FE8BEF951F388D537 /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 7CB1323D70BCF44B46BF91C1C2AB8B91 /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1F1CDEFC6A4ED6C4D061B69CEFF6EBD5 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = B42EAB7E5610CFB6D8554CD9E9474E3B /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1F6A1B39309E02F56356435D42BEFFF9 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = C06DA312904D2B1DCD4F32020C9BF7EB /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 21A53C6706F0D9238B5E72C52B4EFC15 /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A1FFEFAAB38C61EB38AACB6DD037460 /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 22337066B75227B38F845D8E31D0A180 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 593EAFBEF9F539F65ADA82E81744BB18 /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 22D792905E21438D732756D42EBF11DE /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 28AB3EB0F9BFBBDA1BC9845192EDBD40 /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 264BEFD98AC0157AC07881C8E70381A7 /* SPTExample.h in Headers */ = {isa = PBXBuildFile; fileRef = 77B5B03D3041CFCC3046601D769E5FB3 /* SPTExample.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 26A962DE541F4B916FAD5B2C63DC03D3 /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A331362946ED196BBAFB7BDE30EF46E /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2724B84468084FE58F326C056E9B5AE1 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 99CA6EB1DCE94EC3514D27DFCC247D30 /* XCTest.framework */; }; + 2B727B09A817CECC7EB325762552FC47 /* XCTest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B5395E56B10F612D9CEBB0038F8FD59 /* XCTest+Private.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2FE77B0B34A29D14F572FE245819B44E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0007D3D9A310D3C1F188CDDABB99FA59 /* Foundation.framework */; }; + 332B30F9EDEF981FE1AF2FDE37B9C692 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 204CE79580B98963B8CA609612671308 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 371DFDA7FEFD5D7A781885E98CCA5D37 /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = A8295A6A4D68D5CCBEFCFEEFDC09BA2D /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 38D07899714289F73FFA2FBE7DE2CADB /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = E24DB0CCC3FE89181706B7E5D786DAA4 /* EXPMatchers.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3AA3077D400823FE972C841D0ED2A48F /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A2F5593A93DC588DE3C0B0E6DFC3477 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3D2BF2A0EE6EEE7C2D8083FDB483F06D /* Pods-DemoApp-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 50A298D9B9D317C7F93BE7CB36ADB224 /* Pods-DemoApp-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3DE609C500989256CE0D9C7965C02F2F /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 02F9A1BB9FB320A0BA9BD7C4B93C5848 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 3E4AFE4C3A2A3B83932950B54E5A5A60 /* SpectaUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = FEBBCE7F88A0F38F383A3CA2B2E6FA2F /* SpectaUtility.m */; }; + 40EDEFC16D8C7D6CAAC7CBA13BAD45DD /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 565590EBE5F1C12B1DD5FBA7F5B89D64 /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4497B6FA75F0F29B8B39D81901403906 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F8EF38BE38534DF1C9A171ED4C8CDA7 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 455907198CBA47E299D80F7CDDD053FF /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = 631F333709D52A0BDCE560AC50B84C72 /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 47012D1E3709F71E65A3A5ED8ED1D381 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95A792B234E52E2E75BA6B83D5D54BF8 /* Foundation.framework */; }; + 47D8A422DA09808F727923FD7857D228 /* SPTExampleGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E4D5B0FDBC9A3E3EF8271B7556C36C4 /* SPTExampleGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 485D7274CCB0A5C0A812A2F68164767A /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = AF943A2FBA2C7E17A117B4E2C18E323D /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 48F95EE6350709299F3A1BF899CC3945 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = A3FAA2FEF849B92899FD321DC6A13075 /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B18410915DAE75249C67FC8750619BA /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 75AA5C7EB7DF2DF403282F07EE758266 /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4BC1A531C650A76D2CF83209EA688015 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = E00A3E6CE371C44F49296F370078F37C /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4E141E2E07BA66C10EEC935FE7197FDC /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = B187740EB41F8F4B3A736158F23300FB /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4FAFC2BC1915820392B1058213AABC55 /* module.modulemap in Sources */ = {isa = PBXBuildFile; fileRef = DFB7085DA10BB2A43CB9E89C9246ACC6 /* module.modulemap */; }; + 517188CF13AFC3DA1EB95CC0B7407A25 /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 01A93E773E47594EDFC1FC66D8FF49BA /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 51DDBE3E0576E7A64636777830C4BCF6 /* SPTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F937A60906D1B9FB16C7B7F4F16D6F6 /* SPTSpec.m */; }; + 53E8AC11D6EDF5CCEEC42638071D204B /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 629BD9FBD697518885AB0817B4C24390 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 53ECDFA3BA07A0579CBEE10DDDC2DA19 /* Pods-DemoApp-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = ABE284BC3BC4524E720A1F4F1315AB7D /* Pods-DemoApp-dummy.m */; }; + 558E8B26F74765B3CF7816070197F4DF /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AD2B0B341C09BFD33782A431E3D4D25 /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 56FA054B9BABCA675A23A6A1547540D5 /* Mux-Stats-Google-IMA-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E1F9830EB547E394C40DFE1EF2EAA20 /* Mux-Stats-Google-IMA-iOS-dummy.m */; }; + 583610186425FF3ECD4FC6CB6A1847FC /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 364BF8C5E175A4CBB6B45D2AD3358563 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 58CB55B0F20BE7BDA67BEDEBB9DDBA65 /* SPTTestSuite.m in Sources */ = {isa = PBXBuildFile; fileRef = 66A4A861048262D2D87E0F0A07D613A2 /* SPTTestSuite.m */; }; + 604E2F3AF42D7A42648596CD18D16A53 /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 0300752B45D5791F2D9D26A6C01C2891 /* Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 625DE4A50D59ADCD62E5F01BB17BCFDA /* Pods-MUXSDKIMATVOSExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F10EA72F50BC23B4196D628EA6F4DF50 /* Pods-MUXSDKIMATVOSExample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6367ABA9E4BE5060A38818C145C92EDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0007D3D9A310D3C1F188CDDABB99FA59 /* Foundation.framework */; }; + 65A8EB522A8CF44C401E6B1ABC67018F /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = EBDDAAC2320749722007D4035E66CF4C /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6BB206F41A2A9F70DE7C021A4B7A6917 /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 5446060CB6377F87A9606D35E991B349 /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6DA76CEA6A3CEE0CE9985681753D2B48 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = 2743849B6FD94D0369700A0960B972CE /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6E549E4864D0EA2C1B0DFC774CAD78EA /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = E6A52A50630A83F7B56A12BB53133D90 /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6E90C8424FDBEC38061929C572C4C891 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D83F095709A23C07CC7079F72A59F8 /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6EB456A9807B93A6F814A286F8160D27 /* SpectaTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = E30FE2BF384BF6F7DEED7A2CC177131A /* SpectaTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6F6D69F4CEE5D3878F453D0CD90A0785 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0736E4AE6C68ECEC4707AA575A129F3F /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6FF88BA84AF496261A6DE03BA9F1D4A6 /* SPTCompiledExample.h in Headers */ = {isa = PBXBuildFile; fileRef = 50D818344C3E7DAC051921AB01F6538C /* SPTCompiledExample.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6FFA723BC1B068310CD5E33808B395D8 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B04258BF7D492BCB6C82C833E30ADD2 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7253B6BCF113107A46DD54CC275847D3 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C02947A170BC96A9686B6DA00A769CB /* Expecta-dummy.m */; }; + 74BCA9241955ED11E5ABE14C151F2C3F /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 81584ABE9B0F1F1C7AD1160791C51EAD /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 76EFFA9A26AED6BCC81D791812367462 /* Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 284353107742FC5569127B1C58A02989 /* Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 785A1A6140143F52B65F096945E78C69 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C6CF222850B105AC6546374A8D1355A /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 7A3E26022E1C16637A793319B2683756 /* Pods-MUXSDKImaListener_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 93C7549DB628A120C8DE072787C9B56E /* Pods-MUXSDKImaListener_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7BA06869AFBAAA743124F39BFD430AC8 /* MuxImaListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 55E790D2B104C3C97E8FFAE430365C4B /* MuxImaListener.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CD7971156177F0EB9519B0418C69B45 /* Mux-Stats-Google-IMA-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 77C1DFA056BB682F622A5C5572267BE4 /* Mux-Stats-Google-IMA-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 80270ECBDEB82924094F7A784F9AE40D /* Specta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EA7B5D457914359E8885B342FECE3724 /* Specta-dummy.m */; }; + 847312CB953329122B7F5B864C15F5FE /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = 2644D5F14738FA831BC4CEEE48F267D6 /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 87509A41F730B62243697FE2A2535377 /* SPTTestSuite.h in Headers */ = {isa = PBXBuildFile; fileRef = 071202901F93C989BB895824D6FA98F1 /* SPTTestSuite.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88DCA1A8606768C16601B77DDDCA2231 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = D09D6B72665B47CC265D5D11E3E226B5 /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 88DFA9C7DB626BCD6289C44F8D39F988 /* module.modulemap in Sources */ = {isa = PBXBuildFile; fileRef = DFB7085DA10BB2A43CB9E89C9246ACC6 /* module.modulemap */; }; + 8FD2AF08E345DD650AA5ECF708E869D8 /* Pods-MUXSDKIMATVOSExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 276C9C0F7E0DF7B2208074CD2C694BB2 /* Pods-MUXSDKIMATVOSExample-dummy.m */; }; + 913C954DE11D6E3863890AD4A358708F /* SpectaDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD32F7017641B87CCD12E8526BAF20F /* SpectaDSL.m */; }; + 95038CE338827425E785F35822B5D7B1 /* SpectaUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = DB270D06455292936E42ED1065382F77 /* SpectaUtility.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 953787DBD344FEDEF75D5E5E954D533F /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = F023BB4138A5C605397EBB71E0EEF4DA /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9555343AB67537BA1DAFF7E8D77378E7 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FB31FD87DF56BEDAD3D352A86D7844B /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 95F6327743E88CC9CBADDBAD0193A755 /* SPTExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 82B8AF291640C46EA560FA8C0D9B6764 /* SPTExample.m */; }; + 98374FA5B001B43B4B8C03E8A7C81318 /* SPTCompiledExample.m in Sources */ = {isa = PBXBuildFile; fileRef = AD17AFE75A1D6507609FE309A488DC1B /* SPTCompiledExample.m */; }; + 9851254D93144EFEDD443C799D464D5B /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C7500FA1CF5C436495142702F56111C /* ExpectaObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9AE4AF19CDF8DF5A15FD1A515F7DD0B5 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 9573A960AE706A47320F22F4D1E6B5C5 /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9E5BA4B7CBB1B65826B07B9EBF679CBF /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = AAA78320563DC203CD4C1496475B4C4E /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A26A680A687CFFFF050919E96281321A /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E560D4BF157C1748B016BBEE1831EE45 /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A2CA8283BC8A4FF5AFFAF58FDAA83D24 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DD6228092685F81E69B0AC859549350 /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + A4C5C421378ED1F97C948EE3C4EC877E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95A792B234E52E2E75BA6B83D5D54BF8 /* Foundation.framework */; }; + A92A27610E1901C669A61CD92299F70A /* Mux-Stats-Google-IMA-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 17E66D346116B57373E97D5BFF57CEF3 /* Mux-Stats-Google-IMA-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ADCDC7E24F8AC5459D1CB24A21539577 /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E86B615609457A903F8BC87C80423B0 /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B0CC7AB95670A68A37FEDC9A45FAA878 /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC210D059CA9DAD451790713B3D0EBF /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B2BA73B71EA5CB6B0FAE50C6D05D8AC5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95A792B234E52E2E75BA6B83D5D54BF8 /* Foundation.framework */; }; + B4E20C5849C8E6C3F527740A124C056A /* SPTSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 46F19BC8E5B5F0797B2BC91BF80CF354 /* SPTSpec.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B9A8D1009E2D22005452FB81808E9EE2 /* SPTCallSite.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C07C9D5B9B6A8930FE02672690953F6 /* SPTCallSite.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BB25CB33079202625133E162ADB9BEE2 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 99CA6EB1DCE94EC3514D27DFCC247D30 /* XCTest.framework */; }; + BB8DB40D0D0B009F3E187B35A6C6D92F /* Mux-Stats-Google-IMA-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1246DB31BDD4397D1D766DD829698AA2 /* Mux-Stats-Google-IMA-tvOS-dummy.m */; }; + BED80124D9086688501DE572EDA56F2D /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 170722FBE110B64E194AE679C3041ABF /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C01088D23625B652C3DFE9C68C599E0E /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = B3EF1B1FA6495770ED9CC8A1E3BB82F6 /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C1CD225B36139E957C0062ADBE31C77C /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = B3FF61C9F1E0643096D13EF3638F7D2E /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C316A08D7F121193B704DFAD9913D05D /* XCTestCase+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = D4891C850BA3AA92BF4814157A869424 /* XCTestCase+Specta.m */; }; + C33689590D11A895A60F8EF0E3458B77 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95A792B234E52E2E75BA6B83D5D54BF8 /* Foundation.framework */; }; + C421EB1F1B5E8051E8919FB99A403D2E /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 634C8E4BB88BB50783FB3159D57C04F6 /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C68373B25E6D9A4AF2D1513B95A920AD /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 489A795AEE3E657F7E05E3FF2E160851 /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C78FC716D37022DD33569218F40F326A /* SPTExampleGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 28748352B893F810A71128E9CD8BABB6 /* SPTExampleGroup.m */; }; + CB8A26F7B56EE3511ADCD26B37DC6669 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F8C28B7090133D9733B141DC4F3662E /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + CD57DB486DA7221C5A70226D50FFF0A5 /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 707809FBDAD46184F3A23481EC147495 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + CF8F1B11C396314D87B67AC569C72A79 /* SPTCallSite.m in Sources */ = {isa = PBXBuildFile; fileRef = 56B04C108EE9B24A48164F9086BC718D /* SPTCallSite.m */; }; + D20ED422F19CBEBE50EFD34D10A7204D /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 98CDCA7AB7A4C782461B67F2EF23EEA0 /* EXPMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D265ED87490296DBD76C9D20394875A1 /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = E874767AE7FBF5D763F4C1DB44AC4CB4 /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D35CD0ABA40BB9225DD9C1983103021E /* Pods-MUXSDKImaListener_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F90F19AEE2EDB201779F8FE6C4FEA31A /* Pods-MUXSDKImaListener_Tests-dummy.m */; }; + D67114A7D3E6BAA39DBEDCBBA5D325AA /* Expecta-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A846258D587AB99597AB2CCB9225EC71 /* Expecta-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DC5CF1591B5EA79B4630A6F225638F51 /* MuxImaListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 55E790D2B104C3C97E8FFAE430365C4B /* MuxImaListener.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DD7708E67C07CBF08E657D598B1AB95B /* MuxImaListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C03253C8D43E08CCB18232BA1DA91F /* MuxImaListener.m */; }; + DF127505C375B4DA4FA02D9DC29D0F61 /* XCTestCase+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 8096324FBC07DD76EB18F7BC9558B161 /* XCTestCase+Specta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DFC264EAE636DDBCDB8A7D3AA6DC1B26 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B060B4D3FED96FBEC4BF6147F56FA3C /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E082108CECC5BED2ED34FEAA3A982E43 /* SPTSharedExampleGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = 0877D8434C984071953FF01671520EBB /* SPTSharedExampleGroups.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E1B49521C17B05DC91218560F28C1FE4 /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 33DBEF2B056CD8106A8B910BE460771A /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E8EAF4B0AD5FCCAFC0F28F515925D60D /* Specta-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A610847339C4EE604BDD7A9100870919 /* Specta-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E96C5E17E9BEFCBC4D172538F860816E /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D6BA7927B6A8862A5C8707F3E088D85 /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EAD692C6493916D4C67E6F4F3B95EC08 /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ECF072305DA785DCD5E68450D5D75E0 /* EXPExpect.h */; settings = {ATTRIBUTES = (Public, ); }; }; + EBE25E9DC9EC64BE49E9B98CB3CA7740 /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 069BE04B3C45A3C058063FD23BF5B378 /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F0EA8AEF1B95FB7370DBB801B22C0885 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 855198D5FD33E7E86769F4FF0EE25C23 /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F17E50B5F51BAC83AA60E8A86DFCE042 /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 37AAC205C0CD4D9944F23242AA177DF8 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F2154347D07CF55F2B4181F5F3C1E01B /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 209E47BF60B25C64AC0D43E78112A499 /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F2A349148D4872E904C79BF76D3E2A04 /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = A7B52CD884FC90482383F0E50DFA1EFC /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F2B5D73C3923C1F4A04CE0613A482690 /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F2F5DBA946B482BFF91D7AC8831B48E /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F38B030E7B39776A987AEA1CC1FA10A7 /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = CAA81106528F8B09296E8ABDF8A0E259 /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F63E14CCD57CC9BCB926AA59B5094256 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = D306C6DF3C478E02B0C51AE3433A3ADD /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F8B9E5CAE5B20040636DB485549D5F3F /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = B8796A7E62FCD738AE9ED020B91EB650 /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F909FBF41408B79AF63E187E357ADC6F /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = D54CB391DE791A40AF3CAB0594F6FE6E /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FF4277313682681CBDBBC697A7CB4F82 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A8A7EEA7EABCBD29271813509270E2 /* EXPDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0D88A0613245FCD076893404D58692C1 /* PBXContainerItemProxy */ = { + 0EEF72F19C1D1931189B0D6F4244AF06 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 7362DAB47E2EFA5452F30DD7E9830B56; - remoteInfo = "GoogleAds-IMA-iOS-SDK"; + remoteGlobalIDString = B951A0EF1A62B67EE3F65F09E82CB428; + remoteInfo = "Mux-Stats-AVPlayer-iOS"; }; - 2B11D3F082E7E7A369FCA105BFC6314F /* PBXContainerItemProxy */ = { + 1178D8546297D953DB658CF34E6FD68C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 7362DAB47E2EFA5452F30DD7E9830B56; - remoteInfo = "GoogleAds-IMA-iOS-SDK"; + remoteGlobalIDString = 5526128214308C0807F9C2136AB687B2; + remoteInfo = "Mux-Stats-Core-tvOS"; }; - 3AF62C673A8F7AA2E759A08C398D881C /* PBXContainerItemProxy */ = { + 14C6E09EC655353A415D600193E6F7EA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8A628F9FECD1E366F0AF90449C4E8B0A; - remoteInfo = "Mux-Stats-AVPlayer"; + remoteGlobalIDString = C1F1F8F5FE7D716516721F66BC75FDD2; + remoteInfo = "Mux-Stats-Core-iOS"; }; - 4906A0EC70BDC427FD60F6925EEC80CE /* PBXContainerItemProxy */ = { + 25FB7AFE4620D58CC38A456EE6B28363 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 7362DAB47E2EFA5452F30DD7E9830B56; - remoteInfo = "GoogleAds-IMA-iOS-SDK"; + remoteGlobalIDString = B951A0EF1A62B67EE3F65F09E82CB428; + remoteInfo = "Mux-Stats-AVPlayer-iOS"; }; - 4D96F536BE942C3FD760F48E26669D18 /* PBXContainerItemProxy */ = { + 2D0EB18E1FB8B9E97E6883D61136151D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8A628F9FECD1E366F0AF90449C4E8B0A; - remoteInfo = "Mux-Stats-AVPlayer"; + remoteGlobalIDString = 1D327FB11B4EBDF9A35C51AEC7740EA3; + remoteInfo = "Mux-Stats-Google-IMA-tvOS"; }; - 5170416E0747575A84411019210909AA /* PBXContainerItemProxy */ = { + 2D213B6D19B81FB63DE1D2F951D14BDE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3B1CCC34C9408E694F9538659E347B13; - remoteInfo = "Mux-Stats-Google-IMA"; + remoteGlobalIDString = A3EFCEDB20CBDC85A157B113EB9C8CBA; + remoteInfo = "Mux-Stats-AVPlayer-tvOS"; }; - 60E272B48D4B9B1306B9D143A3A82AEF /* PBXContainerItemProxy */ = { + 3D4DBD2922C1726F9E14502F7CDF913B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = DC371B7477C88184274EC6710690F97C; - remoteInfo = Expecta; + remoteGlobalIDString = 8D8DD638EFFF8DBE3599EC57E5CC1036; + remoteInfo = "GoogleAds-IMA-tvOS-SDK"; + }; + 43B70E4FF6A010FA42E08A85F21400C8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = C1F1F8F5FE7D716516721F66BC75FDD2; + remoteInfo = "Mux-Stats-Core-iOS"; }; - 6DA3D85BE4A561F7E2DE303DCC8BF87D /* PBXContainerItemProxy */ = { + 6C41EAC3776112D6FA1A3E05D17B73B8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B951A0EF1A62B67EE3F65F09E82CB428; + remoteInfo = "Mux-Stats-AVPlayer-iOS"; + }; + 7E0EBDE768C26C14A8DECCF29AB68812 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 7362DAB47E2EFA5452F30DD7E9830B56; + remoteInfo = "GoogleAds-IMA-iOS-SDK"; + }; + 98E8111EAD23C4E5A91F37DABDD9D69E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = F8676010755CF1530FC02DA9A0D8822B; remoteInfo = Specta; }; - 73B310AD84645036FF937C81EF4C9A51 /* PBXContainerItemProxy */ = { + A191A4D640FD9619046AA42C6C046C25 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8D8DD638EFFF8DBE3599EC57E5CC1036; + remoteInfo = "GoogleAds-IMA-tvOS-SDK"; + }; + AB6DD035C5DC8B86D4588AA229EBE8AF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8316A029179DAA758D7AC9122D97E40D; + remoteInfo = "Mux-Stats-Google-IMA-iOS"; + }; + B2ABDE22BBCAABD5D9099EB304ED6452 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8316A029179DAA758D7AC9122D97E40D; + remoteInfo = "Mux-Stats-Google-IMA-iOS"; + }; + BE550D63C6401FF703A9CDF4893E0292 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 5526128214308C0807F9C2136AB687B2; + remoteInfo = "Mux-Stats-Core-tvOS"; + }; + DBE86E103FC3AD4B040B3C79405AAF6C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 78D7420028AA6BE7CBA9A3DC7529E196; - remoteInfo = "Mux-Stats-Core"; + remoteGlobalIDString = 7362DAB47E2EFA5452F30DD7E9830B56; + remoteInfo = "GoogleAds-IMA-iOS-SDK"; }; - 8DB638271921C008D815C2AD05635D5A /* PBXContainerItemProxy */ = { + EC3DFA54421550752A0FAD6AF9EC271F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 3B1CCC34C9408E694F9538659E347B13; - remoteInfo = "Mux-Stats-Google-IMA"; + remoteGlobalIDString = DC371B7477C88184274EC6710690F97C; + remoteInfo = Expecta; }; - 98972DF1CC41E9748694E5BA38B5D16D /* PBXContainerItemProxy */ = { + EE887431682156DD4C8C28C61E0FF244 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 78D7420028AA6BE7CBA9A3DC7529E196; - remoteInfo = "Mux-Stats-Core"; + remoteGlobalIDString = A3EFCEDB20CBDC85A157B113EB9C8CBA; + remoteInfo = "Mux-Stats-AVPlayer-tvOS"; }; - A1AF7C639492A7B9D945B7DB2EAB7C97 /* PBXContainerItemProxy */ = { + FB592F4129FA896A9D2A44033B5E3263 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 78D7420028AA6BE7CBA9A3DC7529E196; - remoteInfo = "Mux-Stats-Core"; + remoteGlobalIDString = 7362DAB47E2EFA5452F30DD7E9830B56; + remoteInfo = "GoogleAds-IMA-iOS-SDK"; }; - F05D4324E64B5BA6F6205C39C2284F6A /* PBXContainerItemProxy */ = { + FB7B41796750EB62BE309C02699EB917 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 8A628F9FECD1E366F0AF90449C4E8B0A; - remoteInfo = "Mux-Stats-AVPlayer"; + remoteGlobalIDString = C1F1F8F5FE7D716516721F66BC75FDD2; + remoteInfo = "Mux-Stats-Core-iOS"; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 009394CC0D07258702302886C3C4756C /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; - 00C329F58AE5798C81E23FB16E9C6885 /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; - 00C8CFCD857F772875EF0C17305F6DB1 /* SPTTestSuite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTTestSuite.m; path = Specta/Specta/SPTTestSuite.m; sourceTree = ""; }; - 0374AE7F6AB840983307CFDF023051E9 /* GoogleAds-IMA-iOS-SDK.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "GoogleAds-IMA-iOS-SDK.debug.xcconfig"; sourceTree = ""; }; - 08508BC73890DF691E9F6C0073246712 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; - 088B0E7589D71217F1D9CF0184FA2832 /* SpectaDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaDSL.h; path = Specta/Specta/SpectaDSL.h; sourceTree = ""; }; + 0007D3D9A310D3C1F188CDDABB99FA59 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 010CAAE382312204729C85CCD89FA47C /* Mux-Stats-Core-iOS-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Mux-Stats-Core-iOS-xcframeworks.sh"; sourceTree = ""; }; + 01A93E773E47594EDFC1FC66D8FF49BA /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; + 02F9A1BB9FB320A0BA9BD7C4B93C5848 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; + 0300752B45D5791F2D9D26A6C01C2891 /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; + 03263714A8A08574714E94FEB9E2F3B0 /* GoogleInteractiveMediaAds.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; path = GoogleInteractiveMediaAds.xcframework; sourceTree = ""; }; + 045EF5D7394EB7DDD7B7C51F4A0B29AE /* MUXSDKStats.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = MUXSDKStats.xcframework; path = XCFramework/MUXSDKStats.xcframework; sourceTree = ""; }; + 069BE04B3C45A3C058063FD23BF5B378 /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; + 071202901F93C989BB895824D6FA98F1 /* SPTTestSuite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTTestSuite.h; path = Specta/Specta/SPTTestSuite.h; sourceTree = ""; }; + 0736E4AE6C68ECEC4707AA575A129F3F /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; + 0877D8434C984071953FF01671520EBB /* SPTSharedExampleGroups.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSharedExampleGroups.h; path = Specta/Specta/SPTSharedExampleGroups.h; sourceTree = ""; }; 08F7F0770B4878B9883B87DCD8569CB4 /* Expecta */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Expecta; path = Expecta.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0B3042F85148605DF7A9E6C214F514F6 /* Expecta-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Expecta-Info.plist"; sourceTree = ""; }; - 0F5CB0EA0FF1352DEF47EE8429F71A44 /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; - 0FECA2A14B2C3E92E691AF0EFD7A52C8 /* Specta.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.release.xcconfig; sourceTree = ""; }; - 1175326B7D4658212E03F23A935790C4 /* SPTSharedExampleGroups.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSharedExampleGroups.h; path = Specta/Specta/SPTSharedExampleGroups.h; sourceTree = ""; }; - 15677A9A2E88BEA9DAF87A914C081743 /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; + 09608A5CA345E5C5A3BC59CE2FD93776 /* Pods-DemoApp.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-DemoApp.modulemap"; sourceTree = ""; }; + 099A55E65B9A69172D3F5442B818FE33 /* Mux-Stats-Core-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-Core-iOS.debug.xcconfig"; sourceTree = ""; }; + 0BD5CBBD2C7E91C5837361FCA17B3DCD /* Mux-Stats-Core-tvOS-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; name = "Mux-Stats-Core-tvOS-xcframeworks.sh"; path = "../Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS-xcframeworks.sh"; sourceTree = ""; }; + 0C04FC3AF760D56389791A85BA7EBD8B /* Mux-Stats-AVPlayer-iOS-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Mux-Stats-AVPlayer-iOS-xcframeworks.sh"; sourceTree = ""; }; + 0DCE75351C990D28F24437B2BCD5CF33 /* Mux-Stats-Google-IMA-tvOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Mux-Stats-Google-IMA-tvOS"; path = Mux_Stats_Google_IMA.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0E1F9830EB547E394C40DFE1EF2EAA20 /* Mux-Stats-Google-IMA-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Mux-Stats-Google-IMA-iOS-dummy.m"; sourceTree = ""; }; + 1246DB31BDD4397D1D766DD829698AA2 /* Mux-Stats-Google-IMA-tvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "Mux-Stats-Google-IMA-tvOS-dummy.m"; path = "../Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-dummy.m"; sourceTree = ""; }; + 14011141D4C4109F1B89F92E376C748B /* GoogleAds-IMA-iOS-SDK.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "GoogleAds-IMA-iOS-SDK.debug.xcconfig"; sourceTree = ""; }; 15B13B063AA97C48C9010C298AECBDDA /* Specta */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Specta; path = Specta.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 16B11CF4F81C62A58BFA134D4C5865C3 /* Expecta.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.debug.xcconfig; sourceTree = ""; }; - 1880BC7A07C06B359A4E6BC60B979C81 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; - 22DE15F00D04402683C8169E22F6889F /* Pods-MUXSDKImaListener_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MUXSDKImaListener_Tests-acknowledgements.plist"; sourceTree = ""; }; - 23197209FAC60C766336A3C9866B76D5 /* SPTGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTGlobalBeforeAfterEach.h; path = Specta/Specta/SPTGlobalBeforeAfterEach.h; sourceTree = ""; }; - 24C7968C005A8BC09798A26EE21F2630 /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; - 264919A9C651C6430E4D4CAFD80DDA01 /* GoogleAds-IMA-iOS-SDK-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "GoogleAds-IMA-iOS-SDK-xcframeworks.sh"; sourceTree = ""; }; - 26B41D92E23CFD70BAFAC6F39797438E /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; - 26B513A723EF65BE1826A5FF153AA2E4 /* XCTestCase+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestCase+Specta.h"; path = "Specta/Specta/XCTestCase+Specta.h"; sourceTree = ""; }; - 26E583A48D9F4CCAE4A2F002C12C978E /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; - 27DF5F97BC4F619974F2737C3C70446C /* Specta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Specta-dummy.m"; sourceTree = ""; }; - 27F673CC44F15078C3EFBFCC60BB25D5 /* Mux-Stats-Google-IMA.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-Google-IMA.debug.xcconfig"; sourceTree = ""; }; - 28B8F9A5CBF6600A178D21F0A4AC7271 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; - 29853DF820237D6094910397C66AF2FC /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; - 2F80B14AC9ECAE0F43FECA62D0C105AF /* Pods-MUXSDKImaListener_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MUXSDKImaListener_Tests-Info.plist"; sourceTree = ""; }; - 31186ADEAF3856E03B50BA7D0190AD3D /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; - 320D3EFC9759D67F57109A18A629F09D /* SPTExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExample.m; path = Specta/Specta/SPTExample.m; sourceTree = ""; }; - 338708F578371F2C596A21AC1A87E7D6 /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; - 34E44C53B405F460DBE3C0A0B3139A68 /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; - 3523E924105E5125E4A16424D3C3884C /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; - 36ED54437C757E8A1DB902D48A89C6ED /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; - 375D0D9D980CB1C65A7B23429ED932D2 /* SPTSharedExampleGroups.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSharedExampleGroups.m; path = Specta/Specta/SPTSharedExampleGroups.m; sourceTree = ""; }; - 380EBAA01FA62519E23FEB58629905DB /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; - 3840501B02FBCBD35C0720A48EDD68D4 /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; - 3A57F21B2BA32FBB73E7A985514BAE5F /* Pods-MUXSDKImaListener_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MUXSDKImaListener_Tests-dummy.m"; sourceTree = ""; }; - 3A66F2D3962974DFBC613467E5302CD3 /* MUXSDKStats.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = MUXSDKStats.xcframework; path = XCFramework/MUXSDKStats.xcframework; sourceTree = ""; }; - 40937D5F1BE0D90489DDEDC07D30E4CB /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; - 4429B7F77B04202ED3D768EFAAE0D020 /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; - 477F32AA57F1DB286AAD55CFE500F74E /* Pods-DemoApp-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-DemoApp-frameworks.sh"; sourceTree = ""; }; - 485D1C5D3C60B3AD26A46C72F03DAB1F /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; - 48F3BA756D75C594625A9DC3AE421AB7 /* Pods-DemoApp-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-DemoApp-umbrella.h"; sourceTree = ""; }; - 499CE4C48506AAF1C209BEABE0464C14 /* SPTSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSpec.m; path = Specta/Specta/SPTSpec.m; sourceTree = ""; }; - 499E8B0AF5ADC2F729F29B99108327ED /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; - 4BDD3D43C268AA27DDD24216B2C29749 /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; - 4C1A3334116BE4BDB322BF990F52833F /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; - 4D1273884C675F80E6C0B8AF77264AA0 /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; - 4E3943BFBD297D080AD8C54F95094001 /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; - 4ED0B410EE52C27365F69BC9E1B5A758 /* Expecta-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-umbrella.h"; sourceTree = ""; }; + 170722FBE110B64E194AE679C3041ABF /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; + 17E66D346116B57373E97D5BFF57CEF3 /* Mux-Stats-Google-IMA-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mux-Stats-Google-IMA-iOS-umbrella.h"; sourceTree = ""; }; + 19D294664834AB27C11F328232EAC6AE /* Mux-Stats-AVPlayer-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-AVPlayer-iOS.debug.xcconfig"; sourceTree = ""; }; + 1B39AE38D8788460E674130C6E0DFF16 /* Mux-Stats-Google-IMA-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mux-Stats-Google-IMA-iOS-prefix.pch"; sourceTree = ""; }; + 1C07C9D5B9B6A8930FE02672690953F6 /* SPTCallSite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCallSite.h; path = Specta/Specta/SPTCallSite.h; sourceTree = ""; }; + 1C7500FA1CF5C436495142702F56111C /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; + 1CC2257D1B80F8B06977EA7814FB0A42 /* GoogleAds-IMA-tvOS-SDK-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "GoogleAds-IMA-tvOS-SDK-xcframeworks.sh"; sourceTree = ""; }; + 1F8C28B7090133D9733B141DC4F3662E /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; + 204CE79580B98963B8CA609612671308 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; + 209E47BF60B25C64AC0D43E78112A499 /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; + 20BD0493A1C897B79826E4B5F2C00851 /* Pods-MUXSDKImaListener_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MUXSDKImaListener_Tests-frameworks.sh"; sourceTree = ""; }; + 24A8A7EEA7EABCBD29271813509270E2 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; + 2644D5F14738FA831BC4CEEE48F267D6 /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; + 2743849B6FD94D0369700A0960B972CE /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; + 276C9C0F7E0DF7B2208074CD2C694BB2 /* Pods-MUXSDKIMATVOSExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MUXSDKIMATVOSExample-dummy.m"; sourceTree = ""; }; + 284353107742FC5569127B1C58A02989 /* Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Specta.h; path = Specta/Specta/Specta.h; sourceTree = ""; }; + 28748352B893F810A71128E9CD8BABB6 /* SPTExampleGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExampleGroup.m; path = Specta/Specta/SPTExampleGroup.m; sourceTree = ""; }; + 28AB3EB0F9BFBBDA1BC9845192EDBD40 /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; + 2AD2B0B341C09BFD33782A431E3D4D25 /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; + 2D04066B259D0237DE13E36DCC41B3CB /* Mux-Stats-AVPlayer-tvOS-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; name = "Mux-Stats-AVPlayer-tvOS-xcframeworks.sh"; path = "../Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS-xcframeworks.sh"; sourceTree = ""; }; + 2D0937D4C282A643248DC7C97E7BAF8C /* Pods-DemoApp-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-DemoApp-frameworks.sh"; sourceTree = ""; }; + 2E4D5B0FDBC9A3E3EF8271B7556C36C4 /* SPTExampleGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExampleGroup.h; path = Specta/Specta/SPTExampleGroup.h; sourceTree = ""; }; + 2F3A08FCF04F43CF6E0654E6CA4A2B8E /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; + 30CE91049E26C5548B20A4E671922015 /* Specta.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.debug.xcconfig; sourceTree = ""; }; + 32F203BAD6CA236C66D998FAB4E63831 /* Pods-MUXSDKImaListener_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MUXSDKImaListener_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 33DBEF2B056CD8106A8B910BE460771A /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; + 364BF8C5E175A4CBB6B45D2AD3358563 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; + 37AAC205C0CD4D9944F23242AA177DF8 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; + 37DE0B892F3876C38DA0C4C4BCA3FCEF /* Mux-Stats-Core-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Mux-Stats-Core-tvOS.release.xcconfig"; path = "../Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS.release.xcconfig"; sourceTree = ""; }; + 38F1DCF17DDFA61EDA94B1D3381AFD6D /* Mux-Stats-Core-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-Core-iOS.release.xcconfig"; sourceTree = ""; }; + 3924B9841364E9EBD3DCD7C7463152EC /* Expecta-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Expecta-Info.plist"; sourceTree = ""; }; + 3A1FFEFAAB38C61EB38AACB6DD037460 /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; + 3E86B615609457A903F8BC87C80423B0 /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; + 3F2F5DBA946B482BFF91D7AC8831B48E /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; + 3FD1AAD6240B9D5E816228BC3783EA0B /* Expecta.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Expecta.modulemap; sourceTree = ""; }; + 453D60E3DEC81F7D310D51B7B3E02106 /* GoogleAds-IMA-iOS-SDK-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "GoogleAds-IMA-iOS-SDK-xcframeworks.sh"; sourceTree = ""; }; + 46F19BC8E5B5F0797B2BC91BF80CF354 /* SPTSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSpec.h; path = Specta/Specta/SPTSpec.h; sourceTree = ""; }; + 489A795AEE3E657F7E05E3FF2E160851 /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; + 4BD32F7017641B87CCD12E8526BAF20F /* SpectaDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaDSL.m; path = Specta/Specta/SpectaDSL.m; sourceTree = ""; }; + 4BF028658E3EFDD037FE5F571FFB485E /* Pods-MUXSDKImaListener_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MUXSDKImaListener_Tests.release.xcconfig"; sourceTree = ""; }; + 4DD6228092685F81E69B0AC859549350 /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; + 4ECF072305DA785DCD5E68450D5D75E0 /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; + 4F8EF38BE38534DF1C9A171ED4C8CDA7 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; 4FE3A8914DCE32ADB404396D24D8F340 /* Pods-DemoApp */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-DemoApp"; path = Pods_DemoApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 503E48FA23C2FB08AFE037D808EFE711 /* Pods-DemoApp-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-DemoApp-acknowledgements.markdown"; sourceTree = ""; }; - 51CD9563D208A8E30FFAC51F904DCAB2 /* Mux-Stats-Google-IMA.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Mux-Stats-Google-IMA.modulemap"; sourceTree = ""; }; - 52B76A4EC8090E0527C2E0C5CB8037BA /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; - 53DDFAA5502C9EB979CD7E4571FA6690 /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; - 54727A2B92839F2ECCD8F1C5FCDEBDE0 /* SpectaTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaTypes.h; path = Specta/Specta/SpectaTypes.h; sourceTree = ""; }; - 54917DA9F84A0AE606D8EA2028EB6DCE /* Mux-Stats-Google-IMA.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = "Mux-Stats-Google-IMA.podspec"; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 5552349ACD4BEE698B04B5C3F21E46F7 /* Mux-Stats-Google-IMA */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Mux-Stats-Google-IMA"; path = Mux_Stats_Google_IMA.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 559B6AF7BFB5AC15CA470AD084A58D7A /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; - 55DB4C3C3C7B177BAF430F16EC3AD7B4 /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; - 583753FD8A36FD842C690606FA966E40 /* Pods-DemoApp-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DemoApp-acknowledgements.plist"; sourceTree = ""; }; - 5C45C70F5B382B371C47E03BBA01FF2F /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; - 5D43EB99C2BEE1899BFDD498DB685545 /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; - 5D7B8E5412EFF77366F89364B52DB2B6 /* Mux-Stats-Core-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Mux-Stats-Core-xcframeworks.sh"; sourceTree = ""; }; - 5EBC8F300895E39EA0DF6D6B2B5E6BCD /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 5F67CB4965D535FACD1E5DEE87670A24 /* Pods-DemoApp-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DemoApp-Info.plist"; sourceTree = ""; }; - 602F1B1B95AB4E7C4A671EFBD999FA93 /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; - 641BD9D156128F81A4FEBEB41DCBA19C /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; - 64AE68269BE2BC101E82C3B6CFD93A20 /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; - 64BC930F478C8FA17963FDCF6A8DBD1C /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; - 68783866DCC05FF38E991041C44350D2 /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; - 696E37FB1BE0F4C5391A449C155E73F1 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; - 69F995F5C3596AE04C08495EB2AA0625 /* Expecta.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Expecta.modulemap; sourceTree = ""; }; - 6B82A7363B3DC048E1D9064CD8F34FE4 /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; - 6F25D29A2B1AED540BE037ED2993D3C9 /* Mux-Stats-AVPlayer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-AVPlayer.debug.xcconfig"; sourceTree = ""; }; + 4FF0C353F470008AC0AE5C3E99DB25C8 /* Mux-Stats-Core-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Mux-Stats-Core-tvOS.debug.xcconfig"; path = "../Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS.debug.xcconfig"; sourceTree = ""; }; + 50A298D9B9D317C7F93BE7CB36ADB224 /* Pods-DemoApp-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-DemoApp-umbrella.h"; sourceTree = ""; }; + 50D818344C3E7DAC051921AB01F6538C /* SPTCompiledExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCompiledExample.h; path = Specta/Specta/SPTCompiledExample.h; sourceTree = ""; }; + 513ACEB05C0BF790BC44A1FFD41CD320 /* Pods-MUXSDKIMATVOSExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MUXSDKIMATVOSExample-frameworks.sh"; sourceTree = ""; }; + 5446060CB6377F87A9606D35E991B349 /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; + 55E790D2B104C3C97E8FFAE430365C4B /* MuxImaListener.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MuxImaListener.h; sourceTree = ""; }; + 565590EBE5F1C12B1DD5FBA7F5B89D64 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; + 56B04C108EE9B24A48164F9086BC718D /* SPTCallSite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCallSite.m; path = Specta/Specta/SPTCallSite.m; sourceTree = ""; }; + 593EAFBEF9F539F65ADA82E81744BB18 /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; + 5A331362946ED196BBAFB7BDE30EF46E /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; + 5B060B4D3FED96FBEC4BF6147F56FA3C /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; + 5BC894F88174CA7401AEC67D235F4257 /* Specta.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Specta.modulemap; sourceTree = ""; }; + 5C6CF222850B105AC6546374A8D1355A /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; + 5D72A98E18D2C7F0DC1761DB98085D33 /* Mux-Stats-Google-IMA-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-Google-IMA-iOS.release.xcconfig"; sourceTree = ""; }; + 5E8EFE1A219A027C43C48A9FD6562FAB /* SpectaDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaDSL.h; path = Specta/Specta/SpectaDSL.h; sourceTree = ""; }; + 5FC461276413CE61A3C500DE4E42D7ED /* Mux-Stats-Google-IMA-tvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "Mux-Stats-Google-IMA-tvOS.modulemap"; path = "../Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.modulemap"; sourceTree = ""; }; + 62426CE0B6FB576AFA63B6AA40B448A3 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; + 629BD9FBD697518885AB0817B4C24390 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; + 631F333709D52A0BDCE560AC50B84C72 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; + 634C8E4BB88BB50783FB3159D57C04F6 /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; + 63D83F095709A23C07CC7079F72A59F8 /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; + 66A4A861048262D2D87E0F0A07D613A2 /* SPTTestSuite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTTestSuite.m; path = Specta/Specta/SPTTestSuite.m; sourceTree = ""; }; + 679646907CEEA9240E2B6CD6567DC4A8 /* Mux-Stats-Google-IMA-tvOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "Mux-Stats-Google-IMA-tvOS-Info.plist"; path = "../Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-Info.plist"; sourceTree = ""; }; + 6990D8A4E5DD8F2E307F2EA95F9E45A8 /* Mux-Stats-Google-IMA-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Mux-Stats-Google-IMA-iOS.modulemap"; sourceTree = ""; }; + 6A0D90565978C2A5EDEAA96C48BD7D3E /* GoogleInteractiveMediaAds.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; path = GoogleInteractiveMediaAds.xcframework; sourceTree = ""; }; + 707809FBDAD46184F3A23481EC147495 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; 708AEEC377297002CC2493E3AC46948F /* Pods-MUXSDKImaListener_Tests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-MUXSDKImaListener_Tests"; path = Pods_MUXSDKImaListener_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7941AB110851DF21CB5717B05DE355AF /* SPTCompiledExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCompiledExample.m; path = Specta/Specta/SPTCompiledExample.m; sourceTree = ""; }; - 7B6ADA345E18FD9BB14041BB4A1F8C3D /* SPTCallSite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCallSite.m; path = Specta/Specta/SPTCallSite.m; sourceTree = ""; }; - 7D87E22D1DEBD90B21180CDC7F905BA8 /* SPTTestSuite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTTestSuite.h; path = Specta/Specta/SPTTestSuite.h; sourceTree = ""; }; - 7E3B2959787C7185CDD0AA775A077B9C /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; - 7EF12FB10A901A2095F01C1109D870BA /* XCTestCase+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestCase+Specta.m"; path = "Specta/Specta/XCTestCase+Specta.m"; sourceTree = ""; }; - 7F1E23B6590D7A7B45787416E6E3479E /* SpectaDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaDSL.m; path = Specta/Specta/SpectaDSL.m; sourceTree = ""; }; - 7FCE8EA76F4705EFA628534700308408 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; - 80F0DB139F07E1594757EAF3639B333B /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; - 846CC0FAF7913664ADFDDC34CF3129E0 /* MuxCore.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = MuxCore.xcframework; path = XCFramework/MuxCore.xcframework; sourceTree = ""; }; - 8685758675B2F7E01F9965732AC4F3E7 /* Mux-Stats-Google-IMA-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Mux-Stats-Google-IMA-Info.plist"; sourceTree = ""; }; - 88DAD333BB067E44D8BA714FD21E3C20 /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; - 8D1E5A41F730E886C6D5E64CCF04A38F /* Pods-MUXSDKImaListener_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MUXSDKImaListener_Tests-frameworks.sh"; sourceTree = ""; }; - 8D330AF9034DE48FB7C29BCB5AEF58EB /* Specta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-prefix.pch"; sourceTree = ""; }; - 8D885A3BFBD81B20826D474FBE8F2AA9 /* Specta-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Specta-Info.plist"; sourceTree = ""; }; - 8EC404B03D419677C6AF8472E5A273C7 /* Mux-Stats-Google-IMA-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Mux-Stats-Google-IMA-dummy.m"; sourceTree = ""; }; - 8F67FB6DB2F87A1B32F38F36A7C49FD6 /* Pods-DemoApp-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-DemoApp-dummy.m"; sourceTree = ""; }; - 9027FF6AD516283624EE9502D6BB821E /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; - 920CE73A73B74587AECF85D7005FBE8E /* Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Specta.h; path = Specta/Specta/Specta.h; sourceTree = ""; }; - 936F0E2B000221F089E43C69188D7459 /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; - 947E8C630EBCE6CEFB66B4CA44914719 /* Expecta.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.release.xcconfig; sourceTree = ""; }; - 99313088A62BEC56768ABF80739F71DD /* SPTExcludeGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExcludeGlobalBeforeAfterEach.h; path = Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h; sourceTree = ""; }; - 9ADB11F37353B5B3C3E7EB06E1B0FB73 /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; - 9C60C0E4BFBF628DFD5E010323806268 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 9D290A196541346A3D6AD5BB01C1AB16 /* Specta.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Specta.modulemap; sourceTree = ""; }; + 75AA5C7EB7DF2DF403282F07EE758266 /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; + 77B5B03D3041CFCC3046601D769E5FB3 /* SPTExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExample.h; path = Specta/Specta/SPTExample.h; sourceTree = ""; }; + 77C1DFA056BB682F622A5C5572267BE4 /* Mux-Stats-Google-IMA-tvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Mux-Stats-Google-IMA-tvOS-umbrella.h"; path = "../Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-umbrella.h"; sourceTree = ""; }; + 7AF1950A1AB95B15D7E12EE28026A906 /* GoogleAds-IMA-tvOS-SDK.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "GoogleAds-IMA-tvOS-SDK.release.xcconfig"; sourceTree = ""; }; + 7B04258BF7D492BCB6C82C833E30ADD2 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; + 7B357CA63D83B0465FAB41D1047651DE /* Mux-Stats-AVPlayer-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-AVPlayer-iOS.release.xcconfig"; sourceTree = ""; }; + 7B5395E56B10F612D9CEBB0038F8FD59 /* XCTest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTest+Private.h"; path = "Specta/Specta/XCTest+Private.h"; sourceTree = ""; }; + 7C14D84C0ADD3103ED71DF86ECC041F0 /* Mux-Stats-AVPlayer-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Mux-Stats-AVPlayer-tvOS.debug.xcconfig"; path = "../Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS.debug.xcconfig"; sourceTree = ""; }; + 7CB1323D70BCF44B46BF91C1C2AB8B91 /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; + 7D6BA7927B6A8862A5C8707F3E088D85 /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; + 7F757FEB3BCC41871385D13FD17EDCB8 /* Mux-Stats-Google-IMA-iOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Mux-Stats-Google-IMA-iOS-Info.plist"; sourceTree = ""; }; + 7F937A60906D1B9FB16C7B7F4F16D6F6 /* SPTSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSpec.m; path = Specta/Specta/SPTSpec.m; sourceTree = ""; }; + 8096324FBC07DD76EB18F7BC9558B161 /* XCTestCase+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestCase+Specta.h"; path = "Specta/Specta/XCTestCase+Specta.h"; sourceTree = ""; }; + 81584ABE9B0F1F1C7AD1160791C51EAD /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; + 82B8AF291640C46EA560FA8C0D9B6764 /* SPTExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExample.m; path = Specta/Specta/SPTExample.m; sourceTree = ""; }; + 83C03253C8D43E08CCB18232BA1DA91F /* MuxImaListener.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MuxImaListener.m; path = MUXSDKImaListener/Classes/MuxImaListener.m; sourceTree = ""; }; + 855198D5FD33E7E86769F4FF0EE25C23 /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; + 85CF95484809257011B653E37348B0BD /* Expecta.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.release.xcconfig; sourceTree = ""; }; + 8950EB67576C5D94F6403BA5C9B44C42 /* Mux-Stats-Google-IMA-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-Google-IMA-iOS.debug.xcconfig"; sourceTree = ""; }; + 8F93E03BC94D517E9A4B8E55FADB4730 /* SPTSharedExampleGroups.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSharedExampleGroups.m; path = Specta/Specta/SPTSharedExampleGroups.m; sourceTree = ""; }; + 93C7549DB628A120C8DE072787C9B56E /* Pods-MUXSDKImaListener_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-MUXSDKImaListener_Tests-umbrella.h"; sourceTree = ""; }; + 9573A960AE706A47320F22F4D1E6B5C5 /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; + 95975D3EDEF96EFD783149B4DF51AF51 /* Pods-MUXSDKIMATVOSExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MUXSDKIMATVOSExample.release.xcconfig"; sourceTree = ""; }; + 95A3FD1F839AAFBF14CD21F30EE5FB1B /* Pods-DemoApp-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DemoApp-Info.plist"; sourceTree = ""; }; + 95A792B234E52E2E75BA6B83D5D54BF8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 966A5859A8843AD7206D3A0DFC0A420F /* Pods-MUXSDKImaListener_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MUXSDKImaListener_Tests-acknowledgements.plist"; sourceTree = ""; }; + 98CDCA7AB7A4C782461B67F2EF23EEA0 /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; + 99CA6EB1DCE94EC3514D27DFCC247D30 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 9A2F5593A93DC588DE3C0B0E6DFC3477 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; + 9AB5AB47CE4EE9FF507460C7A0A152F9 /* Pods-DemoApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DemoApp.release.xcconfig"; sourceTree = ""; }; + 9C02947A170BC96A9686B6DA00A769CB /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9F7B5D952C5F9252F44819072AE7A599 /* MuxImaListener.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MuxImaListener.h; sourceTree = ""; }; - A02FA4454F0D5185583E1282D0280EF9 /* Mux-Stats-AVPlayer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-AVPlayer.release.xcconfig"; sourceTree = ""; }; - A063582DDEAF8037F6E5D50B77282A84 /* SPTCompiledExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCompiledExample.h; path = Specta/Specta/SPTCompiledExample.h; sourceTree = ""; }; - A3643ECABA5656D13C38DB0A027D790D /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - A3B93D89E5A9DE2266676F3FAFB551F8 /* Mux-Stats-Core.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-Core.debug.xcconfig"; sourceTree = ""; }; - A4041F71E83FBFAF584862C462C3A486 /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; - A4BBDA8C9EFC335E91D498A0E3DBD880 /* Mux-Stats-Google-IMA-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mux-Stats-Google-IMA-umbrella.h"; sourceTree = ""; }; - A502E741B958876C9EEA2B46EB3C0B1F /* Pods-DemoApp.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-DemoApp.modulemap"; sourceTree = ""; }; - A512275CE60D64E23F0BA65CE668D99C /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; - A758819502A58CCFB5674AF9D074A3F2 /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; - A9B8DCE253484DB673FBAB260AA7264A /* module.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = module.modulemap; sourceTree = ""; }; - AC40E4B6D10C27709D106B82223101B1 /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; - AD7498F572B6CE8A0307AB05E5F95FAF /* GoogleInteractiveMediaAds.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; path = GoogleInteractiveMediaAds.xcframework; sourceTree = ""; }; - AF9152278736B23FB6F083209BAE0DBD /* XCTest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTest+Private.h"; path = "Specta/Specta/XCTest+Private.h"; sourceTree = ""; }; - B145CD82749E3BBF0B1227445BB1226B /* MuxImaListener.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MuxImaListener.m; path = MUXSDKImaListener/Classes/MuxImaListener.m; sourceTree = ""; }; - B2B3FC6806126DE90542A47C16AAB6D0 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; - B3FA0960C058721D2A541642D4948B69 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; - B60D5D3DA72CD24A00C329C1C544FB26 /* Pods-DemoApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DemoApp.release.xcconfig"; sourceTree = ""; }; - B6B5A6F777970C2A2D345FDEBC493B39 /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; - B82BD0E75C293E310983C3F79197C05B /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; - BA7BB730F652BA3394B833A54711E287 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; - BB01007F49120695344CE88E67AB2E16 /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; - BE63CEA6D649BAA6396AC72264715607 /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; - BFED156F2FA4E2F11E6792957E728B07 /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; - C12DBBF439EAE2854CB0C3CD25BFF061 /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; - C17D3F9A50EA525814B4201E1C820815 /* Mux-Stats-Google-IMA-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Mux-Stats-Google-IMA-prefix.pch"; sourceTree = ""; }; - C1D06188338894D7523AA88CA012FA76 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; - C4883D94AEA3C879C51563A178DE7CC7 /* Specta.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.debug.xcconfig; sourceTree = ""; }; - C5627BD1A5C51044A76D1833DB64A33D /* SPTSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSpec.h; path = Specta/Specta/SPTSpec.h; sourceTree = ""; }; - C9384FC2D994549B4976EA66DB63A97F /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; - CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - CBCCE9AF3C1A61D560C5CDE95448B6E1 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; - CCDC410FAC431A2671978300A9EC454C /* SPTCallSite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCallSite.h; path = Specta/Specta/SPTCallSite.h; sourceTree = ""; }; - CDBAD4F8397323C8F879150AC03A3813 /* SPTExampleGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExampleGroup.h; path = Specta/Specta/SPTExampleGroup.h; sourceTree = ""; }; - CE54F9D034B824C6D74CB37ED11DC746 /* Pods-MUXSDKImaListener_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MUXSDKImaListener_Tests-acknowledgements.markdown"; sourceTree = ""; }; - D3DA1CC8A05FEE0B852121B3F34F690A /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; - D5BABAE7C000D8470FB074C2E9ADC6BE /* Specta-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-umbrella.h"; sourceTree = ""; }; - D63839A08CB1B00F0447BB0AB82E73DF /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; - D69616AE96C7022FF777724AD3C5D7DC /* Pods-DemoApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DemoApp.debug.xcconfig"; sourceTree = ""; }; - D74069D658CA2AD0B73FB0643FCF921A /* Mux-Stats-Core.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-Core.release.xcconfig"; sourceTree = ""; }; - D9FE2358C096C9DC098B87E893CEF469 /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; - DCE79D6E31EDF5E38742E09831327C3A /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; - DDBA8A76FF18B3E00385EA083AFB850A /* SpectaUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaUtility.h; path = Specta/Specta/SpectaUtility.h; sourceTree = ""; }; - DF1649F2191E33F4FBC9C73E60844C7E /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; - DF44FD3A5D2B2D50B7B48AB2E0AC6BB5 /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; - E00E16D4F3CA7AD916E389D318C2F4D5 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; - E287EBE8AE09F2710FD924954BE2A3F7 /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; - E2D53E5313FD956402A9CA213FC10002 /* Mux-Stats-AVPlayer-xcframeworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Mux-Stats-AVPlayer-xcframeworks.sh"; sourceTree = ""; }; - E2EA885197A7F9D91A63D9DF40AB8B7E /* SPTExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExample.h; path = Specta/Specta/SPTExample.h; sourceTree = ""; }; - E31059842AEB80621D0D511486C206D6 /* Mux-Stats-Google-IMA.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Mux-Stats-Google-IMA.release.xcconfig"; sourceTree = ""; }; - E49862CCB47F64C707B28641F8C5B8F6 /* SPTExampleGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExampleGroup.m; path = Specta/Specta/SPTExampleGroup.m; sourceTree = ""; }; - E7ABC42C19F4B5538A2546FAC497425C /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; - E86FFF0D6188A45586CAA16C5A871492 /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; - E99D9F2AD3CB5A370060D84512D68C1B /* SpectaUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaUtility.m; path = Specta/Specta/SpectaUtility.m; sourceTree = ""; }; - EC4FDA986E8E16E31F119A7CD3863322 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MUXSDKImaListener_Tests.debug.xcconfig"; sourceTree = ""; }; - EFE3936A645ECF93AB62959371499011 /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; - EFFF09ED860C799FF0FD7975D6F97E5E /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; - F2139BFF06F527E013356624E6077D92 /* Pods-MUXSDKImaListener_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-MUXSDKImaListener_Tests.modulemap"; sourceTree = ""; }; - F4464FC4C6A3D23AEBDC165EA611A4CF /* Pods-MUXSDKImaListener_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-MUXSDKImaListener_Tests-umbrella.h"; sourceTree = ""; }; - FA1305DA592CDD3B5A8B7C33E58D83EE /* GoogleAds-IMA-iOS-SDK.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "GoogleAds-IMA-iOS-SDK.release.xcconfig"; sourceTree = ""; }; - FA862F31A1169EF0A910AF94BC4C8EF6 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MUXSDKImaListener_Tests.release.xcconfig"; sourceTree = ""; }; - FBB0017B26A99E59A9662393EDC0EE89 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; + 9FB31FD87DF56BEDAD3D352A86D7844B /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; + A3FAA2FEF849B92899FD321DC6A13075 /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; + A610847339C4EE604BDD7A9100870919 /* Specta-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-umbrella.h"; sourceTree = ""; }; + A7190D9C55782E8235531C75B400A21F /* Pods-MUXSDKImaListener_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-MUXSDKImaListener_Tests.modulemap"; sourceTree = ""; }; + A7B52CD884FC90482383F0E50DFA1EFC /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; + A8295A6A4D68D5CCBEFCFEEFDC09BA2D /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; + A846258D587AB99597AB2CCB9225EC71 /* Expecta-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-umbrella.h"; sourceTree = ""; }; + AA0DD66EB94E2EE5577CF81877455B7E /* Pods-DemoApp-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DemoApp-acknowledgements.plist"; sourceTree = ""; }; + AAA78320563DC203CD4C1496475B4C4E /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; + AAD5A6DFE58E735C22AE3FF714D4C444 /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; + ABE284BC3BC4524E720A1F4F1315AB7D /* Pods-DemoApp-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-DemoApp-dummy.m"; sourceTree = ""; }; + AC059B58EC452A64D7CA3B45E3C08EC3 /* Mux-Stats-Google-IMA-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Mux-Stats-Google-IMA-tvOS.debug.xcconfig"; path = "../Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.debug.xcconfig"; sourceTree = ""; }; + AD17AFE75A1D6507609FE309A488DC1B /* SPTCompiledExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCompiledExample.m; path = Specta/Specta/SPTCompiledExample.m; sourceTree = ""; }; + AD8AE1ACFE8E76C7491AD9E3844504F1 /* Specta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-prefix.pch"; sourceTree = ""; }; + AF943A2FBA2C7E17A117B4E2C18E323D /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; + B099D6765420ADA2E40BDCCDAB46B5B4 /* Pods-MUXSDKIMATVOSExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MUXSDKIMATVOSExample-acknowledgements.markdown"; sourceTree = ""; }; + B1435EBA3EAB3D14706EDFFFEB385681 /* GoogleAds-IMA-iOS-SDK.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "GoogleAds-IMA-iOS-SDK.release.xcconfig"; sourceTree = ""; }; + B187740EB41F8F4B3A736158F23300FB /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; + B3EB1AD5A28CBD1F0C924DE8B89D9309 /* Pods-MUXSDKIMATVOSExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-MUXSDKIMATVOSExample.modulemap"; sourceTree = ""; }; + B3EF1B1FA6495770ED9CC8A1E3BB82F6 /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; + B3FF61C9F1E0643096D13EF3638F7D2E /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; + B42EAB7E5610CFB6D8554CD9E9474E3B /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; + B44514386270B6030C7D3D67095F50B3 /* Mux-Stats-Google-IMA.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = "Mux-Stats-Google-IMA.podspec"; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + B54B75E3E5CED47F26E89E3AF4397752 /* Pods-DemoApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DemoApp.debug.xcconfig"; sourceTree = ""; }; + B718DB7D15A83E4D4692AD315E813F32 /* Mux-Stats-Google-IMA-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Mux-Stats-Google-IMA-tvOS.release.xcconfig"; path = "../Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.release.xcconfig"; sourceTree = ""; }; + B8796A7E62FCD738AE9ED020B91EB650 /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; + B9C6B005EB035B012BF0BB3DA0EF7267 /* SPTExcludeGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExcludeGlobalBeforeAfterEach.h; path = Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h; sourceTree = ""; }; + BEC278413130908EBC731532B238F375 /* Specta-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Specta-Info.plist"; sourceTree = ""; }; + BEEA22C2FA57B710FDAE65CBBDEF13FA /* Pods-MUXSDKIMATVOSExample-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MUXSDKIMATVOSExample-Info.plist"; sourceTree = ""; }; + C06DA312904D2B1DCD4F32020C9BF7EB /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; + C285E8566A9A9636E5059E0F8B25E41E /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; + C42FBA28B164C069B6B10D84E1CC8BEB /* SPTGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTGlobalBeforeAfterEach.h; path = Specta/Specta/SPTGlobalBeforeAfterEach.h; sourceTree = ""; }; + CA86FF5F798CDDB247ABED68E900800D /* Mux-Stats-Google-IMA-tvOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "Mux-Stats-Google-IMA-tvOS-prefix.pch"; path = "../Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-prefix.pch"; sourceTree = ""; }; + CA9B92084A1FEF240AFDFE9ADFF7775D /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + CAA81106528F8B09296E8ABDF8A0E259 /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; + CABDF39EE32A3BE1762A220630D44B42 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; + CBEDFEAAC69C6A385F369498F650605E /* Pods-MUXSDKImaListener_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MUXSDKImaListener_Tests-Info.plist"; sourceTree = ""; }; + CEF0ADC4324124FF20966284CAAA4B06 /* Expecta.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.debug.xcconfig; sourceTree = ""; }; + D09D6B72665B47CC265D5D11E3E226B5 /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; + D2144E873FA3641D36EB563AC5AFD033 /* MuxCore.xcframework */ = {isa = PBXFileReference; includeInIndex = 1; name = MuxCore.xcframework; path = XCFramework/MuxCore.xcframework; sourceTree = ""; }; + D306C6DF3C478E02B0C51AE3433A3ADD /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; + D4891C850BA3AA92BF4814157A869424 /* XCTestCase+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestCase+Specta.m"; path = "Specta/Specta/XCTestCase+Specta.m"; sourceTree = ""; }; + D54CB391DE791A40AF3CAB0594F6FE6E /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; + D5CC729CE4AF34E0C4423ABE0FA83767 /* GoogleAds-IMA-tvOS-SDK.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "GoogleAds-IMA-tvOS-SDK.debug.xcconfig"; sourceTree = ""; }; + DB270D06455292936E42ED1065382F77 /* SpectaUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaUtility.h; path = Specta/Specta/SpectaUtility.h; sourceTree = ""; }; + DFB7085DA10BB2A43CB9E89C9246ACC6 /* module.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = module.modulemap; sourceTree = ""; }; + E00A3E6CE371C44F49296F370078F37C /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; + E24DB0CCC3FE89181706B7E5D786DAA4 /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; + E2F785F187C0CC071BEB59B5DDF03039 /* Mux-Stats-Google-IMA-iOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Mux-Stats-Google-IMA-iOS"; path = Mux_Stats_Google_IMA.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E30FE2BF384BF6F7DEED7A2CC177131A /* SpectaTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaTypes.h; path = Specta/Specta/SpectaTypes.h; sourceTree = ""; }; + E434E4495944CD9A6CCBEEC8D940AA5A /* Pods-MUXSDKIMATVOSExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MUXSDKIMATVOSExample.debug.xcconfig"; sourceTree = ""; }; + E560D4BF157C1748B016BBEE1831EE45 /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; + E6A52A50630A83F7B56A12BB53133D90 /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; + E874767AE7FBF5D763F4C1DB44AC4CB4 /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; + E928184078A61F185A3BA16C97B2A9A5 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + E949A70BE48CE74E340CF7B23D9B461C /* Mux-Stats-AVPlayer-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Mux-Stats-AVPlayer-tvOS.release.xcconfig"; path = "../Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS.release.xcconfig"; sourceTree = ""; }; + EA7B5D457914359E8885B342FECE3724 /* Specta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Specta-dummy.m"; sourceTree = ""; }; + EBDDAAC2320749722007D4035E66CF4C /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; + EDE4E43FC1E72D4BB72CC2F45FE64343 /* Pods-DemoApp-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-DemoApp-acknowledgements.markdown"; sourceTree = ""; }; + F023BB4138A5C605397EBB71E0EEF4DA /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; + F042DB47B07383343CC8930ADA2041D3 /* Pods-MUXSDKIMATVOSExample */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-MUXSDKIMATVOSExample"; path = Pods_MUXSDKIMATVOSExample.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F10EA72F50BC23B4196D628EA6F4DF50 /* Pods-MUXSDKIMATVOSExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-MUXSDKIMATVOSExample-umbrella.h"; sourceTree = ""; }; + F45E73039C5E4F3493DFA587321C5FF1 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MUXSDKImaListener_Tests.debug.xcconfig"; sourceTree = ""; }; + F6A86E48954C33B17B01EECCC439E060 /* Pods-MUXSDKIMATVOSExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MUXSDKIMATVOSExample-acknowledgements.plist"; sourceTree = ""; }; + F90F19AEE2EDB201779F8FE6C4FEA31A /* Pods-MUXSDKImaListener_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MUXSDKImaListener_Tests-dummy.m"; sourceTree = ""; }; + FEB746BD38D188700EA08FD64A9EF818 /* Specta.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.release.xcconfig; sourceTree = ""; }; + FEBBCE7F88A0F38F383A3CA2B2E6FA2F /* SpectaUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaUtility.m; path = Specta/Specta/SpectaUtility.m; sourceTree = ""; }; + FEC210D059CA9DAD451790713B3D0EBF /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 19FD58EF979FA20D84CEC09E520EC54C /* Frameworks */ = { + 0D2A288F2E6FA5DFA161B1E57D63C1B0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D99465AE5D5743FBEE43CC788F9A9F64 /* Foundation.framework in Frameworks */, + 47012D1E3709F71E65A3A5ED8ED1D381 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 34C610636ADAF4C48CA849B3D3CC1BB6 /* Frameworks */ = { + 1ECC53014911673AD0A9F7398E306422 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EF104B03864452EB96C60BC636EF494D /* Foundation.framework in Frameworks */, + 6367ABA9E4BE5060A38818C145C92EDD /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4098AE657B7FA72F383CBA76676FAC1C /* Frameworks */ = { + 519C3738A39E2643765C62ECA79768AB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 47794D233364A9E03C17075C21A4DF96 /* Foundation.framework in Frameworks */, + 0196B14C8482BA6F3F698FB7A2657ACD /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -455,6 +573,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + CBDADF1A3A0698277D8A8266C43B6F89 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 2FE77B0B34A29D14F572FE245819B44E /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E5B1F69EA24B644256F589A5D431F0B1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A4C5C421378ED1F97C948EE3C4EC877E /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F6DCB54193370510845B6DDEFFF9EA35 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -467,386 +601,458 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0243F67AC864E922C0FAE64CC2D60046 /* Pods */ = { + 1AF80CCD1C2203E240E8CE17B8A38362 /* Specta */ = { isa = PBXGroup; children = ( - 762E46A842F01960F9EF029F39460A7D /* Expecta */, - 055DEE1A5AEE7B8CFC1DA83D4210874C /* GoogleAds-IMA-iOS-SDK */, - C5005F91ED05C82B0B201B2A95DAD302 /* Mux-Stats-AVPlayer */, - 08B2988DB8767B46C92F95DA05122AEF /* Mux-Stats-Core */, - 8D610D4553D7781078BE74D9E1A1F921 /* Specta */, + 284353107742FC5569127B1C58A02989 /* Specta.h */, + 5E8EFE1A219A027C43C48A9FD6562FAB /* SpectaDSL.h */, + 4BD32F7017641B87CCD12E8526BAF20F /* SpectaDSL.m */, + E30FE2BF384BF6F7DEED7A2CC177131A /* SpectaTypes.h */, + DB270D06455292936E42ED1065382F77 /* SpectaUtility.h */, + FEBBCE7F88A0F38F383A3CA2B2E6FA2F /* SpectaUtility.m */, + 1C07C9D5B9B6A8930FE02672690953F6 /* SPTCallSite.h */, + 56B04C108EE9B24A48164F9086BC718D /* SPTCallSite.m */, + 50D818344C3E7DAC051921AB01F6538C /* SPTCompiledExample.h */, + AD17AFE75A1D6507609FE309A488DC1B /* SPTCompiledExample.m */, + 77B5B03D3041CFCC3046601D769E5FB3 /* SPTExample.h */, + 82B8AF291640C46EA560FA8C0D9B6764 /* SPTExample.m */, + 2E4D5B0FDBC9A3E3EF8271B7556C36C4 /* SPTExampleGroup.h */, + 28748352B893F810A71128E9CD8BABB6 /* SPTExampleGroup.m */, + B9C6B005EB035B012BF0BB3DA0EF7267 /* SPTExcludeGlobalBeforeAfterEach.h */, + C42FBA28B164C069B6B10D84E1CC8BEB /* SPTGlobalBeforeAfterEach.h */, + 0877D8434C984071953FF01671520EBB /* SPTSharedExampleGroups.h */, + 8F93E03BC94D517E9A4B8E55FADB4730 /* SPTSharedExampleGroups.m */, + 46F19BC8E5B5F0797B2BC91BF80CF354 /* SPTSpec.h */, + 7F937A60906D1B9FB16C7B7F4F16D6F6 /* SPTSpec.m */, + 071202901F93C989BB895824D6FA98F1 /* SPTTestSuite.h */, + 66A4A861048262D2D87E0F0A07D613A2 /* SPTTestSuite.m */, + 7B5395E56B10F612D9CEBB0038F8FD59 /* XCTest+Private.h */, + 8096324FBC07DD76EB18F7BC9558B161 /* XCTestCase+Specta.h */, + D4891C850BA3AA92BF4814157A869424 /* XCTestCase+Specta.m */, + 82345616AB177B999C69833047397DAE /* Support Files */, ); - name = Pods; + name = Specta; + path = Specta; + sourceTree = ""; + }; + 25863BB3D0BBA8E6976DAA6CB5FF088A /* Support Files */ = { + isa = PBXGroup; + children = ( + 1CC2257D1B80F8B06977EA7814FB0A42 /* GoogleAds-IMA-tvOS-SDK-xcframeworks.sh */, + D5CC729CE4AF34E0C4423ABE0FA83767 /* GoogleAds-IMA-tvOS-SDK.debug.xcconfig */, + 7AF1950A1AB95B15D7E12EE28026A906 /* GoogleAds-IMA-tvOS-SDK.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/GoogleAds-IMA-tvOS-SDK"; sourceTree = ""; }; - 031292CEA5E71931346C7769FECE3477 /* include */ = { + 293DE344AE6C8B14135879AEE80D7A28 /* include */ = { isa = PBXGroup; children = ( - A9B8DCE253484DB673FBAB260AA7264A /* module.modulemap */, - 9F7B5D952C5F9252F44819072AE7A599 /* MuxImaListener.h */, + DFB7085DA10BB2A43CB9E89C9246ACC6 /* module.modulemap */, + 55E790D2B104C3C97E8FFAE430365C4B /* MuxImaListener.h */, ); name = include; path = MUXSDKImaListener/Classes/include; sourceTree = ""; }; - 055DEE1A5AEE7B8CFC1DA83D4210874C /* GoogleAds-IMA-iOS-SDK */ = { + 29BBEBC43BB4DDC03F5B2947B944AB78 /* Products */ = { isa = PBXGroup; children = ( - 29EBFDCCC93A0E5CA8F8049BF07B3678 /* Frameworks */, - AE758F49B247597F8D0D910D5E11270D /* Support Files */, + 08F7F0770B4878B9883B87DCD8569CB4 /* Expecta */, + E2F785F187C0CC071BEB59B5DDF03039 /* Mux-Stats-Google-IMA-iOS */, + 0DCE75351C990D28F24437B2BCD5CF33 /* Mux-Stats-Google-IMA-tvOS */, + 4FE3A8914DCE32ADB404396D24D8F340 /* Pods-DemoApp */, + 708AEEC377297002CC2493E3AC46948F /* Pods-MUXSDKImaListener_Tests */, + F042DB47B07383343CC8930ADA2041D3 /* Pods-MUXSDKIMATVOSExample */, + 15B13B063AA97C48C9010C298AECBDDA /* Specta */, ); - name = "GoogleAds-IMA-iOS-SDK"; - path = "GoogleAds-IMA-iOS-SDK"; + name = Products; sourceTree = ""; }; - 06ABAF9D987095D283C854C26D252B69 /* Targets Support Files */ = { + 2B0192431769F5C1187E66E691E9A7E7 /* Mux-Stats-Google-IMA */ = { isa = PBXGroup; children = ( - 8E997C2816662CAE18D3A52A857F2121 /* Pods-DemoApp */, - E3C036CC6BA1650D48C5759A93EA179B /* Pods-MUXSDKImaListener_Tests */, + 83C03253C8D43E08CCB18232BA1DA91F /* MuxImaListener.m */, + 293DE344AE6C8B14135879AEE80D7A28 /* include */, + FCCCA8DF96410A450C67B6CC281637F0 /* Pod */, + 967E1F4B05BFE5B2622322FDE44DB52E /* Support Files */, ); - name = "Targets Support Files"; + name = "Mux-Stats-Google-IMA"; + path = ../..; sourceTree = ""; }; - 08B2988DB8767B46C92F95DA05122AEF /* Mux-Stats-Core */ = { + 483987A559477B60812A51B298A5E312 /* Pods-MUXSDKIMATVOSExample */ = { isa = PBXGroup; children = ( - 50AD1D44681EF41325D2ED41094B516D /* Frameworks */, - 916F4AF91C101051AC834B8760772F62 /* Support Files */, - ); - name = "Mux-Stats-Core"; - path = "Mux-Stats-Core"; + B3EB1AD5A28CBD1F0C924DE8B89D9309 /* Pods-MUXSDKIMATVOSExample.modulemap */, + B099D6765420ADA2E40BDCCDAB46B5B4 /* Pods-MUXSDKIMATVOSExample-acknowledgements.markdown */, + F6A86E48954C33B17B01EECCC439E060 /* Pods-MUXSDKIMATVOSExample-acknowledgements.plist */, + 276C9C0F7E0DF7B2208074CD2C694BB2 /* Pods-MUXSDKIMATVOSExample-dummy.m */, + 513ACEB05C0BF790BC44A1FFD41CD320 /* Pods-MUXSDKIMATVOSExample-frameworks.sh */, + BEEA22C2FA57B710FDAE65CBBDEF13FA /* Pods-MUXSDKIMATVOSExample-Info.plist */, + F10EA72F50BC23B4196D628EA6F4DF50 /* Pods-MUXSDKIMATVOSExample-umbrella.h */, + E434E4495944CD9A6CCBEEC8D940AA5A /* Pods-MUXSDKIMATVOSExample.debug.xcconfig */, + 95975D3EDEF96EFD783149B4DF51AF51 /* Pods-MUXSDKIMATVOSExample.release.xcconfig */, + ); + name = "Pods-MUXSDKIMATVOSExample"; + path = "Target Support Files/Pods-MUXSDKIMATVOSExample"; sourceTree = ""; }; - 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = { + 50FDC210BD93CE279811A6DB438115DB /* tvOS */ = { isa = PBXGroup; children = ( - 974814B39C0012DECD183BBB91B32103 /* iOS */, + 0007D3D9A310D3C1F188CDDABB99FA59 /* Foundation.framework */, ); - name = Frameworks; + name = tvOS; sourceTree = ""; }; - 29EBFDCCC93A0E5CA8F8049BF07B3678 /* Frameworks */ = { + 5A79D8190F526C394C6BE893138EE367 /* Pods */ = { isa = PBXGroup; children = ( - AD7498F572B6CE8A0307AB05E5F95FAF /* GoogleInteractiveMediaAds.xcframework */, + 6007839AAA2F22FBDE6790E9AEB04C86 /* Expecta */, + CFA3C4157A824B1FD7F90BD7FD787157 /* GoogleAds-IMA-iOS-SDK */, + D4E0DCB9F34F8AFFAD87D3890E66214E /* GoogleAds-IMA-tvOS-SDK */, + E830048E945408C52BC7FD7F1C294DB7 /* Mux-Stats-AVPlayer */, + 8A8DE639C9678DF4593D2909E199A199 /* Mux-Stats-Core */, + 1AF80CCD1C2203E240E8CE17B8A38362 /* Specta */, ); - name = Frameworks; + name = Pods; sourceTree = ""; }; - 2EACD55B5F8E13EE733575716802AE94 /* Support Files */ = { + 6007839AAA2F22FBDE6790E9AEB04C86 /* Expecta */ = { isa = PBXGroup; children = ( - 51CD9563D208A8E30FFAC51F904DCAB2 /* Mux-Stats-Google-IMA.modulemap */, - 8EC404B03D419677C6AF8472E5A273C7 /* Mux-Stats-Google-IMA-dummy.m */, - 8685758675B2F7E01F9965732AC4F3E7 /* Mux-Stats-Google-IMA-Info.plist */, - C17D3F9A50EA525814B4201E1C820815 /* Mux-Stats-Google-IMA-prefix.pch */, - A4BBDA8C9EFC335E91D498A0E3DBD880 /* Mux-Stats-Google-IMA-umbrella.h */, - 27F673CC44F15078C3EFBFCC60BB25D5 /* Mux-Stats-Google-IMA.debug.xcconfig */, - E31059842AEB80621D0D511486C206D6 /* Mux-Stats-Google-IMA.release.xcconfig */, + 3F2F5DBA946B482BFF91D7AC8831B48E /* EXPBlockDefinedMatcher.h */, + 069BE04B3C45A3C058063FD23BF5B378 /* EXPBlockDefinedMatcher.m */, + 24A8A7EEA7EABCBD29271813509270E2 /* EXPDefines.h */, + 7D6BA7927B6A8862A5C8707F3E088D85 /* EXPDoubleTuple.h */, + AF943A2FBA2C7E17A117B4E2C18E323D /* EXPDoubleTuple.m */, + 0300752B45D5791F2D9D26A6C01C2891 /* Expecta.h */, + 1C7500FA1CF5C436495142702F56111C /* ExpectaObject.h */, + 3E86B615609457A903F8BC87C80423B0 /* ExpectaObject.m */, + 9573A960AE706A47320F22F4D1E6B5C5 /* ExpectaSupport.h */, + 1F8C28B7090133D9733B141DC4F3662E /* ExpectaSupport.m */, + 4ECF072305DA785DCD5E68450D5D75E0 /* EXPExpect.h */, + A8295A6A4D68D5CCBEFCFEEFDC09BA2D /* EXPExpect.m */, + FEC210D059CA9DAD451790713B3D0EBF /* EXPFloatTuple.h */, + E00A3E6CE371C44F49296F370078F37C /* EXPFloatTuple.m */, + 98CDCA7AB7A4C782461B67F2EF23EEA0 /* EXPMatcher.h */, + CABDF39EE32A3BE1762A220630D44B42 /* EXPMatcherHelpers.h */, + 364BF8C5E175A4CBB6B45D2AD3358563 /* EXPMatcherHelpers.m */, + E24DB0CCC3FE89181706B7E5D786DAA4 /* EXPMatchers.h */, + 209E47BF60B25C64AC0D43E78112A499 /* EXPMatchers+beCloseTo.h */, + 170722FBE110B64E194AE679C3041ABF /* EXPMatchers+beCloseTo.m */, + 3A1FFEFAAB38C61EB38AACB6DD037460 /* EXPMatchers+beFalsy.h */, + 0736E4AE6C68ECEC4707AA575A129F3F /* EXPMatchers+beFalsy.m */, + 9A2F5593A93DC588DE3C0B0E6DFC3477 /* EXPMatchers+beginWith.h */, + AAA78320563DC203CD4C1496475B4C4E /* EXPMatchers+beginWith.m */, + 7B04258BF7D492BCB6C82C833E30ADD2 /* EXPMatchers+beGreaterThan.h */, + CAA81106528F8B09296E8ABDF8A0E259 /* EXPMatchers+beGreaterThan.m */, + D306C6DF3C478E02B0C51AE3433A3ADD /* EXPMatchers+beGreaterThanOrEqualTo.h */, + 4F8EF38BE38534DF1C9A171ED4C8CDA7 /* EXPMatchers+beGreaterThanOrEqualTo.m */, + 81584ABE9B0F1F1C7AD1160791C51EAD /* EXPMatchers+beIdenticalTo.h */, + B3EF1B1FA6495770ED9CC8A1E3BB82F6 /* EXPMatchers+beIdenticalTo.m */, + 01A93E773E47594EDFC1FC66D8FF49BA /* EXPMatchers+beInstanceOf.h */, + 4DD6228092685F81E69B0AC859549350 /* EXPMatchers+beInstanceOf.m */, + B3FF61C9F1E0643096D13EF3638F7D2E /* EXPMatchers+beInTheRangeOf.h */, + C06DA312904D2B1DCD4F32020C9BF7EB /* EXPMatchers+beInTheRangeOf.m */, + E6A52A50630A83F7B56A12BB53133D90 /* EXPMatchers+beKindOf.h */, + 02F9A1BB9FB320A0BA9BD7C4B93C5848 /* EXPMatchers+beKindOf.m */, + 565590EBE5F1C12B1DD5FBA7F5B89D64 /* EXPMatchers+beLessThan.h */, + D09D6B72665B47CC265D5D11E3E226B5 /* EXPMatchers+beLessThan.m */, + 2F3A08FCF04F43CF6E0654E6CA4A2B8E /* EXPMatchers+beLessThanOrEqualTo.h */, + 489A795AEE3E657F7E05E3FF2E160851 /* EXPMatchers+beLessThanOrEqualTo.m */, + 5446060CB6377F87A9606D35E991B349 /* EXPMatchers+beNil.h */, + EBDDAAC2320749722007D4035E66CF4C /* EXPMatchers+beNil.m */, + 5B060B4D3FED96FBEC4BF6147F56FA3C /* EXPMatchers+beSubclassOf.h */, + 37AAC205C0CD4D9944F23242AA177DF8 /* EXPMatchers+beSubclassOf.m */, + B42EAB7E5610CFB6D8554CD9E9474E3B /* EXPMatchers+beSupersetOf.h */, + 855198D5FD33E7E86769F4FF0EE25C23 /* EXPMatchers+beSupersetOf.m */, + A3FAA2FEF849B92899FD321DC6A13075 /* EXPMatchers+beTruthy.h */, + 9FB31FD87DF56BEDAD3D352A86D7844B /* EXPMatchers+beTruthy.m */, + 28AB3EB0F9BFBBDA1BC9845192EDBD40 /* EXPMatchers+conformTo.h */, + 707809FBDAD46184F3A23481EC147495 /* EXPMatchers+conformTo.m */, + 5A331362946ED196BBAFB7BDE30EF46E /* EXPMatchers+contain.h */, + A7B52CD884FC90482383F0E50DFA1EFC /* EXPMatchers+contain.m */, + 75AA5C7EB7DF2DF403282F07EE758266 /* EXPMatchers+endWith.h */, + 204CE79580B98963B8CA609612671308 /* EXPMatchers+endWith.m */, + B187740EB41F8F4B3A736158F23300FB /* EXPMatchers+equal.h */, + E874767AE7FBF5D763F4C1DB44AC4CB4 /* EXPMatchers+equal.m */, + B8796A7E62FCD738AE9ED020B91EB650 /* EXPMatchers+haveCountOf.h */, + 629BD9FBD697518885AB0817B4C24390 /* EXPMatchers+haveCountOf.m */, + 631F333709D52A0BDCE560AC50B84C72 /* EXPMatchers+match.h */, + 2743849B6FD94D0369700A0960B972CE /* EXPMatchers+match.m */, + 634C8E4BB88BB50783FB3159D57C04F6 /* EXPMatchers+postNotification.h */, + 33DBEF2B056CD8106A8B910BE460771A /* EXPMatchers+postNotification.m */, + 62426CE0B6FB576AFA63B6AA40B448A3 /* EXPMatchers+raise.h */, + 5C6CF222850B105AC6546374A8D1355A /* EXPMatchers+raise.m */, + C285E8566A9A9636E5059E0F8B25E41E /* EXPMatchers+raiseWithReason.h */, + 63D83F095709A23C07CC7079F72A59F8 /* EXPMatchers+raiseWithReason.m */, + 7CB1323D70BCF44B46BF91C1C2AB8B91 /* EXPMatchers+respondTo.h */, + 593EAFBEF9F539F65ADA82E81744BB18 /* EXPMatchers+respondTo.m */, + 2AD2B0B341C09BFD33782A431E3D4D25 /* EXPUnsupportedObject.h */, + E560D4BF157C1748B016BBEE1831EE45 /* EXPUnsupportedObject.m */, + D54CB391DE791A40AF3CAB0594F6FE6E /* NSObject+Expecta.h */, + F023BB4138A5C605397EBB71E0EEF4DA /* NSValue+Expecta.h */, + 2644D5F14738FA831BC4CEEE48F267D6 /* NSValue+Expecta.m */, + C20D013FBDE2615D997774D286EAFEBB /* Support Files */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/Mux-Stats-Google-IMA"; + name = Expecta; + path = Expecta; sourceTree = ""; }; - 50AD1D44681EF41325D2ED41094B516D /* Frameworks */ = { + 605814F1B665BE9360E7AE2A314B7E39 /* Frameworks */ = { isa = PBXGroup; children = ( - 846CC0FAF7913664ADFDDC34CF3129E0 /* MuxCore.xcframework */, + D2144E873FA3641D36EB563AC5AFD033 /* MuxCore.xcframework */, ); name = Frameworks; sourceTree = ""; }; - 762E46A842F01960F9EF029F39460A7D /* Expecta */ = { + 70AC9F74FB1AFB6B07E9FA0B6F61296D /* Support Files */ = { isa = PBXGroup; children = ( - BFED156F2FA4E2F11E6792957E728B07 /* EXPBlockDefinedMatcher.h */, - 9ADB11F37353B5B3C3E7EB06E1B0FB73 /* EXPBlockDefinedMatcher.m */, - B3FA0960C058721D2A541642D4948B69 /* EXPDefines.h */, - 15677A9A2E88BEA9DAF87A914C081743 /* EXPDoubleTuple.h */, - 6B82A7363B3DC048E1D9064CD8F34FE4 /* EXPDoubleTuple.m */, - 3840501B02FBCBD35C0720A48EDD68D4 /* Expecta.h */, - BE63CEA6D649BAA6396AC72264715607 /* ExpectaObject.h */, - E86FFF0D6188A45586CAA16C5A871492 /* ExpectaObject.m */, - EFFF09ED860C799FF0FD7975D6F97E5E /* ExpectaSupport.h */, - 52B76A4EC8090E0527C2E0C5CB8037BA /* ExpectaSupport.m */, - 53DDFAA5502C9EB979CD7E4571FA6690 /* EXPExpect.h */, - B82BD0E75C293E310983C3F79197C05B /* EXPExpect.m */, - 0F5CB0EA0FF1352DEF47EE8429F71A44 /* EXPFloatTuple.h */, - 26E583A48D9F4CCAE4A2F002C12C978E /* EXPFloatTuple.m */, - 24C7968C005A8BC09798A26EE21F2630 /* EXPMatcher.h */, - 28B8F9A5CBF6600A178D21F0A4AC7271 /* EXPMatcherHelpers.h */, - FBB0017B26A99E59A9662393EDC0EE89 /* EXPMatcherHelpers.m */, - 34E44C53B405F460DBE3C0A0B3139A68 /* EXPMatchers.h */, - 64BC930F478C8FA17963FDCF6A8DBD1C /* EXPMatchers+beCloseTo.h */, - D63839A08CB1B00F0447BB0AB82E73DF /* EXPMatchers+beCloseTo.m */, - 55DB4C3C3C7B177BAF430F16EC3AD7B4 /* EXPMatchers+beFalsy.h */, - 08508BC73890DF691E9F6C0073246712 /* EXPMatchers+beFalsy.m */, - 7E3B2959787C7185CDD0AA775A077B9C /* EXPMatchers+beginWith.h */, - 499E8B0AF5ADC2F729F29B99108327ED /* EXPMatchers+beginWith.m */, - E00E16D4F3CA7AD916E389D318C2F4D5 /* EXPMatchers+beGreaterThan.h */, - 26B41D92E23CFD70BAFAC6F39797438E /* EXPMatchers+beGreaterThan.m */, - 29853DF820237D6094910397C66AF2FC /* EXPMatchers+beGreaterThanOrEqualTo.h */, - B2B3FC6806126DE90542A47C16AAB6D0 /* EXPMatchers+beGreaterThanOrEqualTo.m */, - DF44FD3A5D2B2D50B7B48AB2E0AC6BB5 /* EXPMatchers+beIdenticalTo.h */, - BA7BB730F652BA3394B833A54711E287 /* EXPMatchers+beIdenticalTo.m */, - A758819502A58CCFB5674AF9D074A3F2 /* EXPMatchers+beInstanceOf.h */, - B6B5A6F777970C2A2D345FDEBC493B39 /* EXPMatchers+beInstanceOf.m */, - 559B6AF7BFB5AC15CA470AD084A58D7A /* EXPMatchers+beInTheRangeOf.h */, - 009394CC0D07258702302886C3C4756C /* EXPMatchers+beInTheRangeOf.m */, - 31186ADEAF3856E03B50BA7D0190AD3D /* EXPMatchers+beKindOf.h */, - D3DA1CC8A05FEE0B852121B3F34F690A /* EXPMatchers+beKindOf.m */, - C1D06188338894D7523AA88CA012FA76 /* EXPMatchers+beLessThan.h */, - A512275CE60D64E23F0BA65CE668D99C /* EXPMatchers+beLessThan.m */, - 00C329F58AE5798C81E23FB16E9C6885 /* EXPMatchers+beLessThanOrEqualTo.h */, - 641BD9D156128F81A4FEBEB41DCBA19C /* EXPMatchers+beLessThanOrEqualTo.m */, - 9027FF6AD516283624EE9502D6BB821E /* EXPMatchers+beNil.h */, - 80F0DB139F07E1594757EAF3639B333B /* EXPMatchers+beNil.m */, - 338708F578371F2C596A21AC1A87E7D6 /* EXPMatchers+beSubclassOf.h */, - CBCCE9AF3C1A61D560C5CDE95448B6E1 /* EXPMatchers+beSubclassOf.m */, - 88DAD333BB067E44D8BA714FD21E3C20 /* EXPMatchers+beSupersetOf.h */, - E7ABC42C19F4B5538A2546FAC497425C /* EXPMatchers+beSupersetOf.m */, - 485D1C5D3C60B3AD26A46C72F03DAB1F /* EXPMatchers+beTruthy.h */, - BB01007F49120695344CE88E67AB2E16 /* EXPMatchers+beTruthy.m */, - 602F1B1B95AB4E7C4A671EFBD999FA93 /* EXPMatchers+conformTo.h */, - DF1649F2191E33F4FBC9C73E60844C7E /* EXPMatchers+conformTo.m */, - 1880BC7A07C06B359A4E6BC60B979C81 /* EXPMatchers+contain.h */, - 5D43EB99C2BEE1899BFDD498DB685545 /* EXPMatchers+contain.m */, - AC40E4B6D10C27709D106B82223101B1 /* EXPMatchers+endWith.h */, - 7FCE8EA76F4705EFA628534700308408 /* EXPMatchers+endWith.m */, - A4041F71E83FBFAF584862C462C3A486 /* EXPMatchers+equal.h */, - C12DBBF439EAE2854CB0C3CD25BFF061 /* EXPMatchers+equal.m */, - 4E3943BFBD297D080AD8C54F95094001 /* EXPMatchers+haveCountOf.h */, - 696E37FB1BE0F4C5391A449C155E73F1 /* EXPMatchers+haveCountOf.m */, - 36ED54437C757E8A1DB902D48A89C6ED /* EXPMatchers+match.h */, - DCE79D6E31EDF5E38742E09831327C3A /* EXPMatchers+match.m */, - 68783866DCC05FF38E991041C44350D2 /* EXPMatchers+postNotification.h */, - C9384FC2D994549B4976EA66DB63A97F /* EXPMatchers+postNotification.m */, - 936F0E2B000221F089E43C69188D7459 /* EXPMatchers+raise.h */, - 5C45C70F5B382B371C47E03BBA01FF2F /* EXPMatchers+raise.m */, - E287EBE8AE09F2710FD924954BE2A3F7 /* EXPMatchers+raiseWithReason.h */, - 4BDD3D43C268AA27DDD24216B2C29749 /* EXPMatchers+raiseWithReason.m */, - 4D1273884C675F80E6C0B8AF77264AA0 /* EXPMatchers+respondTo.h */, - 3523E924105E5125E4A16424D3C3884C /* EXPMatchers+respondTo.m */, - EFE3936A645ECF93AB62959371499011 /* EXPUnsupportedObject.h */, - 40937D5F1BE0D90489DDEDC07D30E4CB /* EXPUnsupportedObject.m */, - 4C1A3334116BE4BDB322BF990F52833F /* NSObject+Expecta.h */, - 380EBAA01FA62519E23FEB58629905DB /* NSValue+Expecta.h */, - 64AE68269BE2BC101E82C3B6CFD93A20 /* NSValue+Expecta.m */, - 7CBD53F2E433948A152CF73347BD12E4 /* Support Files */, + 010CAAE382312204729C85CCD89FA47C /* Mux-Stats-Core-iOS-xcframeworks.sh */, + 099A55E65B9A69172D3F5442B818FE33 /* Mux-Stats-Core-iOS.debug.xcconfig */, + 38F1DCF17DDFA61EDA94B1D3381AFD6D /* Mux-Stats-Core-iOS.release.xcconfig */, + 0BD5CBBD2C7E91C5837361FCA17B3DCD /* Mux-Stats-Core-tvOS-xcframeworks.sh */, + 4FF0C353F470008AC0AE5C3E99DB25C8 /* Mux-Stats-Core-tvOS.debug.xcconfig */, + 37DE0B892F3876C38DA0C4C4BCA3FCEF /* Mux-Stats-Core-tvOS.release.xcconfig */, ); - name = Expecta; - path = Expecta; + name = "Support Files"; + path = "../Target Support Files/Mux-Stats-Core-iOS"; sourceTree = ""; }; - 79D18264F188E28AEFB52DC712EA92E3 /* Mux-Stats-Google-IMA */ = { + 71E3625193289A0CFFD3A6AE28396D23 /* Pods-MUXSDKImaListener_Tests */ = { isa = PBXGroup; children = ( - B145CD82749E3BBF0B1227445BB1226B /* MuxImaListener.m */, - 031292CEA5E71931346C7769FECE3477 /* include */, - FBB6938CB146AAF866D3290037921B01 /* Pod */, - 2EACD55B5F8E13EE733575716802AE94 /* Support Files */, + A7190D9C55782E8235531C75B400A21F /* Pods-MUXSDKImaListener_Tests.modulemap */, + 32F203BAD6CA236C66D998FAB4E63831 /* Pods-MUXSDKImaListener_Tests-acknowledgements.markdown */, + 966A5859A8843AD7206D3A0DFC0A420F /* Pods-MUXSDKImaListener_Tests-acknowledgements.plist */, + F90F19AEE2EDB201779F8FE6C4FEA31A /* Pods-MUXSDKImaListener_Tests-dummy.m */, + 20BD0493A1C897B79826E4B5F2C00851 /* Pods-MUXSDKImaListener_Tests-frameworks.sh */, + CBEDFEAAC69C6A385F369498F650605E /* Pods-MUXSDKImaListener_Tests-Info.plist */, + 93C7549DB628A120C8DE072787C9B56E /* Pods-MUXSDKImaListener_Tests-umbrella.h */, + F45E73039C5E4F3493DFA587321C5FF1 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */, + 4BF028658E3EFDD037FE5F571FFB485E /* Pods-MUXSDKImaListener_Tests.release.xcconfig */, ); - name = "Mux-Stats-Google-IMA"; - path = ../..; + name = "Pods-MUXSDKImaListener_Tests"; + path = "Target Support Files/Pods-MUXSDKImaListener_Tests"; sourceTree = ""; }; - 7A81C6022E000D2D002EE58133258F88 /* Products */ = { + 73D97C54462B3B3780ACF83043108193 /* Support Files */ = { isa = PBXGroup; children = ( - 08F7F0770B4878B9883B87DCD8569CB4 /* Expecta */, - 5552349ACD4BEE698B04B5C3F21E46F7 /* Mux-Stats-Google-IMA */, - 4FE3A8914DCE32ADB404396D24D8F340 /* Pods-DemoApp */, - 708AEEC377297002CC2493E3AC46948F /* Pods-MUXSDKImaListener_Tests */, - 15B13B063AA97C48C9010C298AECBDDA /* Specta */, + 0C04FC3AF760D56389791A85BA7EBD8B /* Mux-Stats-AVPlayer-iOS-xcframeworks.sh */, + 19D294664834AB27C11F328232EAC6AE /* Mux-Stats-AVPlayer-iOS.debug.xcconfig */, + 7B357CA63D83B0465FAB41D1047651DE /* Mux-Stats-AVPlayer-iOS.release.xcconfig */, + 2D04066B259D0237DE13E36DCC41B3CB /* Mux-Stats-AVPlayer-tvOS-xcframeworks.sh */, + 7C14D84C0ADD3103ED71DF86ECC041F0 /* Mux-Stats-AVPlayer-tvOS.debug.xcconfig */, + E949A70BE48CE74E340CF7B23D9B461C /* Mux-Stats-AVPlayer-tvOS.release.xcconfig */, ); - name = Products; + name = "Support Files"; + path = "../Target Support Files/Mux-Stats-AVPlayer-iOS"; sourceTree = ""; }; - 7CBD53F2E433948A152CF73347BD12E4 /* Support Files */ = { + 82345616AB177B999C69833047397DAE /* Support Files */ = { isa = PBXGroup; children = ( - 69F995F5C3596AE04C08495EB2AA0625 /* Expecta.modulemap */, - D9FE2358C096C9DC098B87E893CEF469 /* Expecta-dummy.m */, - 0B3042F85148605DF7A9E6C214F514F6 /* Expecta-Info.plist */, - 4429B7F77B04202ED3D768EFAAE0D020 /* Expecta-prefix.pch */, - 4ED0B410EE52C27365F69BC9E1B5A758 /* Expecta-umbrella.h */, - 16B11CF4F81C62A58BFA134D4C5865C3 /* Expecta.debug.xcconfig */, - 947E8C630EBCE6CEFB66B4CA44914719 /* Expecta.release.xcconfig */, + 5BC894F88174CA7401AEC67D235F4257 /* Specta.modulemap */, + EA7B5D457914359E8885B342FECE3724 /* Specta-dummy.m */, + BEC278413130908EBC731532B238F375 /* Specta-Info.plist */, + AD8AE1ACFE8E76C7491AD9E3844504F1 /* Specta-prefix.pch */, + A610847339C4EE604BDD7A9100870919 /* Specta-umbrella.h */, + 30CE91049E26C5548B20A4E671922015 /* Specta.debug.xcconfig */, + FEB746BD38D188700EA08FD64A9EF818 /* Specta.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/Expecta"; + path = "../Target Support Files/Specta"; sourceTree = ""; }; 8729D330ADDAF6F1704B875BEEC9222B /* Development Pods */ = { isa = PBXGroup; children = ( - 79D18264F188E28AEFB52DC712EA92E3 /* Mux-Stats-Google-IMA */, + 2B0192431769F5C1187E66E691E9A7E7 /* Mux-Stats-Google-IMA */, ); name = "Development Pods"; sourceTree = ""; }; - 8D610D4553D7781078BE74D9E1A1F921 /* Specta */ = { + 8A8DE639C9678DF4593D2909E199A199 /* Mux-Stats-Core */ = { isa = PBXGroup; children = ( - 920CE73A73B74587AECF85D7005FBE8E /* Specta.h */, - 088B0E7589D71217F1D9CF0184FA2832 /* SpectaDSL.h */, - 7F1E23B6590D7A7B45787416E6E3479E /* SpectaDSL.m */, - 54727A2B92839F2ECCD8F1C5FCDEBDE0 /* SpectaTypes.h */, - DDBA8A76FF18B3E00385EA083AFB850A /* SpectaUtility.h */, - E99D9F2AD3CB5A370060D84512D68C1B /* SpectaUtility.m */, - CCDC410FAC431A2671978300A9EC454C /* SPTCallSite.h */, - 7B6ADA345E18FD9BB14041BB4A1F8C3D /* SPTCallSite.m */, - A063582DDEAF8037F6E5D50B77282A84 /* SPTCompiledExample.h */, - 7941AB110851DF21CB5717B05DE355AF /* SPTCompiledExample.m */, - E2EA885197A7F9D91A63D9DF40AB8B7E /* SPTExample.h */, - 320D3EFC9759D67F57109A18A629F09D /* SPTExample.m */, - CDBAD4F8397323C8F879150AC03A3813 /* SPTExampleGroup.h */, - E49862CCB47F64C707B28641F8C5B8F6 /* SPTExampleGroup.m */, - 99313088A62BEC56768ABF80739F71DD /* SPTExcludeGlobalBeforeAfterEach.h */, - 23197209FAC60C766336A3C9866B76D5 /* SPTGlobalBeforeAfterEach.h */, - 1175326B7D4658212E03F23A935790C4 /* SPTSharedExampleGroups.h */, - 375D0D9D980CB1C65A7B23429ED932D2 /* SPTSharedExampleGroups.m */, - C5627BD1A5C51044A76D1833DB64A33D /* SPTSpec.h */, - 499CE4C48506AAF1C209BEABE0464C14 /* SPTSpec.m */, - 7D87E22D1DEBD90B21180CDC7F905BA8 /* SPTTestSuite.h */, - 00C8CFCD857F772875EF0C17305F6DB1 /* SPTTestSuite.m */, - AF9152278736B23FB6F083209BAE0DBD /* XCTest+Private.h */, - 26B513A723EF65BE1826A5FF153AA2E4 /* XCTestCase+Specta.h */, - 7EF12FB10A901A2095F01C1109D870BA /* XCTestCase+Specta.m */, - BA5E02317E6EF7A4270F2F52E01FFCF7 /* Support Files */, + 605814F1B665BE9360E7AE2A314B7E39 /* Frameworks */, + 70AC9F74FB1AFB6B07E9FA0B6F61296D /* Support Files */, ); - name = Specta; - path = Specta; + name = "Mux-Stats-Core"; + path = "Mux-Stats-Core"; sourceTree = ""; }; - 8E997C2816662CAE18D3A52A857F2121 /* Pods-DemoApp */ = { + 9667298576F4E04000EE8E34D8DA8CF8 /* Support Files */ = { isa = PBXGroup; children = ( - A502E741B958876C9EEA2B46EB3C0B1F /* Pods-DemoApp.modulemap */, - 503E48FA23C2FB08AFE037D808EFE711 /* Pods-DemoApp-acknowledgements.markdown */, - 583753FD8A36FD842C690606FA966E40 /* Pods-DemoApp-acknowledgements.plist */, - 8F67FB6DB2F87A1B32F38F36A7C49FD6 /* Pods-DemoApp-dummy.m */, - 477F32AA57F1DB286AAD55CFE500F74E /* Pods-DemoApp-frameworks.sh */, - 5F67CB4965D535FACD1E5DEE87670A24 /* Pods-DemoApp-Info.plist */, - 48F3BA756D75C594625A9DC3AE421AB7 /* Pods-DemoApp-umbrella.h */, - D69616AE96C7022FF777724AD3C5D7DC /* Pods-DemoApp.debug.xcconfig */, - B60D5D3DA72CD24A00C329C1C544FB26 /* Pods-DemoApp.release.xcconfig */, + 453D60E3DEC81F7D310D51B7B3E02106 /* GoogleAds-IMA-iOS-SDK-xcframeworks.sh */, + 14011141D4C4109F1B89F92E376C748B /* GoogleAds-IMA-iOS-SDK.debug.xcconfig */, + B1435EBA3EAB3D14706EDFFFEB385681 /* GoogleAds-IMA-iOS-SDK.release.xcconfig */, ); - name = "Pods-DemoApp"; - path = "Target Support Files/Pods-DemoApp"; + name = "Support Files"; + path = "../Target Support Files/GoogleAds-IMA-iOS-SDK"; sourceTree = ""; }; - 916F4AF91C101051AC834B8760772F62 /* Support Files */ = { + 967E1F4B05BFE5B2622322FDE44DB52E /* Support Files */ = { isa = PBXGroup; children = ( - 5D7B8E5412EFF77366F89364B52DB2B6 /* Mux-Stats-Core-xcframeworks.sh */, - A3B93D89E5A9DE2266676F3FAFB551F8 /* Mux-Stats-Core.debug.xcconfig */, - D74069D658CA2AD0B73FB0643FCF921A /* Mux-Stats-Core.release.xcconfig */, + 6990D8A4E5DD8F2E307F2EA95F9E45A8 /* Mux-Stats-Google-IMA-iOS.modulemap */, + 0E1F9830EB547E394C40DFE1EF2EAA20 /* Mux-Stats-Google-IMA-iOS-dummy.m */, + 7F757FEB3BCC41871385D13FD17EDCB8 /* Mux-Stats-Google-IMA-iOS-Info.plist */, + 1B39AE38D8788460E674130C6E0DFF16 /* Mux-Stats-Google-IMA-iOS-prefix.pch */, + 17E66D346116B57373E97D5BFF57CEF3 /* Mux-Stats-Google-IMA-iOS-umbrella.h */, + 8950EB67576C5D94F6403BA5C9B44C42 /* Mux-Stats-Google-IMA-iOS.debug.xcconfig */, + 5D72A98E18D2C7F0DC1761DB98085D33 /* Mux-Stats-Google-IMA-iOS.release.xcconfig */, + 5FC461276413CE61A3C500DE4E42D7ED /* Mux-Stats-Google-IMA-tvOS.modulemap */, + 1246DB31BDD4397D1D766DD829698AA2 /* Mux-Stats-Google-IMA-tvOS-dummy.m */, + 679646907CEEA9240E2B6CD6567DC4A8 /* Mux-Stats-Google-IMA-tvOS-Info.plist */, + CA86FF5F798CDDB247ABED68E900800D /* Mux-Stats-Google-IMA-tvOS-prefix.pch */, + 77C1DFA056BB682F622A5C5572267BE4 /* Mux-Stats-Google-IMA-tvOS-umbrella.h */, + AC059B58EC452A64D7CA3B45E3C08EC3 /* Mux-Stats-Google-IMA-tvOS.debug.xcconfig */, + B718DB7D15A83E4D4692AD315E813F32 /* Mux-Stats-Google-IMA-tvOS.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/Mux-Stats-Core"; + path = "Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS"; sourceTree = ""; }; - 974814B39C0012DECD183BBB91B32103 /* iOS */ = { + 991C227FEA25F2E941EED2508CCBCD57 /* Frameworks */ = { isa = PBXGroup; children = ( - CA8B94E9D3B433157168D1EECCEC11CD /* Foundation.framework */, - 5EBC8F300895E39EA0DF6D6B2B5E6BCD /* XCTest.framework */, + 03263714A8A08574714E94FEB9E2F3B0 /* GoogleInteractiveMediaAds.xcframework */, ); - name = iOS; + name = Frameworks; + sourceTree = ""; + }; + 9E6CB386F30FD072BA0B7A80C82CFB02 /* Pods-DemoApp */ = { + isa = PBXGroup; + children = ( + 09608A5CA345E5C5A3BC59CE2FD93776 /* Pods-DemoApp.modulemap */, + EDE4E43FC1E72D4BB72CC2F45FE64343 /* Pods-DemoApp-acknowledgements.markdown */, + AA0DD66EB94E2EE5577CF81877455B7E /* Pods-DemoApp-acknowledgements.plist */, + ABE284BC3BC4524E720A1F4F1315AB7D /* Pods-DemoApp-dummy.m */, + 2D0937D4C282A643248DC7C97E7BAF8C /* Pods-DemoApp-frameworks.sh */, + 95A3FD1F839AAFBF14CD21F30EE5FB1B /* Pods-DemoApp-Info.plist */, + 50A298D9B9D317C7F93BE7CB36ADB224 /* Pods-DemoApp-umbrella.h */, + B54B75E3E5CED47F26E89E3AF4397752 /* Pods-DemoApp.debug.xcconfig */, + 9AB5AB47CE4EE9FF507460C7A0A152F9 /* Pods-DemoApp.release.xcconfig */, + ); + name = "Pods-DemoApp"; + path = "Target Support Files/Pods-DemoApp"; sourceTree = ""; }; - A007AE7066E35E145EB0E850815A2688 /* Frameworks */ = { + A689D4F57117C20956C0E4E9C44F42DA /* Frameworks */ = { isa = PBXGroup; children = ( - 3A66F2D3962974DFBC613467E5302CD3 /* MUXSDKStats.xcframework */, + E0572D94C08F7D22DD4E7C4D47920D0B /* iOS */, + 50FDC210BD93CE279811A6DB438115DB /* tvOS */, ); name = Frameworks; sourceTree = ""; }; - AE758F49B247597F8D0D910D5E11270D /* Support Files */ = { + AC09ECA7A7E43F9ECF801015E09B7B38 /* Targets Support Files */ = { isa = PBXGroup; children = ( - 264919A9C651C6430E4D4CAFD80DDA01 /* GoogleAds-IMA-iOS-SDK-xcframeworks.sh */, - 0374AE7F6AB840983307CFDF023051E9 /* GoogleAds-IMA-iOS-SDK.debug.xcconfig */, - FA1305DA592CDD3B5A8B7C33E58D83EE /* GoogleAds-IMA-iOS-SDK.release.xcconfig */, + 9E6CB386F30FD072BA0B7A80C82CFB02 /* Pods-DemoApp */, + 71E3625193289A0CFFD3A6AE28396D23 /* Pods-MUXSDKImaListener_Tests */, + 483987A559477B60812A51B298A5E312 /* Pods-MUXSDKIMATVOSExample */, ); - name = "Support Files"; - path = "../Target Support Files/GoogleAds-IMA-iOS-SDK"; + name = "Targets Support Files"; sourceTree = ""; }; - BA5E02317E6EF7A4270F2F52E01FFCF7 /* Support Files */ = { + C20D013FBDE2615D997774D286EAFEBB /* Support Files */ = { isa = PBXGroup; children = ( - 9D290A196541346A3D6AD5BB01C1AB16 /* Specta.modulemap */, - 27DF5F97BC4F619974F2737C3C70446C /* Specta-dummy.m */, - 8D885A3BFBD81B20826D474FBE8F2AA9 /* Specta-Info.plist */, - 8D330AF9034DE48FB7C29BCB5AEF58EB /* Specta-prefix.pch */, - D5BABAE7C000D8470FB074C2E9ADC6BE /* Specta-umbrella.h */, - C4883D94AEA3C879C51563A178DE7CC7 /* Specta.debug.xcconfig */, - 0FECA2A14B2C3E92E691AF0EFD7A52C8 /* Specta.release.xcconfig */, + 3FD1AAD6240B9D5E816228BC3783EA0B /* Expecta.modulemap */, + 9C02947A170BC96A9686B6DA00A769CB /* Expecta-dummy.m */, + 3924B9841364E9EBD3DCD7C7463152EC /* Expecta-Info.plist */, + AAD5A6DFE58E735C22AE3FF714D4C444 /* Expecta-prefix.pch */, + A846258D587AB99597AB2CCB9225EC71 /* Expecta-umbrella.h */, + CEF0ADC4324124FF20966284CAAA4B06 /* Expecta.debug.xcconfig */, + 85CF95484809257011B653E37348B0BD /* Expecta.release.xcconfig */, ); name = "Support Files"; - path = "../Target Support Files/Specta"; + path = "../Target Support Files/Expecta"; + sourceTree = ""; + }; + CF1408CF629C7361332E53B88F7BD30C = { + isa = PBXGroup; + children = ( + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 8729D330ADDAF6F1704B875BEEC9222B /* Development Pods */, + A689D4F57117C20956C0E4E9C44F42DA /* Frameworks */, + 5A79D8190F526C394C6BE893138EE367 /* Pods */, + 29BBEBC43BB4DDC03F5B2947B944AB78 /* Products */, + AC09ECA7A7E43F9ECF801015E09B7B38 /* Targets Support Files */, + ); sourceTree = ""; }; - C0466F2359CAE34DDECBB1E0D54DFBFC /* Support Files */ = { + CFA3C4157A824B1FD7F90BD7FD787157 /* GoogleAds-IMA-iOS-SDK */ = { isa = PBXGroup; children = ( - E2D53E5313FD956402A9CA213FC10002 /* Mux-Stats-AVPlayer-xcframeworks.sh */, - 6F25D29A2B1AED540BE037ED2993D3C9 /* Mux-Stats-AVPlayer.debug.xcconfig */, - A02FA4454F0D5185583E1282D0280EF9 /* Mux-Stats-AVPlayer.release.xcconfig */, + 991C227FEA25F2E941EED2508CCBCD57 /* Frameworks */, + 9667298576F4E04000EE8E34D8DA8CF8 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Mux-Stats-AVPlayer"; + name = "GoogleAds-IMA-iOS-SDK"; + path = "GoogleAds-IMA-iOS-SDK"; sourceTree = ""; }; - C5005F91ED05C82B0B201B2A95DAD302 /* Mux-Stats-AVPlayer */ = { + D4E0DCB9F34F8AFFAD87D3890E66214E /* GoogleAds-IMA-tvOS-SDK */ = { isa = PBXGroup; children = ( - A007AE7066E35E145EB0E850815A2688 /* Frameworks */, - C0466F2359CAE34DDECBB1E0D54DFBFC /* Support Files */, + DB18913C2DCFBCD8F60DE33052CEBC33 /* Frameworks */, + 25863BB3D0BBA8E6976DAA6CB5FF088A /* Support Files */, ); - name = "Mux-Stats-AVPlayer"; - path = "Mux-Stats-AVPlayer"; + name = "GoogleAds-IMA-tvOS-SDK"; + path = "GoogleAds-IMA-tvOS-SDK"; sourceTree = ""; }; - CF1408CF629C7361332E53B88F7BD30C = { + DB18913C2DCFBCD8F60DE33052CEBC33 /* Frameworks */ = { isa = PBXGroup; children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 8729D330ADDAF6F1704B875BEEC9222B /* Development Pods */, - 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */, - 0243F67AC864E922C0FAE64CC2D60046 /* Pods */, - 7A81C6022E000D2D002EE58133258F88 /* Products */, - 06ABAF9D987095D283C854C26D252B69 /* Targets Support Files */, + 6A0D90565978C2A5EDEAA96C48BD7D3E /* GoogleInteractiveMediaAds.xcframework */, ); + name = Frameworks; sourceTree = ""; }; - E3C036CC6BA1650D48C5759A93EA179B /* Pods-MUXSDKImaListener_Tests */ = { + E0572D94C08F7D22DD4E7C4D47920D0B /* iOS */ = { isa = PBXGroup; children = ( - F2139BFF06F527E013356624E6077D92 /* Pods-MUXSDKImaListener_Tests.modulemap */, - CE54F9D034B824C6D74CB37ED11DC746 /* Pods-MUXSDKImaListener_Tests-acknowledgements.markdown */, - 22DE15F00D04402683C8169E22F6889F /* Pods-MUXSDKImaListener_Tests-acknowledgements.plist */, - 3A57F21B2BA32FBB73E7A985514BAE5F /* Pods-MUXSDKImaListener_Tests-dummy.m */, - 8D1E5A41F730E886C6D5E64CCF04A38F /* Pods-MUXSDKImaListener_Tests-frameworks.sh */, - 2F80B14AC9ECAE0F43FECA62D0C105AF /* Pods-MUXSDKImaListener_Tests-Info.plist */, - F4464FC4C6A3D23AEBDC165EA611A4CF /* Pods-MUXSDKImaListener_Tests-umbrella.h */, - EC4FDA986E8E16E31F119A7CD3863322 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */, - FA862F31A1169EF0A910AF94BC4C8EF6 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */, + 95A792B234E52E2E75BA6B83D5D54BF8 /* Foundation.framework */, + 99CA6EB1DCE94EC3514D27DFCC247D30 /* XCTest.framework */, ); - name = "Pods-MUXSDKImaListener_Tests"; - path = "Target Support Files/Pods-MUXSDKImaListener_Tests"; + name = iOS; + sourceTree = ""; + }; + E08F378E764300941EB97404C87A2D58 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 045EF5D7394EB7DDD7B7C51F4A0B29AE /* MUXSDKStats.xcframework */, + ); + name = Frameworks; + sourceTree = ""; + }; + E830048E945408C52BC7FD7F1C294DB7 /* Mux-Stats-AVPlayer */ = { + isa = PBXGroup; + children = ( + E08F378E764300941EB97404C87A2D58 /* Frameworks */, + 73D97C54462B3B3780ACF83043108193 /* Support Files */, + ); + name = "Mux-Stats-AVPlayer"; + path = "Mux-Stats-AVPlayer"; sourceTree = ""; }; - FBB6938CB146AAF866D3290037921B01 /* Pod */ = { + FCCCA8DF96410A450C67B6CC281637F0 /* Pod */ = { isa = PBXGroup; children = ( - 9C60C0E4BFBF628DFD5E010323806268 /* LICENSE */, - 54917DA9F84A0AE606D8EA2028EB6DCE /* Mux-Stats-Google-IMA.podspec */, - A3643ECABA5656D13C38DB0A027D790D /* README.md */, + CA9B92084A1FEF240AFDFE9ADFF7775D /* LICENSE */, + B44514386270B6030C7D3D67095F50B3 /* Mux-Stats-Google-IMA.podspec */, + E928184078A61F185A3BA16C97B2A9A5 /* README.md */, ); name = Pod; sourceTree = ""; @@ -854,20 +1060,36 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 44EC343463F54547B9857744DB1C29E2 /* Headers */ = { + 12ED77CE4C337E6083BE4DDC4F4CA89E /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 625DE4A50D59ADCD62E5F01BB17BCFDA /* Pods-MUXSDKIMATVOSExample-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 30003531D401F0CFE03AB96558874EA7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + A92A27610E1901C669A61CD92299F70A /* Mux-Stats-Google-IMA-iOS-umbrella.h in Headers */, + 7BA06869AFBAAA743124F39BFD430AC8 /* MuxImaListener.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4B2D9FA2C109A9ED0254135CA3314D2B /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5D981E53C71C3121D8A2410607C1C87C /* Pods-MUXSDKImaListener_Tests-umbrella.h in Headers */, + 7A3E26022E1C16637A793319B2683756 /* Pods-MUXSDKImaListener_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 815064CE46FEBE48C3C9EDB237AA32CA /* Headers */ = { + 511435556E7CD2176DFADADA56A0F80C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 6B390636673643E07C77B223C4F86A24 /* Mux-Stats-Google-IMA-umbrella.h in Headers */, - 9DDD1DF9A3526FF7D937B25ACC4BBE87 /* MuxImaListener.h in Headers */, + 3D2BF2A0EE6EEE7C2D8083FDB483F06D /* Pods-DemoApp-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -941,11 +1163,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F76892B7EA6EBB8A1CCA5E2EB1C99721 /* Headers */ = { + DFF6CFD18FE76794FF666796EB9FD51E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 4ED74B9D1E5C99E2A0EC68FD1B069C22 /* Pods-DemoApp-umbrella.h in Headers */, + 7CD7971156177F0EB9519B0418C69B45 /* Mux-Stats-Google-IMA-tvOS-umbrella.h in Headers */, + DC5CF1591B5EA79B4630A6F225638F51 /* MuxImaListener.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -954,22 +1177,22 @@ /* Begin PBXNativeTarget section */ 0E5225D4F04F6DF865D35D18077D3CCF /* Pods-MUXSDKImaListener_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = B6CDE4A8E62AB29EC205B27CD01F899B /* Build configuration list for PBXNativeTarget "Pods-MUXSDKImaListener_Tests" */; + buildConfigurationList = 43E915F5F4E72F70DDFF92B9E3A89BF2 /* Build configuration list for PBXNativeTarget "Pods-MUXSDKImaListener_Tests" */; buildPhases = ( - 44EC343463F54547B9857744DB1C29E2 /* Headers */, - ED4C4160C937BF5472606C8DCB3A62D9 /* Sources */, - 34C610636ADAF4C48CA849B3D3CC1BB6 /* Frameworks */, - 03A15A01DED60F83305F6354B84977F5 /* Resources */, + 4B2D9FA2C109A9ED0254135CA3314D2B /* Headers */, + C8CE0982947C2EE347757D1F5B1F9294 /* Sources */, + 519C3738A39E2643765C62ECA79768AB /* Frameworks */, + 4C0EC1BD4663014EA1EE47C4ABAEF8B0 /* Resources */, ); buildRules = ( ); dependencies = ( - 61255A5D21C66DBFC95C1A3E3BDFF527 /* PBXTargetDependency */, - ECDAED9187151B126B379F688BAD7BD1 /* PBXTargetDependency */, - D551678E353E5587ACB7FA7EFC65ACF0 /* PBXTargetDependency */, - 90A1FF62CEDC26B968B5F35EA41C6A4B /* PBXTargetDependency */, - 15033C55466920FBEF36D3A677C36EE7 /* PBXTargetDependency */, - E7C655F8E38ED206B97F53DA55192B0B /* PBXTargetDependency */, + 0A8DDC7D73A2BB578C9AE4F713F1D321 /* PBXTargetDependency */, + EEBAAC13362DEA5682C81EA21B771D93 /* PBXTargetDependency */, + AC3705AFD3F462B15CC7FBD5D43ABDBD /* PBXTargetDependency */, + 35F4EC624B21F633D7F6C15D153374B2 /* PBXTargetDependency */, + B753F9B07DEC0464DCB8DEAB813A735C /* PBXTargetDependency */, + F97C042948BAC66B1C5F720AC7D8DD20 /* PBXTargetDependency */, ); name = "Pods-MUXSDKImaListener_Tests"; productName = Pods_MUXSDKImaListener_Tests; @@ -978,44 +1201,64 @@ }; 1BC258032FFF5C240A561B274C5D07F4 /* Pods-DemoApp */ = { isa = PBXNativeTarget; - buildConfigurationList = 22F28E95F43A0DFE0D55C6493689B03D /* Build configuration list for PBXNativeTarget "Pods-DemoApp" */; + buildConfigurationList = ACEA78EA14646B6072CCD8BD0FF6AA0D /* Build configuration list for PBXNativeTarget "Pods-DemoApp" */; buildPhases = ( - F76892B7EA6EBB8A1CCA5E2EB1C99721 /* Headers */, - D286DAEB0E792F5BBBEDC843642FBF84 /* Sources */, - 4098AE657B7FA72F383CBA76676FAC1C /* Frameworks */, - 63B239F0CA491D96EDD31842DC55DCA9 /* Resources */, + 511435556E7CD2176DFADADA56A0F80C /* Headers */, + EA42C7D0F9CDB5ABDFDA8B5521B5DD97 /* Sources */, + E5B1F69EA24B644256F589A5D431F0B1 /* Frameworks */, + FD5A89FB3447BE3E83690ABC00DF21AF /* Resources */, ); buildRules = ( ); dependencies = ( - 2AC94AD7DC1DC60F0137C8C9016BD77C /* PBXTargetDependency */, - 759C5E3E0C20D0443DD54580FB93D323 /* PBXTargetDependency */, - 0FFA8F98359A5F1D859B1F8F267466B2 /* PBXTargetDependency */, - 0AEADF0DD9BAC98C5C82BC501390A0C9 /* PBXTargetDependency */, + 81BA8D92379647108614EB7C77518B85 /* PBXTargetDependency */, + FC9EF3EB05C9FF04801A0DD8AB74FFC2 /* PBXTargetDependency */, + 2A46BEC1509F697D609903A43456AD62 /* PBXTargetDependency */, + 7F706F9E79BE6E1242A81D2FE5772D90 /* PBXTargetDependency */, ); name = "Pods-DemoApp"; productName = Pods_DemoApp; productReference = 4FE3A8914DCE32ADB404396D24D8F340 /* Pods-DemoApp */; productType = "com.apple.product-type.framework"; }; - 3B1CCC34C9408E694F9538659E347B13 /* Mux-Stats-Google-IMA */ = { + 1D327FB11B4EBDF9A35C51AEC7740EA3 /* Mux-Stats-Google-IMA-tvOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 70C02BC6FBB5D5571F4C77EE11708B8F /* Build configuration list for PBXNativeTarget "Mux-Stats-Google-IMA" */; + buildConfigurationList = 4F1BA1A27705F415A582E71351A55163 /* Build configuration list for PBXNativeTarget "Mux-Stats-Google-IMA-tvOS" */; buildPhases = ( - 815064CE46FEBE48C3C9EDB237AA32CA /* Headers */, - FC616ADAFABE55E25970F17F649ED3D4 /* Sources */, - 19FD58EF979FA20D84CEC09E520EC54C /* Frameworks */, - 3B4C0C32B563E60ADB40136989307755 /* Resources */, + DFF6CFD18FE76794FF666796EB9FD51E /* Headers */, + BC276F658CD790DCD23B7E9A420CAF6E /* Sources */, + 1ECC53014911673AD0A9F7398E306422 /* Frameworks */, + F60C90228EB7BFFB763201C213CD1880 /* Resources */, ); buildRules = ( ); dependencies = ( - 06552D1EFC5D4436B8BFC7F620D7FBCD /* PBXTargetDependency */, - C8F106D8909D382EE8B9C5089399AB28 /* PBXTargetDependency */, + B5D3503AFA146E500439CDCAEBA20F46 /* PBXTargetDependency */, + F0DF951E64CAA1E96FFD8CA877632080 /* PBXTargetDependency */, ); - name = "Mux-Stats-Google-IMA"; + name = "Mux-Stats-Google-IMA-tvOS"; + productName = Mux_Stats_Google_IMA; + productReference = 0DCE75351C990D28F24437B2BCD5CF33 /* Mux-Stats-Google-IMA-tvOS */; + productType = "com.apple.product-type.framework"; + }; + 8316A029179DAA758D7AC9122D97E40D /* Mux-Stats-Google-IMA-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9722A1D00F03E19DD030DD82C7343958 /* Build configuration list for PBXNativeTarget "Mux-Stats-Google-IMA-iOS" */; + buildPhases = ( + 30003531D401F0CFE03AB96558874EA7 /* Headers */, + 49FCBD0F903C976E22A3B5CF2AFBA79B /* Sources */, + 0D2A288F2E6FA5DFA161B1E57D63C1B0 /* Frameworks */, + CB9FBFCD12A2AB734F546B8ACE828E10 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + B3F45B9164190BFB0F1D4370224204DD /* PBXTargetDependency */, + 1B96DABAB2920DCCEF8903D8CEC53332 /* PBXTargetDependency */, + ); + name = "Mux-Stats-Google-IMA-iOS"; productName = Mux_Stats_Google_IMA; - productReference = 5552349ACD4BEE698B04B5C3F21E46F7 /* Mux-Stats-Google-IMA */; + productReference = E2F785F187C0CC071BEB59B5DDF03039 /* Mux-Stats-Google-IMA-iOS */; productType = "com.apple.product-type.framework"; }; DC371B7477C88184274EC6710690F97C /* Expecta */ = { @@ -1036,6 +1279,28 @@ productReference = 08F7F0770B4878B9883B87DCD8569CB4 /* Expecta */; productType = "com.apple.product-type.framework"; }; + F30EBC911A70272DC75ADDB63FDB2F0E /* Pods-MUXSDKIMATVOSExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8CC1C063550B656D9F1EDC621F7BE1CC /* Build configuration list for PBXNativeTarget "Pods-MUXSDKIMATVOSExample" */; + buildPhases = ( + 12ED77CE4C337E6083BE4DDC4F4CA89E /* Headers */, + 2DFCFE5EC29C6BC1BE2DA3E6367664E8 /* Sources */, + CBDADF1A3A0698277D8A8266C43B6F89 /* Frameworks */, + 72F5E27F04BB49C6AF26F15D070CDDDF /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 32EBA45FACC6EE5D4BB3644076FAC572 /* PBXTargetDependency */, + CCD36FC94A9C7B0B8801BEB75D685845 /* PBXTargetDependency */, + C795DE6313D462F24318B6944940658E /* PBXTargetDependency */, + F9A093BACB51EFD5997B9E00442BF469 /* PBXTargetDependency */, + ); + name = "Pods-MUXSDKIMATVOSExample"; + productName = Pods_MUXSDKIMATVOSExample; + productReference = F042DB47B07383343CC8930ADA2041D3 /* Pods-MUXSDKIMATVOSExample */; + productType = "com.apple.product-type.framework"; + }; F8676010755CF1530FC02DA9A0D8822B /* Specta */ = { isa = PBXNativeTarget; buildConfigurationList = 50ECDDFCD32337D50B7A610DBF9A7E07 /* Build configuration list for PBXNativeTarget "Specta" */; @@ -1072,38 +1337,43 @@ en, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 7A81C6022E000D2D002EE58133258F88 /* Products */; + productRefGroup = 29BBEBC43BB4DDC03F5B2947B944AB78 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( DC371B7477C88184274EC6710690F97C /* Expecta */, 7362DAB47E2EFA5452F30DD7E9830B56 /* GoogleAds-IMA-iOS-SDK */, - 8A628F9FECD1E366F0AF90449C4E8B0A /* Mux-Stats-AVPlayer */, - 78D7420028AA6BE7CBA9A3DC7529E196 /* Mux-Stats-Core */, - 3B1CCC34C9408E694F9538659E347B13 /* Mux-Stats-Google-IMA */, + 8D8DD638EFFF8DBE3599EC57E5CC1036 /* GoogleAds-IMA-tvOS-SDK */, + B951A0EF1A62B67EE3F65F09E82CB428 /* Mux-Stats-AVPlayer-iOS */, + A3EFCEDB20CBDC85A157B113EB9C8CBA /* Mux-Stats-AVPlayer-tvOS */, + C1F1F8F5FE7D716516721F66BC75FDD2 /* Mux-Stats-Core-iOS */, + 5526128214308C0807F9C2136AB687B2 /* Mux-Stats-Core-tvOS */, + 8316A029179DAA758D7AC9122D97E40D /* Mux-Stats-Google-IMA-iOS */, + 1D327FB11B4EBDF9A35C51AEC7740EA3 /* Mux-Stats-Google-IMA-tvOS */, 1BC258032FFF5C240A561B274C5D07F4 /* Pods-DemoApp */, 0E5225D4F04F6DF865D35D18077D3CCF /* Pods-MUXSDKImaListener_Tests */, + F30EBC911A70272DC75ADDB63FDB2F0E /* Pods-MUXSDKIMATVOSExample */, F8676010755CF1530FC02DA9A0D8822B /* Specta */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 03A15A01DED60F83305F6354B84977F5 /* Resources */ = { + 4C0EC1BD4663014EA1EE47C4ABAEF8B0 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 3B4C0C32B563E60ADB40136989307755 /* Resources */ = { + 72F5E27F04BB49C6AF26F15D070CDDDF /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 63B239F0CA491D96EDD31842DC55DCA9 /* Resources */ = { + CB9FBFCD12A2AB734F546B8ACE828E10 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -1124,16 +1394,48 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F60C90228EB7BFFB763201C213CD1880 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FD5A89FB3447BE3E83690ABC00DF21AF /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 063E3046CDD5F22781D24997D5F76D59 /* [CP] Copy XCFrameworks */ = { + 03DB42246C53321148EA6481407C3BE5 /* [CP] Copy XCFrameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK-xcframeworks.sh", + "${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework", + ); + name = "[CP] Copy XCFrameworks"; + outputPaths = ( + "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK-xcframeworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 912B60C76E6C7B380EB699F6EBBA9F4E /* [CP] Copy XCFrameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Mux-Stats-Core/Mux-Stats-Core-xcframeworks.sh", + "${PODS_ROOT}/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS-xcframeworks.sh", "${PODS_ROOT}/Mux-Stats-Core/XCFramework/MuxCore.xcframework", ); name = "[CP] Copy XCFrameworks"; @@ -1142,16 +1444,16 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Mux-Stats-Core/Mux-Stats-Core-xcframeworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; - 950B6366C51215C71B7D820EAF5C14D1 /* [CP] Copy XCFrameworks */ = { + A0A8B3390D83497FAA58E9C9A08C60C9 /* [CP] Copy XCFrameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer-xcframeworks.sh", + "${PODS_ROOT}/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS-xcframeworks.sh", "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework", ); name = "[CP] Copy XCFrameworks"; @@ -1160,7 +1462,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer-xcframeworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; AB37133E634E9E9E1420FFB5022FD0D3 /* [CP] Copy XCFrameworks */ = { @@ -1181,32 +1483,96 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/GoogleAds-IMA-iOS-SDK/GoogleAds-IMA-iOS-SDK-xcframeworks.sh\"\n"; showEnvVarsInLog = 0; }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 085CE333BD856F3F487BDE627DBA0B6E /* Sources */ = { - isa = PBXSourcesBuildPhase; + D645DDBF0731FE60273D9C8543E2B83F /* [CP] Copy XCFrameworks */ = { + isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( - 80270ECBDEB82924094F7A784F9AE40D /* Specta-dummy.m in Sources */, - 913C954DE11D6E3863890AD4A358708F /* SpectaDSL.m in Sources */, - 3E4AFE4C3A2A3B83932950B54E5A5A60 /* SpectaUtility.m in Sources */, - CF8F1B11C396314D87B67AC569C72A79 /* SPTCallSite.m in Sources */, - 98374FA5B001B43B4B8C03E8A7C81318 /* SPTCompiledExample.m in Sources */, - 95F6327743E88CC9CBADDBAD0193A755 /* SPTExample.m in Sources */, - C78FC716D37022DD33569218F40F326A /* SPTExampleGroup.m in Sources */, - 112BE6CA3027300707F51D7510A491BD /* SPTSharedExampleGroups.m in Sources */, - 51DDBE3E0576E7A64636777830C4BCF6 /* SPTSpec.m in Sources */, - 58CB55B0F20BE7BDA67BEDEBB9DDBA65 /* SPTTestSuite.m in Sources */, - C316A08D7F121193B704DFAD9913D05D /* XCTestCase+Specta.m in Sources */, + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS-xcframeworks.sh", + "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework", + ); + name = "[CP] Copy XCFrameworks"; + outputPaths = ( + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer/MUXSDKStats.framework", ); runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS-xcframeworks.sh\"\n"; + showEnvVarsInLog = 0; }; - D286DAEB0E792F5BBBEDC843642FBF84 /* Sources */ = { + FA7605ADFC179EC5F0DD72EBF335126E /* [CP] Copy XCFrameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS-xcframeworks.sh", + "${PODS_ROOT}/Mux-Stats-Core/XCFramework/MuxCore.xcframework", + ); + name = "[CP] Copy XCFrameworks"; + outputPaths = ( + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS-xcframeworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 085CE333BD856F3F487BDE627DBA0B6E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 80270ECBDEB82924094F7A784F9AE40D /* Specta-dummy.m in Sources */, + 913C954DE11D6E3863890AD4A358708F /* SpectaDSL.m in Sources */, + 3E4AFE4C3A2A3B83932950B54E5A5A60 /* SpectaUtility.m in Sources */, + CF8F1B11C396314D87B67AC569C72A79 /* SPTCallSite.m in Sources */, + 98374FA5B001B43B4B8C03E8A7C81318 /* SPTCompiledExample.m in Sources */, + 95F6327743E88CC9CBADDBAD0193A755 /* SPTExample.m in Sources */, + C78FC716D37022DD33569218F40F326A /* SPTExampleGroup.m in Sources */, + 112BE6CA3027300707F51D7510A491BD /* SPTSharedExampleGroups.m in Sources */, + 51DDBE3E0576E7A64636777830C4BCF6 /* SPTSpec.m in Sources */, + 58CB55B0F20BE7BDA67BEDEBB9DDBA65 /* SPTTestSuite.m in Sources */, + C316A08D7F121193B704DFAD9913D05D /* XCTestCase+Specta.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2DFCFE5EC29C6BC1BE2DA3E6367664E8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8FD2AF08E345DD650AA5ECF708E869D8 /* Pods-MUXSDKIMATVOSExample-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 49FCBD0F903C976E22A3B5CF2AFBA79B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 65604041D19D3344B9439B57E5F75998 /* Pods-DemoApp-dummy.m in Sources */, + 88DFA9C7DB626BCD6289C44F8D39F988 /* module.modulemap in Sources */, + 56FA054B9BABCA675A23A6A1547540D5 /* Mux-Stats-Google-IMA-iOS-dummy.m in Sources */, + DD7708E67C07CBF08E657D598B1AB95B /* MuxImaListener.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BC276F658CD790DCD23B7E9A420CAF6E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4FAFC2BC1915820392B1058213AABC55 /* module.modulemap in Sources */, + BB8DB40D0D0B009F3E187B35A6C6D92F /* Mux-Stats-Google-IMA-tvOS-dummy.m in Sources */, + 03BE8DEE459BDA2A1590AFE3F5AA623B /* MuxImaListener.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8CE0982947C2EE347757D1F5B1F9294 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D35CD0ABA40BB9225DD9C1983103021E /* Pods-MUXSDKImaListener_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1252,115 +1618,207 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - ED4C4160C937BF5472606C8DCB3A62D9 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A3874A608A7146A2FB47B7A58717FC09 /* Pods-MUXSDKImaListener_Tests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - FC616ADAFABE55E25970F17F649ED3D4 /* Sources */ = { + EA42C7D0F9CDB5ABDFDA8B5521B5DD97 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B2366DB89C41E09F8A708E1167BEB1B4 /* module.modulemap in Sources */, - 683B71093933C3BE298F215EFCE11D64 /* Mux-Stats-Google-IMA-dummy.m in Sources */, - 0F06E19DFC928E9A8F10AE832157F26C /* MuxImaListener.m in Sources */, + 53ECDFA3BA07A0579CBEE10DDDC2DA19 /* Pods-DemoApp-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 06552D1EFC5D4436B8BFC7F620D7FBCD /* PBXTargetDependency */ = { + 0A8DDC7D73A2BB578C9AE4F713F1D321 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "GoogleAds-IMA-iOS-SDK"; - target = 7362DAB47E2EFA5452F30DD7E9830B56 /* GoogleAds-IMA-iOS-SDK */; - targetProxy = 2B11D3F082E7E7A369FCA105BFC6314F /* PBXContainerItemProxy */; + name = Expecta; + target = DC371B7477C88184274EC6710690F97C /* Expecta */; + targetProxy = EC3DFA54421550752A0FAD6AF9EC271F /* PBXContainerItemProxy */; }; - 0AEADF0DD9BAC98C5C82BC501390A0C9 /* PBXTargetDependency */ = { + 1B96DABAB2920DCCEF8903D8CEC53332 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Mux-Stats-Google-IMA"; - target = 3B1CCC34C9408E694F9538659E347B13 /* Mux-Stats-Google-IMA */; - targetProxy = 8DB638271921C008D815C2AD05635D5A /* PBXContainerItemProxy */; + name = "Mux-Stats-AVPlayer-iOS"; + target = B951A0EF1A62B67EE3F65F09E82CB428 /* Mux-Stats-AVPlayer-iOS */; + targetProxy = 6C41EAC3776112D6FA1A3E05D17B73B8 /* PBXContainerItemProxy */; }; - 0FFA8F98359A5F1D859B1F8F267466B2 /* PBXTargetDependency */ = { + 2A46BEC1509F697D609903A43456AD62 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Mux-Stats-Core"; - target = 78D7420028AA6BE7CBA9A3DC7529E196 /* Mux-Stats-Core */; - targetProxy = 98972DF1CC41E9748694E5BA38B5D16D /* PBXContainerItemProxy */; + name = "Mux-Stats-Core-iOS"; + target = C1F1F8F5FE7D716516721F66BC75FDD2 /* Mux-Stats-Core-iOS */; + targetProxy = 14C6E09EC655353A415D600193E6F7EA /* PBXContainerItemProxy */; }; - 15033C55466920FBEF36D3A677C36EE7 /* PBXTargetDependency */ = { + 32EBA45FACC6EE5D4BB3644076FAC572 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Mux-Stats-Google-IMA"; - target = 3B1CCC34C9408E694F9538659E347B13 /* Mux-Stats-Google-IMA */; - targetProxy = 5170416E0747575A84411019210909AA /* PBXContainerItemProxy */; + name = "GoogleAds-IMA-tvOS-SDK"; + target = 8D8DD638EFFF8DBE3599EC57E5CC1036 /* GoogleAds-IMA-tvOS-SDK */; + targetProxy = 3D4DBD2922C1726F9E14502F7CDF913B /* PBXContainerItemProxy */; + }; + 35F4EC624B21F633D7F6C15D153374B2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Mux-Stats-Core-iOS"; + target = C1F1F8F5FE7D716516721F66BC75FDD2 /* Mux-Stats-Core-iOS */; + targetProxy = FB7B41796750EB62BE309C02699EB917 /* PBXContainerItemProxy */; }; - 2AC94AD7DC1DC60F0137C8C9016BD77C /* PBXTargetDependency */ = { + 7F706F9E79BE6E1242A81D2FE5772D90 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Mux-Stats-Google-IMA-iOS"; + target = 8316A029179DAA758D7AC9122D97E40D /* Mux-Stats-Google-IMA-iOS */; + targetProxy = B2ABDE22BBCAABD5D9099EB304ED6452 /* PBXContainerItemProxy */; + }; + 81BA8D92379647108614EB7C77518B85 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "GoogleAds-IMA-iOS-SDK"; target = 7362DAB47E2EFA5452F30DD7E9830B56 /* GoogleAds-IMA-iOS-SDK */; - targetProxy = 0D88A0613245FCD076893404D58692C1 /* PBXContainerItemProxy */; + targetProxy = DBE86E103FC3AD4B040B3C79405AAF6C /* PBXContainerItemProxy */; }; - 61255A5D21C66DBFC95C1A3E3BDFF527 /* PBXTargetDependency */ = { + 954ECEE6858C48671C2BF4EADA843EB9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Expecta; - target = DC371B7477C88184274EC6710690F97C /* Expecta */; - targetProxy = 60E272B48D4B9B1306B9D143A3A82AEF /* PBXContainerItemProxy */; + name = "Mux-Stats-Core-iOS"; + target = C1F1F8F5FE7D716516721F66BC75FDD2 /* Mux-Stats-Core-iOS */; + targetProxy = 43B70E4FF6A010FA42E08A85F21400C8 /* PBXContainerItemProxy */; }; - 759C5E3E0C20D0443DD54580FB93D323 /* PBXTargetDependency */ = { + AC3705AFD3F462B15CC7FBD5D43ABDBD /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Mux-Stats-AVPlayer"; - target = 8A628F9FECD1E366F0AF90449C4E8B0A /* Mux-Stats-AVPlayer */; - targetProxy = 3AF62C673A8F7AA2E759A08C398D881C /* PBXContainerItemProxy */; + name = "Mux-Stats-AVPlayer-iOS"; + target = B951A0EF1A62B67EE3F65F09E82CB428 /* Mux-Stats-AVPlayer-iOS */; + targetProxy = 25FB7AFE4620D58CC38A456EE6B28363 /* PBXContainerItemProxy */; }; - 90A1FF62CEDC26B968B5F35EA41C6A4B /* PBXTargetDependency */ = { + B3F45B9164190BFB0F1D4370224204DD /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Mux-Stats-Core"; - target = 78D7420028AA6BE7CBA9A3DC7529E196 /* Mux-Stats-Core */; - targetProxy = 73B310AD84645036FF937C81EF4C9A51 /* PBXContainerItemProxy */; + name = "GoogleAds-IMA-iOS-SDK"; + target = 7362DAB47E2EFA5452F30DD7E9830B56 /* GoogleAds-IMA-iOS-SDK */; + targetProxy = FB592F4129FA896A9D2A44033B5E3263 /* PBXContainerItemProxy */; }; - C8F106D8909D382EE8B9C5089399AB28 /* PBXTargetDependency */ = { + B5D3503AFA146E500439CDCAEBA20F46 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Mux-Stats-AVPlayer"; - target = 8A628F9FECD1E366F0AF90449C4E8B0A /* Mux-Stats-AVPlayer */; - targetProxy = F05D4324E64B5BA6F6205C39C2284F6A /* PBXContainerItemProxy */; + name = "GoogleAds-IMA-tvOS-SDK"; + target = 8D8DD638EFFF8DBE3599EC57E5CC1036 /* GoogleAds-IMA-tvOS-SDK */; + targetProxy = A191A4D640FD9619046AA42C6C046C25 /* PBXContainerItemProxy */; }; - D551678E353E5587ACB7FA7EFC65ACF0 /* PBXTargetDependency */ = { + B753F9B07DEC0464DCB8DEAB813A735C /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Mux-Stats-AVPlayer"; - target = 8A628F9FECD1E366F0AF90449C4E8B0A /* Mux-Stats-AVPlayer */; - targetProxy = 4D96F536BE942C3FD760F48E26669D18 /* PBXContainerItemProxy */; + name = "Mux-Stats-Google-IMA-iOS"; + target = 8316A029179DAA758D7AC9122D97E40D /* Mux-Stats-Google-IMA-iOS */; + targetProxy = AB6DD035C5DC8B86D4588AA229EBE8AF /* PBXContainerItemProxy */; }; - E508AE8B1CFFE89F604FC11C2BE6066F /* PBXTargetDependency */ = { + C795DE6313D462F24318B6944940658E /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "Mux-Stats-Core"; - target = 78D7420028AA6BE7CBA9A3DC7529E196 /* Mux-Stats-Core */; - targetProxy = A1AF7C639492A7B9D945B7DB2EAB7C97 /* PBXContainerItemProxy */; + name = "Mux-Stats-Core-tvOS"; + target = 5526128214308C0807F9C2136AB687B2 /* Mux-Stats-Core-tvOS */; + targetProxy = BE550D63C6401FF703A9CDF4893E0292 /* PBXContainerItemProxy */; }; - E7C655F8E38ED206B97F53DA55192B0B /* PBXTargetDependency */ = { + CCD36FC94A9C7B0B8801BEB75D685845 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = Specta; - target = F8676010755CF1530FC02DA9A0D8822B /* Specta */; - targetProxy = 6DA3D85BE4A561F7E2DE303DCC8BF87D /* PBXContainerItemProxy */; + name = "Mux-Stats-AVPlayer-tvOS"; + target = A3EFCEDB20CBDC85A157B113EB9C8CBA /* Mux-Stats-AVPlayer-tvOS */; + targetProxy = EE887431682156DD4C8C28C61E0FF244 /* PBXContainerItemProxy */; }; - ECDAED9187151B126B379F688BAD7BD1 /* PBXTargetDependency */ = { + EEBAAC13362DEA5682C81EA21B771D93 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "GoogleAds-IMA-iOS-SDK"; target = 7362DAB47E2EFA5452F30DD7E9830B56 /* GoogleAds-IMA-iOS-SDK */; - targetProxy = 4906A0EC70BDC427FD60F6925EEC80CE /* PBXContainerItemProxy */; + targetProxy = 7E0EBDE768C26C14A8DECCF29AB68812 /* PBXContainerItemProxy */; + }; + F0DF951E64CAA1E96FFD8CA877632080 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Mux-Stats-AVPlayer-tvOS"; + target = A3EFCEDB20CBDC85A157B113EB9C8CBA /* Mux-Stats-AVPlayer-tvOS */; + targetProxy = 2D213B6D19B81FB63DE1D2F951D14BDE /* PBXContainerItemProxy */; + }; + F765DCEE94BE6DC31712CABE001A030D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Mux-Stats-Core-tvOS"; + target = 5526128214308C0807F9C2136AB687B2 /* Mux-Stats-Core-tvOS */; + targetProxy = 1178D8546297D953DB658CF34E6FD68C /* PBXContainerItemProxy */; + }; + F97C042948BAC66B1C5F720AC7D8DD20 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Specta; + target = F8676010755CF1530FC02DA9A0D8822B /* Specta */; + targetProxy = 98E8111EAD23C4E5A91F37DABDD9D69E /* PBXContainerItemProxy */; + }; + F9A093BACB51EFD5997B9E00442BF469 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Mux-Stats-Google-IMA-tvOS"; + target = 1D327FB11B4EBDF9A35C51AEC7740EA3 /* Mux-Stats-Google-IMA-tvOS */; + targetProxy = 2D0EB18E1FB8B9E97E6883D61136151D /* PBXContainerItemProxy */; + }; + FC9EF3EB05C9FF04801A0DD8AB74FFC2 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Mux-Stats-AVPlayer-iOS"; + target = B951A0EF1A62B67EE3F65F09E82CB428 /* Mux-Stats-AVPlayer-iOS */; + targetProxy = 0EEF72F19C1D1931189B0D6F4244AF06 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 25E5EB9DBFC54B467FC8367C35CB150E /* Debug */ = { + 149CB13DDC150125969B3C2F765764A2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D69616AE96C7022FF777724AD3C5D7DC /* Pods-DemoApp.debug.xcconfig */; + baseConfigurationReference = E434E4495944CD9A6CCBEEC8D940AA5A /* Pods-MUXSDKIMATVOSExample.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 1D75EC75F050DCF1AC7C607EA54F4FCF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 38F1DCF17DDFA61EDA94B1D3381AFD6D /* Mux-Stats-Core-iOS.release.xcconfig */; + buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 240A7CB6267CC9E0437EE9D0C31C129C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 37DE0B892F3876C38DA0C4C4BCA3FCEF /* Mux-Stats-Core-tvOS.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.0; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 26DE3547E53FAF792A8185495BF75657 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 30CE91049E26C5548B20A4E671922015 /* Specta.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -1369,12 +1827,103 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-DemoApp/Pods-DemoApp-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Specta/Specta-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Specta/Specta.modulemap"; + PRODUCT_MODULE_NAME = Specta; + PRODUCT_NAME = Specta; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 31CA0996615965FA5F7A973F42802E66 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7C14D84C0ADD3103ED71DF86ECC041F0 /* Mux-Stats-AVPlayer-tvOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.0; + }; + name = Debug; + }; + 3D3C129CBF50392546579CE3F3EF133A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CEF0ADC4324124FF20966284CAAA4B06 /* Expecta.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Expecta/Expecta-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Expecta/Expecta.modulemap"; + PRODUCT_MODULE_NAME = Expecta; + PRODUCT_NAME = Expecta; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 3FB2469C0EDE4A32E7DFF50911A21CCA /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AF1950A1AB95B15D7E12EE28026A906 /* GoogleAds-IMA-tvOS-SDK.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.0; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 430CA9B639BF6F992BCFD80781476E45 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4BF028658E3EFDD037FE5F571FFB485E /* Pods-MUXSDKImaListener_Tests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-DemoApp/Pods-DemoApp.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1383,16 +1932,156 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 4FEEB0446AADF3AF63362A7F3DA30BA3 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AC059B58EC452A64D7CA3B45E3C08EC3 /* Mux-Stats-Google-IMA-tvOS.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.modulemap"; + PRODUCT_MODULE_NAME = Mux_Stats_Google_IMA; + PRODUCT_NAME = Mux_Stats_Google_IMA; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 26DE3547E53FAF792A8185495BF75657 /* Debug */ = { + 6C5560E792A604907B084A941DA54DAD /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8950EB67576C5D94F6403BA5C9B44C42 /* Mux-Stats-Google-IMA-iOS.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.modulemap"; + PRODUCT_MODULE_NAME = Mux_Stats_Google_IMA; + PRODUCT_NAME = Mux_Stats_Google_IMA; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 7716022D6536302F44DC8149A4E62BCB /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 19D294664834AB27C11F328232EAC6AE /* Mux-Stats-AVPlayer-iOS.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_OBJC_WEAK = NO; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 7D1401E1E54D75789A01D7673E17CFA8 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 85CF95484809257011B653E37348B0BD /* Expecta.release.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Expecta/Expecta-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Expecta/Expecta.modulemap"; + PRODUCT_MODULE_NAME = Expecta; + PRODUCT_NAME = Expecta; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 7E818B409871CBBDF9C02777EA8431B7 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4FF0C353F470008AC0AE5C3E99DB25C8 /* Mux-Stats-Core-tvOS.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.0; + }; + name = Debug; + }; + 82B739F7B753E031D5446ED8C9262B69 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 14011141D4C4109F1B89F92E376C748B /* GoogleAds-IMA-iOS-SDK.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ENABLE_OBJC_WEAK = NO; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 85BDA8E8D93F77F7FEAAD461AEE11AB7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C4883D94AEA3C879C51563A178DE7CC7 /* Specta.debug.xcconfig */; + baseConfigurationReference = 9AB5AB47CE4EE9FF507460C7A0A152F9 /* Pods-DemoApp.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -1401,25 +2090,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Specta/Specta-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-DemoApp/Pods-DemoApp-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Specta/Specta.modulemap"; - PRODUCT_MODULE_NAME = Specta; - PRODUCT_NAME = Specta; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-DemoApp/Pods-DemoApp.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 2B9E26EAE2CD392AD762421F663075A1 /* Debug */ = { + 8E661E89743757171523F9CBF2FA6CB7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1482,30 +2173,14 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; + TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Debug; }; - 3039D03C463AA400425BB823C67FEDB9 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A3B93D89E5A9DE2266676F3FAFB551F8 /* Mux-Stats-Core.debug.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 3113CDB50CA0B9CD7F9E5E95411FCDDD /* Release */ = { + 8E8308A0CE5453244D49DF6FD15B8B44 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E31059842AEB80621D0D511486C206D6 /* Mux-Stats-Google-IMA.release.xcconfig */; + baseConfigurationReference = B718DB7D15A83E4D4692AD315E813F32 /* Mux-Stats-Google-IMA-tvOS.release.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -1514,81 +2189,61 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.modulemap"; + MODULEMAP_FILE = "Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.modulemap"; PRODUCT_MODULE_NAME = Mux_Stats_Google_IMA; PRODUCT_NAME = Mux_Stats_Google_IMA; - SDKROOT = iphoneos; + SDKROOT = appletvos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.0; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 36DA7175A3B0EF99321B1BAF70716268 /* Release */ = { + 969C6B9776EE263C553CD8015BDDD25A /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D74069D658CA2AD0B73FB0643FCF921A /* Mux-Stats-Core.release.xcconfig */; + baseConfigurationReference = E949A70BE48CE74E340CF7B23D9B461C /* Mux-Stats-AVPlayer-tvOS.release.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.0; VALIDATE_PRODUCT = YES; }; name = Release; }; - 3D3C129CBF50392546579CE3F3EF133A /* Debug */ = { + 9B28E6DD7322FFC45C879950CC39F7A3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16B11CF4F81C62A58BFA134D4C5865C3 /* Expecta.debug.xcconfig */; + baseConfigurationReference = D5CC729CE4AF34E0C4423ABE0FA83767 /* GoogleAds-IMA-tvOS-SDK.debug.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Expecta/Expecta-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Expecta/Expecta.modulemap"; - PRODUCT_MODULE_NAME = Expecta; - PRODUCT_NAME = Expecta; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + SDKROOT = appletvos; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 11.0; }; name = Debug; }; - 4BDD04304F1376E2469C76A6B41BFDF1 /* Release */ = { + 9F7A9895269938DE3EDA39A02EC6A992 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FA1305DA592CDD3B5A8B7C33E58D83EE /* GoogleAds-IMA-iOS-SDK.release.xcconfig */; + baseConfigurationReference = B1435EBA3EAB3D14706EDFFFEB385681 /* GoogleAds-IMA-iOS-SDK.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1596,9 +2251,9 @@ }; name = Release; }; - 508BA1160D1537D25F4DC9A1533C2F80 /* Release */ = { + A0FC92EC7D2ECA94954B1C0064389E1A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B60D5D3DA72CD24A00C329C1C544FB26 /* Pods-DemoApp.release.xcconfig */; + baseConfigurationReference = B54B75E3E5CED47F26E89E3AF4397752 /* Pods-DemoApp.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; @@ -1625,13 +2280,12 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 63FAF33E1C55B71A5F5A8B3CC8749F99 /* Release */ = { + A1FF77532139B9494C14CD2D8845C02C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1690,79 +2344,44 @@ SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; + TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Release; }; - 69D960BB39A457071379E5CABFB3A4EF /* Release */ = { + B1BC0798646E40EFA8036500417F51D4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FA862F31A1169EF0A910AF94BC4C8EF6 /* Pods-MUXSDKImaListener_Tests.release.xcconfig */; + baseConfigurationReference = 7B357CA63D83B0465FAB41D1047651DE /* Mux-Stats-AVPlayer-iOS.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; name = Release; }; - 6A775E444C369DEBE747531BA0994EDC /* Debug */ = { + B1F4DCB09C3E97F42E274CB31F63D9B3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27F673CC44F15078C3EFBFCC60BB25D5 /* Mux-Stats-Google-IMA.debug.xcconfig */; + baseConfigurationReference = 099A55E65B9A69172D3F5442B818FE33 /* Mux-Stats-Core-iOS.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.modulemap"; - PRODUCT_MODULE_NAME = Mux_Stats_Google_IMA; - PRODUCT_NAME = Mux_Stats_Google_IMA; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 7D1401E1E54D75789A01D7673E17CFA8 /* Release */ = { + B4553D73218BB8BEEE31FE9BA66A946E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 947E8C630EBCE6CEFB66B4CA44914719 /* Expecta.release.xcconfig */; + baseConfigurationReference = FEB746BD38D188700EA08FD64A9EF818 /* Specta.release.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1773,14 +2392,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Expecta/Expecta-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Specta/Specta-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Expecta/Expecta.modulemap"; - PRODUCT_MODULE_NAME = Expecta; - PRODUCT_NAME = Expecta; + MODULEMAP_FILE = "Target Support Files/Specta/Specta.modulemap"; + PRODUCT_MODULE_NAME = Specta; + PRODUCT_NAME = Specta; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1792,41 +2411,45 @@ }; name = Release; }; - 81570F7131426B635FC04E0861472DEA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6F25D29A2B1AED540BE037ED2993D3C9 /* Mux-Stats-AVPlayer.debug.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97EACFA8691281DB1B4D9D19F1846C7F /* Debug */ = { + D0F6F495F2D0F29C8118A3AE06E2F34C /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0374AE7F6AB840983307CFDF023051E9 /* GoogleAds-IMA-iOS-SDK.debug.xcconfig */; + baseConfigurationReference = F45E73039C5E4F3493DFA587321C5FF1 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_OBJC_WEAK = NO; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; + SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; - B4553D73218BB8BEEE31FE9BA66A946E /* Release */ = { + E34B57129D0833E6EACCFDA9AEB62EC4 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0FECA2A14B2C3E92E691AF0EFD7A52C8 /* Specta.release.xcconfig */; + baseConfigurationReference = 95975D3EDEF96EFD783149B4DF51AF51 /* Pods-MUXSDKIMATVOSExample.release.xcconfig */; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -1835,46 +2458,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Specta/Specta-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Specta/Specta.modulemap"; - PRODUCT_MODULE_NAME = Specta; - PRODUCT_NAME = Specta; - SDKROOT = iphoneos; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 4.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 12.0; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - D4114970F8D17CFA46FF354573D2E1ED /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A02FA4454F0D5185583E1282D0280EF9 /* Mux-Stats-AVPlayer.release.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - DDD5D142AC55861D0D00853521B1DF1B /* Debug */ = { + E3DB6F69AB3D7AEB192B4135145D5BE7 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EC4FDA986E8E16E31F119A7CD3863322 /* Pods-MUXSDKImaListener_Tests.debug.xcconfig */; + baseConfigurationReference = 5D72A98E18D2C7F0DC1761DB98085D33 /* Mux-Stats-Google-IMA-iOS.release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1885,24 +2492,24 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.modulemap"; + PRODUCT_MODULE_NAME = Mux_Stats_Google_IMA; + PRODUCT_NAME = Mux_Stats_Google_IMA; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; /* End XCBuildConfiguration section */ @@ -1916,11 +2523,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 22F28E95F43A0DFE0D55C6493689B03D /* Build configuration list for PBXNativeTarget "Pods-DemoApp" */ = { + 43E915F5F4E72F70DDFF92B9E3A89BF2 /* Build configuration list for PBXNativeTarget "Pods-MUXSDKImaListener_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 25E5EB9DBFC54B467FC8367C35CB150E /* Debug */, - 508BA1160D1537D25F4DC9A1533C2F80 /* Release */, + D0F6F495F2D0F29C8118A3AE06E2F34C /* Debug */, + 430CA9B639BF6F992BCFD80781476E45 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1928,8 +2535,17 @@ 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2B9E26EAE2CD392AD762421F663075A1 /* Debug */, - 63FAF33E1C55B71A5F5A8B3CC8749F99 /* Release */, + 8E661E89743757171523F9CBF2FA6CB7 /* Debug */, + A1FF77532139B9494C14CD2D8845C02C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4F1BA1A27705F415A582E71351A55163 /* Build configuration list for PBXNativeTarget "Mux-Stats-Google-IMA-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 4FEEB0446AADF3AF63362A7F3DA30BA3 /* Debug */, + 8E8308A0CE5453244D49DF6FD15B8B44 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1943,11 +2559,38 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 70C02BC6FBB5D5571F4C77EE11708B8F /* Build configuration list for PBXNativeTarget "Mux-Stats-Google-IMA" */ = { + 51A9CD61ACD8B1BC250DAFD71D700763 /* Build configuration list for PBXAggregateTarget "Mux-Stats-Core-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7E818B409871CBBDF9C02777EA8431B7 /* Debug */, + 240A7CB6267CC9E0437EE9D0C31C129C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 8CC1C063550B656D9F1EDC621F7BE1CC /* Build configuration list for PBXNativeTarget "Pods-MUXSDKIMATVOSExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 149CB13DDC150125969B3C2F765764A2 /* Debug */, + E34B57129D0833E6EACCFDA9AEB62EC4 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9722A1D00F03E19DD030DD82C7343958 /* Build configuration list for PBXNativeTarget "Mux-Stats-Google-IMA-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 6C5560E792A604907B084A941DA54DAD /* Debug */, + E3DB6F69AB3D7AEB192B4135145D5BE7 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 9A52955F9AFD3A6A0EA13F213FAC2A0C /* Build configuration list for PBXAggregateTarget "GoogleAds-IMA-tvOS-SDK" */ = { isa = XCConfigurationList; buildConfigurations = ( - 6A775E444C369DEBE747531BA0994EDC /* Debug */, - 3113CDB50CA0B9CD7F9E5E95411FCDDD /* Release */, + 9B28E6DD7322FFC45C879950CC39F7A3 /* Debug */, + 3FB2469C0EDE4A32E7DFF50911A21CCA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1955,35 +2598,44 @@ AA82C62FBB7F00A3C7D4DBA0C7D6C570 /* Build configuration list for PBXAggregateTarget "GoogleAds-IMA-iOS-SDK" */ = { isa = XCConfigurationList; buildConfigurations = ( - 97EACFA8691281DB1B4D9D19F1846C7F /* Debug */, - 4BDD04304F1376E2469C76A6B41BFDF1 /* Release */, + 82B739F7B753E031D5446ED8C9262B69 /* Debug */, + 9F7A9895269938DE3EDA39A02EC6A992 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + ACEA78EA14646B6072CCD8BD0FF6AA0D /* Build configuration list for PBXNativeTarget "Pods-DemoApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A0FC92EC7D2ECA94954B1C0064389E1A /* Debug */, + 85BDA8E8D93F77F7FEAAD461AEE11AB7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B6CDE4A8E62AB29EC205B27CD01F899B /* Build configuration list for PBXNativeTarget "Pods-MUXSDKImaListener_Tests" */ = { + B9A541B84BBB25147B90CA62A6CDACF0 /* Build configuration list for PBXAggregateTarget "Mux-Stats-AVPlayer-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - DDD5D142AC55861D0D00853521B1DF1B /* Debug */, - 69D960BB39A457071379E5CABFB3A4EF /* Release */, + 7716022D6536302F44DC8149A4E62BCB /* Debug */, + B1BC0798646E40EFA8036500417F51D4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F27E1F14747F15B4C33E44004CD894E4 /* Build configuration list for PBXAggregateTarget "Mux-Stats-AVPlayer" */ = { + B9B2F9248BF45545C964ED2C809C5844 /* Build configuration list for PBXAggregateTarget "Mux-Stats-Core-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 81570F7131426B635FC04E0861472DEA /* Debug */, - D4114970F8D17CFA46FF354573D2E1ED /* Release */, + B1F4DCB09C3E97F42E274CB31F63D9B3 /* Debug */, + 1D75EC75F050DCF1AC7C607EA54F4FCF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - FEFA7AC4231F09664F69FCF24C427586 /* Build configuration list for PBXAggregateTarget "Mux-Stats-Core" */ = { + E44F5E01B4E027639AD767D65BF4FF88 /* Build configuration list for PBXAggregateTarget "Mux-Stats-AVPlayer-tvOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 3039D03C463AA400425BB823C67FEDB9 /* Debug */, - 36DA7175A3B0EF99321B1BAF70716268 /* Release */, + 31CA0996615965FA5F7A973F42802E66 /* Debug */, + 969C6B9776EE263C553CD8015BDDD25A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Mux-Stats-Google-IMA 1.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Mux-Stats-Google-IMA 1.xcscheme deleted file mode 100644 index 87422c3..0000000 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Mux-Stats-Google-IMA 1.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Mux-Stats-Google-IMA.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Mux-Stats-Google-IMA.xcscheme deleted file mode 100644 index 87422c3..0000000 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/Mux-Stats-Google-IMA.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/Pods/Target Support Files/GoogleAds-IMA-iOS-SDK/GoogleAds-IMA-iOS-SDK-xcframeworks.sh b/Example/Pods/Target Support Files/GoogleAds-IMA-iOS-SDK/GoogleAds-IMA-iOS-SDK-xcframeworks.sh index f52b29f..ce26b8f 100755 --- a/Example/Pods/Target Support Files/GoogleAds-IMA-iOS-SDK/GoogleAds-IMA-iOS-SDK-xcframeworks.sh +++ b/Example/Pods/Target Support Files/GoogleAds-IMA-iOS-SDK/GoogleAds-IMA-iOS-SDK-xcframeworks.sh @@ -17,7 +17,7 @@ RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") variant_for_slice() { case "$1" in - "GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7") + "GoogleInteractiveMediaAds.xcframework/ios-arm64") echo "" ;; "GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator") @@ -29,8 +29,8 @@ variant_for_slice() archs_for_slice() { case "$1" in - "GoogleInteractiveMediaAds.xcframework/ios-arm64_armv7") - echo "arm64 armv7" + "GoogleInteractiveMediaAds.xcframework/ios-arm64") + echo "arm64" ;; "GoogleInteractiveMediaAds.xcframework/ios-arm64_x86_64-simulator") echo "arm64 x86_64" @@ -117,5 +117,5 @@ install_xcframework() { echo "Copied $source to $destination" } -install_xcframework "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework" "GoogleAds-IMA-iOS-SDK" "framework" "ios-arm64_armv7" "ios-arm64_x86_64-simulator" +install_xcframework "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.xcframework" "GoogleAds-IMA-iOS-SDK" "framework" "ios-arm64" "ios-arm64_x86_64-simulator" diff --git a/Example/Pods/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK-xcframeworks.sh b/Example/Pods/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK-xcframeworks.sh new file mode 100755 index 0000000..7a3c6f7 --- /dev/null +++ b/Example/Pods/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK-xcframeworks.sh @@ -0,0 +1,121 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + + +variant_for_slice() +{ + case "$1" in + "GoogleInteractiveMediaAds.xcframework/tvos-arm64") + echo "" + ;; + "GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator") + echo "simulator" + ;; + esac +} + +archs_for_slice() +{ + case "$1" in + "GoogleInteractiveMediaAds.xcframework/tvos-arm64") + echo "arm64" + ;; + "GoogleInteractiveMediaAds.xcframework/tvos-arm64_x86_64-simulator") + echo "arm64 x86_64" + ;; + esac +} + +copy_dir() +{ + local source="$1" + local destination="$2" + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" \"${source}*\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" "${source}"/* "${destination}" +} + +SELECT_SLICE_RETVAL="" + +select_slice() { + local xcframework_name="$1" + xcframework_name="${xcframework_name##*/}" + local paths=("${@:2}") + # Locate the correct slice of the .xcframework for the current architectures + local target_path="" + + # Split archs on space so we can find a slice that has all the needed archs + local target_archs=$(echo $ARCHS | tr " " "\n") + + local target_variant="" + if [[ "$PLATFORM_NAME" == *"simulator" ]]; then + target_variant="simulator" + fi + if [[ ! -z ${EFFECTIVE_PLATFORM_NAME+x} && "$EFFECTIVE_PLATFORM_NAME" == *"maccatalyst" ]]; then + target_variant="maccatalyst" + fi + for i in ${!paths[@]}; do + local matched_all_archs="1" + local slice_archs="$(archs_for_slice "${xcframework_name}/${paths[$i]}")" + local slice_variant="$(variant_for_slice "${xcframework_name}/${paths[$i]}")" + for target_arch in $target_archs; do + if ! [[ "${slice_variant}" == "$target_variant" ]]; then + matched_all_archs="0" + break + fi + + if ! echo "${slice_archs}" | tr " " "\n" | grep -F -q -x "$target_arch"; then + matched_all_archs="0" + break + fi + done + + if [[ "$matched_all_archs" == "1" ]]; then + # Found a matching slice + echo "Selected xcframework slice ${paths[$i]}" + SELECT_SLICE_RETVAL=${paths[$i]} + break + fi + done +} + +install_xcframework() { + local basepath="$1" + local name="$2" + local package_type="$3" + local paths=("${@:4}") + + # Locate the correct slice of the .xcframework for the current architectures + select_slice "${basepath}" "${paths[@]}" + local target_path="$SELECT_SLICE_RETVAL" + if [[ -z "$target_path" ]]; then + echo "warning: [CP] $(basename ${basepath}): Unable to find matching slice in '${paths[@]}' for the current build architectures ($ARCHS) and platform (${EFFECTIVE_PLATFORM_NAME-${PLATFORM_NAME}})." + return + fi + local source="$basepath/$target_path" + + local destination="${PODS_XCFRAMEWORKS_BUILD_DIR}/${name}" + + if [ ! -d "$destination" ]; then + mkdir -p "$destination" + fi + + copy_dir "$source/" "$destination" + echo "Copied $source to $destination" +} + +install_xcframework "${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.xcframework" "GoogleAds-IMA-tvOS-SDK" "framework" "tvos-arm64" "tvos-arm64_x86_64-simulator" + diff --git a/Example/Pods/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK.debug.xcconfig b/Example/Pods/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK.debug.xcconfig new file mode 100644 index 0000000..5842957 --- /dev/null +++ b/Example/Pods/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK.debug.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "JavaScriptCore" -framework "QuartzCore" -framework "SystemConfiguration" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK.release.xcconfig b/Example/Pods/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK.release.xcconfig new file mode 100644 index 0000000..5842957 --- /dev/null +++ b/Example/Pods/Target Support Files/GoogleAds-IMA-tvOS-SDK/GoogleAds-IMA-tvOS-SDK.release.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "JavaScriptCore" -framework "QuartzCore" -framework "SystemConfiguration" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer-xcframeworks.sh b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS-xcframeworks.sh similarity index 100% rename from Example/Pods/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer-xcframeworks.sh rename to Example/Pods/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS-xcframeworks.sh diff --git a/Example/Pods/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer.debug.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS.debug.xcconfig similarity index 98% rename from Example/Pods/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer.debug.xcconfig rename to Example/Pods/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS.debug.xcconfig index c7462f1..7cc2684 100644 --- a/Example/Pods/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer.debug.xcconfig +++ b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS.debug.xcconfig @@ -1,5 +1,5 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-AVPlayer +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-AVPlayer-iOS FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "CoreMedia" -framework "MuxCore" -framework "SystemConfiguration" diff --git a/Example/Pods/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer.release.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS.release.xcconfig similarity index 98% rename from Example/Pods/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer.release.xcconfig rename to Example/Pods/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS.release.xcconfig index c7462f1..7cc2684 100644 --- a/Example/Pods/Target Support Files/Mux-Stats-AVPlayer/Mux-Stats-AVPlayer.release.xcconfig +++ b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-iOS/Mux-Stats-AVPlayer-iOS.release.xcconfig @@ -1,5 +1,5 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-AVPlayer +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-AVPlayer-iOS FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "CoreMedia" -framework "MuxCore" -framework "SystemConfiguration" diff --git a/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS-xcframeworks.sh b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS-xcframeworks.sh new file mode 100755 index 0000000..ad8b88f --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS-xcframeworks.sh @@ -0,0 +1,139 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + + +variant_for_slice() +{ + case "$1" in + "MUXSDKStats.xcframework/ios-arm64") + echo "" + ;; + "MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst") + echo "maccatalyst" + ;; + "MUXSDKStats.xcframework/ios-arm64_x86_64-simulator") + echo "simulator" + ;; + "MUXSDKStats.xcframework/tvos-arm64") + echo "" + ;; + "MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator") + echo "simulator" + ;; + esac +} + +archs_for_slice() +{ + case "$1" in + "MUXSDKStats.xcframework/ios-arm64") + echo "arm64" + ;; + "MUXSDKStats.xcframework/ios-arm64_x86_64-maccatalyst") + echo "arm64 x86_64" + ;; + "MUXSDKStats.xcframework/ios-arm64_x86_64-simulator") + echo "arm64 x86_64" + ;; + "MUXSDKStats.xcframework/tvos-arm64") + echo "arm64" + ;; + "MUXSDKStats.xcframework/tvos-arm64_x86_64-simulator") + echo "arm64 x86_64" + ;; + esac +} + +copy_dir() +{ + local source="$1" + local destination="$2" + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" \"${source}*\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" "${source}"/* "${destination}" +} + +SELECT_SLICE_RETVAL="" + +select_slice() { + local xcframework_name="$1" + xcframework_name="${xcframework_name##*/}" + local paths=("${@:2}") + # Locate the correct slice of the .xcframework for the current architectures + local target_path="" + + # Split archs on space so we can find a slice that has all the needed archs + local target_archs=$(echo $ARCHS | tr " " "\n") + + local target_variant="" + if [[ "$PLATFORM_NAME" == *"simulator" ]]; then + target_variant="simulator" + fi + if [[ ! -z ${EFFECTIVE_PLATFORM_NAME+x} && "$EFFECTIVE_PLATFORM_NAME" == *"maccatalyst" ]]; then + target_variant="maccatalyst" + fi + for i in ${!paths[@]}; do + local matched_all_archs="1" + local slice_archs="$(archs_for_slice "${xcframework_name}/${paths[$i]}")" + local slice_variant="$(variant_for_slice "${xcframework_name}/${paths[$i]}")" + for target_arch in $target_archs; do + if ! [[ "${slice_variant}" == "$target_variant" ]]; then + matched_all_archs="0" + break + fi + + if ! echo "${slice_archs}" | tr " " "\n" | grep -F -q -x "$target_arch"; then + matched_all_archs="0" + break + fi + done + + if [[ "$matched_all_archs" == "1" ]]; then + # Found a matching slice + echo "Selected xcframework slice ${paths[$i]}" + SELECT_SLICE_RETVAL=${paths[$i]} + break + fi + done +} + +install_xcframework() { + local basepath="$1" + local name="$2" + local package_type="$3" + local paths=("${@:4}") + + # Locate the correct slice of the .xcframework for the current architectures + select_slice "${basepath}" "${paths[@]}" + local target_path="$SELECT_SLICE_RETVAL" + if [[ -z "$target_path" ]]; then + echo "warning: [CP] $(basename ${basepath}): Unable to find matching slice in '${paths[@]}' for the current build architectures ($ARCHS) and platform (${EFFECTIVE_PLATFORM_NAME-${PLATFORM_NAME}})." + return + fi + local source="$basepath/$target_path" + + local destination="${PODS_XCFRAMEWORKS_BUILD_DIR}/${name}" + + if [ ! -d "$destination" ]; then + mkdir -p "$destination" + fi + + copy_dir "$source/" "$destination" + echo "Copied $source to $destination" +} + +install_xcframework "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework/MUXSDKStats.xcframework" "Mux-Stats-AVPlayer" "framework" "tvos-arm64" "tvos-arm64_x86_64-simulator" + diff --git a/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS.debug.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS.debug.xcconfig new file mode 100644 index 0000000..550dd34 --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS.debug.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-AVPlayer-tvOS +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "CoreMedia" -framework "MuxCore" -framework "SystemConfiguration" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Mux-Stats-AVPlayer +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS.release.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS.release.xcconfig new file mode 100644 index 0000000..550dd34 --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-AVPlayer-tvOS/Mux-Stats-AVPlayer-tvOS.release.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-AVPlayer-tvOS +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "CoreMedia" -framework "MuxCore" -framework "SystemConfiguration" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Mux-Stats-AVPlayer +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Mux-Stats-Core/Mux-Stats-Core-xcframeworks.sh b/Example/Pods/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS-xcframeworks.sh similarity index 100% rename from Example/Pods/Target Support Files/Mux-Stats-Core/Mux-Stats-Core-xcframeworks.sh rename to Example/Pods/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS-xcframeworks.sh diff --git a/Example/Pods/Target Support Files/Mux-Stats-Core/Mux-Stats-Core.debug.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS.debug.xcconfig similarity index 98% rename from Example/Pods/Target Support Files/Mux-Stats-Core/Mux-Stats-Core.debug.xcconfig rename to Example/Pods/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS.debug.xcconfig index df6febc..7725620 100644 --- a/Example/Pods/Target Support Files/Mux-Stats-Core/Mux-Stats-Core.debug.xcconfig +++ b/Example/Pods/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS.debug.xcconfig @@ -1,5 +1,5 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Core +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Core-iOS FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" diff --git a/Example/Pods/Target Support Files/Mux-Stats-Core/Mux-Stats-Core.release.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS.release.xcconfig similarity index 98% rename from Example/Pods/Target Support Files/Mux-Stats-Core/Mux-Stats-Core.release.xcconfig rename to Example/Pods/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS.release.xcconfig index df6febc..7725620 100644 --- a/Example/Pods/Target Support Files/Mux-Stats-Core/Mux-Stats-Core.release.xcconfig +++ b/Example/Pods/Target Support Files/Mux-Stats-Core-iOS/Mux-Stats-Core-iOS.release.xcconfig @@ -1,5 +1,5 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Core +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Core-iOS FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" diff --git a/Example/Pods/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS-xcframeworks.sh b/Example/Pods/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS-xcframeworks.sh new file mode 100755 index 0000000..9996cea --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS-xcframeworks.sh @@ -0,0 +1,139 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + + +variant_for_slice() +{ + case "$1" in + "MuxCore.xcframework/ios-arm64") + echo "" + ;; + "MuxCore.xcframework/ios-arm64_x86_64-maccatalyst") + echo "maccatalyst" + ;; + "MuxCore.xcframework/ios-arm64_x86_64-simulator") + echo "simulator" + ;; + "MuxCore.xcframework/tvos-arm64") + echo "" + ;; + "MuxCore.xcframework/tvos-arm64_x86_64-simulator") + echo "simulator" + ;; + esac +} + +archs_for_slice() +{ + case "$1" in + "MuxCore.xcframework/ios-arm64") + echo "arm64" + ;; + "MuxCore.xcframework/ios-arm64_x86_64-maccatalyst") + echo "arm64 x86_64" + ;; + "MuxCore.xcframework/ios-arm64_x86_64-simulator") + echo "arm64 x86_64" + ;; + "MuxCore.xcframework/tvos-arm64") + echo "arm64" + ;; + "MuxCore.xcframework/tvos-arm64_x86_64-simulator") + echo "arm64 x86_64" + ;; + esac +} + +copy_dir() +{ + local source="$1" + local destination="$2" + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" \"${source}*\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" "${source}"/* "${destination}" +} + +SELECT_SLICE_RETVAL="" + +select_slice() { + local xcframework_name="$1" + xcframework_name="${xcframework_name##*/}" + local paths=("${@:2}") + # Locate the correct slice of the .xcframework for the current architectures + local target_path="" + + # Split archs on space so we can find a slice that has all the needed archs + local target_archs=$(echo $ARCHS | tr " " "\n") + + local target_variant="" + if [[ "$PLATFORM_NAME" == *"simulator" ]]; then + target_variant="simulator" + fi + if [[ ! -z ${EFFECTIVE_PLATFORM_NAME+x} && "$EFFECTIVE_PLATFORM_NAME" == *"maccatalyst" ]]; then + target_variant="maccatalyst" + fi + for i in ${!paths[@]}; do + local matched_all_archs="1" + local slice_archs="$(archs_for_slice "${xcframework_name}/${paths[$i]}")" + local slice_variant="$(variant_for_slice "${xcframework_name}/${paths[$i]}")" + for target_arch in $target_archs; do + if ! [[ "${slice_variant}" == "$target_variant" ]]; then + matched_all_archs="0" + break + fi + + if ! echo "${slice_archs}" | tr " " "\n" | grep -F -q -x "$target_arch"; then + matched_all_archs="0" + break + fi + done + + if [[ "$matched_all_archs" == "1" ]]; then + # Found a matching slice + echo "Selected xcframework slice ${paths[$i]}" + SELECT_SLICE_RETVAL=${paths[$i]} + break + fi + done +} + +install_xcframework() { + local basepath="$1" + local name="$2" + local package_type="$3" + local paths=("${@:4}") + + # Locate the correct slice of the .xcframework for the current architectures + select_slice "${basepath}" "${paths[@]}" + local target_path="$SELECT_SLICE_RETVAL" + if [[ -z "$target_path" ]]; then + echo "warning: [CP] $(basename ${basepath}): Unable to find matching slice in '${paths[@]}' for the current build architectures ($ARCHS) and platform (${EFFECTIVE_PLATFORM_NAME-${PLATFORM_NAME}})." + return + fi + local source="$basepath/$target_path" + + local destination="${PODS_XCFRAMEWORKS_BUILD_DIR}/${name}" + + if [ ! -d "$destination" ]; then + mkdir -p "$destination" + fi + + copy_dir "$source/" "$destination" + echo "Copied $source to $destination" +} + +install_xcframework "${PODS_ROOT}/Mux-Stats-Core/XCFramework/MuxCore.xcframework" "Mux-Stats-Core" "framework" "tvos-arm64" "tvos-arm64_x86_64-simulator" + diff --git a/Example/Pods/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS.debug.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS.debug.xcconfig new file mode 100644 index 0000000..ec06fcc --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS.debug.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Core-tvOS +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Mux-Stats-Core +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS.release.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS.release.xcconfig new file mode 100644 index 0000000..ec06fcc --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Core-tvOS/Mux-Stats-Core-tvOS.release.xcconfig @@ -0,0 +1,14 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Core-tvOS +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Mux-Stats-Core +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-Info.plist b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-Info.plist similarity index 100% rename from Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-Info.plist rename to Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-Info.plist diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-dummy.m b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-dummy.m new file mode 100644 index 0000000..36e4cac --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Mux_Stats_Google_IMA_iOS : NSObject +@end +@implementation PodsDummy_Mux_Stats_Google_IMA_iOS +@end diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-prefix.pch b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-prefix.pch similarity index 100% rename from Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-prefix.pch rename to Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-prefix.pch diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-umbrella.h b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-umbrella.h similarity index 100% rename from Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-umbrella.h rename to Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS-umbrella.h diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.debug.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.debug.xcconfig similarity index 98% rename from Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.debug.xcconfig rename to Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.debug.xcconfig index c1e7bb3..d38617f 100644 --- a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.debug.xcconfig +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.debug.xcconfig @@ -1,5 +1,5 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.modulemap b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.modulemap similarity index 58% rename from Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.modulemap rename to Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.modulemap index ce67a9f..4001a2f 100644 --- a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.modulemap +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.modulemap @@ -1,5 +1,5 @@ framework module Mux_Stats_Google_IMA { - umbrella header "Mux-Stats-Google-IMA-umbrella.h" + umbrella header "Mux-Stats-Google-IMA-iOS-umbrella.h" export * module * { export * } diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.release.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.release.xcconfig similarity index 98% rename from Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.release.xcconfig rename to Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.release.xcconfig index c1e7bb3..d38617f 100644 --- a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA.release.xcconfig +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-iOS/Mux-Stats-Google-IMA-iOS.release.xcconfig @@ -1,5 +1,5 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-Info.plist b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-Info.plist new file mode 100644 index 0000000..ba6f7cf --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 0.10.1 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-dummy.m b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-dummy.m new file mode 100644 index 0000000..afca513 --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Mux_Stats_Google_IMA_tvOS : NSObject +@end +@implementation PodsDummy_Mux_Stats_Google_IMA_tvOS +@end diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-prefix.pch b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-prefix.pch new file mode 100644 index 0000000..beb2a24 --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-prefix.pch @@ -0,0 +1,12 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-umbrella.h b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-umbrella.h new file mode 100644 index 0000000..7c29034 --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS-umbrella.h @@ -0,0 +1,17 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + +#import "MuxImaListener.h" + +FOUNDATION_EXPORT double Mux_Stats_Google_IMAVersionNumber; +FOUNDATION_EXPORT const unsigned char Mux_Stats_Google_IMAVersionString[]; + diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.debug.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.debug.xcconfig new file mode 100644 index 0000000..3cefc78 --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.debug.xcconfig @@ -0,0 +1,15 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-tvOS +EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "GoogleInteractiveMediaAds" -framework "JavaScriptCore" -framework "MUXSDKStats" -framework "QuartzCore" -framework "SystemConfiguration" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.modulemap b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.modulemap new file mode 100644 index 0000000..d2dbbad --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.modulemap @@ -0,0 +1,6 @@ +framework module Mux_Stats_Google_IMA { + umbrella header "Mux-Stats-Google-IMA-tvOS-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.release.xcconfig b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.release.xcconfig new file mode 100644 index 0000000..3cefc78 --- /dev/null +++ b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA-tvOS/Mux-Stats-Google-IMA-tvOS.release.xcconfig @@ -0,0 +1,15 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-tvOS +EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "GoogleInteractiveMediaAds" -framework "JavaScriptCore" -framework "MUXSDKStats" -framework "QuartzCore" -framework "SystemConfiguration" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} +PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} +SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-dummy.m b/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-dummy.m deleted file mode 100644 index 7ef9bf3..0000000 --- a/Example/Pods/Target Support Files/Mux-Stats-Google-IMA/Mux-Stats-Google-IMA-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Mux_Stats_Google_IMA : NSObject -@end -@implementation PodsDummy_Mux_Stats_Google_IMA -@end diff --git a/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh b/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh index df58736..455e306 100755 --- a/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp-frameworks.sh @@ -41,7 +41,7 @@ install_framework() if [ -L "${source}" ]; then echo "Symlinked..." - source="$(readlink "${source}")" + source="$(readlink -f "${source}")" fi if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then @@ -176,13 +176,13 @@ code_sign_if_enabled() { } if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer/MUXSDKStats.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer/MUXSDKStats.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework" diff --git a/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp.debug.xcconfig b/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp.debug.xcconfig index 54bfbfd..5755bf3 100644 --- a/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp.debug.xcconfig @@ -1,8 +1,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "GoogleInteractiveMediaAds" -framework "MUXSDKStats" -framework "MessageUI" -framework "MuxCore" -framework "Mux_Stats_Google_IMA" -framework "QuartzCore" -framework "SystemConfiguration" -framework "UIKit" -weak_framework "WebKit" PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp.release.xcconfig b/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp.release.xcconfig index 54bfbfd..5755bf3 100644 --- a/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-DemoApp/Pods-DemoApp.release.xcconfig @@ -1,8 +1,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "GoogleInteractiveMediaAds" -framework "MUXSDKStats" -framework "MessageUI" -framework "MuxCore" -framework "Mux_Stats_Google_IMA" -framework "QuartzCore" -framework "SystemConfiguration" -framework "UIKit" -weak_framework "WebKit" PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-Info.plist b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-Info.plist new file mode 100644 index 0000000..19cf209 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + ${PODS_DEVELOPMENT_LANGUAGE} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + + + diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-acknowledgements.markdown new file mode 100644 index 0000000..6589de9 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-acknowledgements.markdown @@ -0,0 +1,2242 @@ +# Acknowledgements +This application makes use of the following third party libraries: + +## Mux-Stats-AVPlayer + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2017 Mux, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +## Mux-Stats-Core + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2017 Mux, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +## Mux-Stats-Google-IMA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mux-stats-sdk-avplayer/LICENSE at master · muxinc/mux-stats-sdk-avplayer · GitHub + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to content +
+ + + + + + + + +
+ +
+ + +
+ +
+ + + +
+
+
+ + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + Permalink + + + + + +
+ + +
+ + Branch: + master + + + + + + + +
+ +
+ + Find file + + + Copy path + +
+
+ + +
+ + Find file + + + Copy path + +
+
+ +
+
+
+ +

+ muxinc/mux-stats-sdk-avplayer is licensed under the +

+

Apache License 2.0

+

A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

+
+ +
+
+

Permissions

+
    +
  • + + + Commercial use + +
  • +
  • + + + Modification + +
  • +
  • + + + Distribution + +
  • +
  • + + + Patent use + +
  • +
  • + + + Private use + +
  • +
+
+
+

Limitations

+
    +
  • + + + Trademark use + +
  • +
  • + + + Liability + +
  • +
  • + + + Warranty + +
  • +
+
+
+

Conditions

+
    +
  • + + + License and copyright notice + +
  • +
  • + + + State changes + +
  • +
+
+
+
+

+ This is not legal advice. + Learn more about repository licenses. +

+
+ + + + +
+
+ + @wtao-mux + wtao-mux + + License and pod spec + + + + d120af1 + Jun 28, 2018 + +
+ +
+
+ + 1 contributor + + +
+ +

+ Users who have contributed to this file +

+
+ +
+
+
+
+ + + + + +
+ +
+ +
+ 202 lines (169 sloc) + + 11.1 KB +
+ +
+ +
+ Raw + Blame + History +
+ + +
+ + + +
+
+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
1. Definitions.
+
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
+
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
+
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
+
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
+
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
+
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
+
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
+
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
+
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
+
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
+
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
+
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
+
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
+
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
+
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
+
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
+
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
+
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
+
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
+
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
+
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
+
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
+
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
+
END OF TERMS AND CONDITIONS
+
APPENDIX: How to apply the Apache License to your work.
+
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
+
Copyright 2017 Mux, Inc.
+
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
+
http://www.apache.org/licenses/LICENSE-2.0
+
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+ + + +
+ +
+ + + +
+ + +
+ + +
+
+ + + +
+
+ +
+
+ + +
+ + + + + + +
+ + + You can’t perform that action at this time. +
+ + + + + + + + + + + + + + +
+ + + + + + +## GoogleAds-IMA-tvOS-SDK + +Copyright 2023 Google, Inc. All rights reserved. + +Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-acknowledgements.plist new file mode 100644 index 0000000..8c78835 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-acknowledgements.plist @@ -0,0 +1,2292 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2017 Mux, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + License + Apache 2.0 + Title + Mux-Stats-AVPlayer + Type + PSGroupSpecifier + + + FooterText + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2017 Mux, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + License + Apache 2.0 + Title + Mux-Stats-Core + Type + PSGroupSpecifier + + + FooterText + + + + + + +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <link rel="dns-prefetch" href="https://github.githubassets.com"> + <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com"> + <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com"> + <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com"> + <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com"> + <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> + <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> + + + + <link crossorigin="anonymous" media="all" integrity="sha512-EHPlH662QpzitioBwfWl5G6ckYe+wVnZmXuBkOe4HknUxQYWLT3q+9dxyJ236ERrzrh4zIDIv+9FglzRztU7UA==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-a8726594dec346f03dd30c7517dd1f70.css" /> + <link crossorigin="anonymous" media="all" integrity="sha512-Myp6HIV6QpUnPxl7XbmQTeyGZboMMugCA3QK9vka+wV9W6ZE0NoHtZh0nWjowNoOB34X1nAgcEgfhhzhy+5u4g==" rel="stylesheet" href="https://github.githubassets.com/assets/site-b046b27487428b94fc20941868838997.css" /> + <link crossorigin="anonymous" media="all" integrity="sha512-X/Xzu2e7TcN2bbr+YQLrINsNEOAnfG8tJQBZEXIRh3BLTdW0TegiI2kJujnmwbJrq0wOpk1Kev416V35+Q/82Q==" rel="stylesheet" href="https://github.githubassets.com/assets/github-8bc6d61ffe404d319b97ea921aefec95.css" /> + + + + + + <meta name="viewport" content="width=device-width"> + + <title>mux-stats-sdk-avplayer/LICENSE at master · muxinc/mux-stats-sdk-avplayer · GitHub</title> + <meta name="description" content="Mux integration with `AVPlayer` for iOS Native Applications - muxinc/mux-stats-sdk-avplayer"> + <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> + <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> + <meta property="fb:app_id" content="1401488693436528"> + + <meta name="twitter:image:src" content="https://avatars3.githubusercontent.com/u/16199997?s=400&amp;v=4" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="muxinc/mux-stats-sdk-avplayer" /><meta name="twitter:description" content="Mux integration with `AVPlayer` for iOS Native Applications - muxinc/mux-stats-sdk-avplayer" /> + <meta property="og:image" content="https://avatars3.githubusercontent.com/u/16199997?s=400&amp;v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="muxinc/mux-stats-sdk-avplayer" /><meta property="og:url" content="https://github.com/muxinc/mux-stats-sdk-avplayer" /><meta property="og:description" content="Mux integration with `AVPlayer` for iOS Native Applications - muxinc/mux-stats-sdk-avplayer" /> + + <link rel="assets" href="https://github.githubassets.com/"> + + <meta name="pjax-timeout" content="1000"> + + <meta name="request-id" content="F10E:40B6:ABFEA:106253:5D7C025F" data-pjax-transient> + + + + + <meta name="selected-link" value="repo_source" data-pjax-transient> + + <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> + <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> + <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> + + <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-request_id" content="F10E:40B6:ABFEA:106253:5D7C025F" /><meta name="octolytics-dimension-region_edge" content="sea" /><meta name="octolytics-dimension-region_render" content="iad" /><meta name="octolytics-dimension-ga_id" content="" class="js-octo-ga-id" /><meta name="octolytics-dimension-visitor_id" content="2931382646434693727" /> +<meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-pjax-transient="true" /> + + + + <meta name="google-analytics" content="UA-3769691-2"> + + +<meta class="js-ga-set" name="dimension1" content="Logged Out"> + + + + + + <meta name="hostname" content="github.com"> + <meta name="user-login" content=""> + + <meta name="expected-hostname" content="github.com"> + <meta name="js-proxy-site-detection-payload" content="NzcwM2YyODY5ZDMxMjIxYzJlNzg5N2MxZDU4MzUzY2IzMWYwMDliZWMxY2JlODEyMTRiOWFkMTBiNmM5YjU3ZHx7InJlbW90ZV9hZGRyZXNzIjoiMTk5LjI0MS4yMDAuMjQxIiwicmVxdWVzdF9pZCI6IkYxMEU6NDBCNjpBQkZFQToxMDYyNTM6NUQ3QzAyNUYiLCJ0aW1lc3RhbXAiOjE1Njg0MDgxNjAsImhvc3QiOiJnaXRodWIuY29tIn0="> + + <meta name="enabled-features" content="ACTIONS_V2_ON_MARKETPLACE,MARKETPLACE_FEATURED_BLOG_POSTS,MARKETPLACE_INVOICED_BILLING,MARKETPLACE_SOCIAL_PROOF_CUSTOMERS,MARKETPLACE_TRENDING_SOCIAL_PROOF,MARKETPLACE_RECOMMENDATIONS,MARKETPLACE_PENDING_INSTALLATIONS"> + + <meta name="html-safe-nonce" content="2f9f136c3f2b236b16009f4fba100889496e93b7"> + + <meta http-equiv="x-pjax-version" content="571caf03f5dce166845b50885cf30197"> + + + <link href="https://github.com/muxinc/mux-stats-sdk-avplayer/commits/master.atom" rel="alternate" title="Recent Commits to mux-stats-sdk-avplayer:master" type="application/atom+xml"> + + <meta name="go-import" content="github.com/muxinc/mux-stats-sdk-avplayer git https://github.com/muxinc/mux-stats-sdk-avplayer.git"> + + <meta name="octolytics-dimension-user_id" content="16199997" /><meta name="octolytics-dimension-user_login" content="muxinc" /><meta name="octolytics-dimension-repository_id" content="138917611" /><meta name="octolytics-dimension-repository_nwo" content="muxinc/mux-stats-sdk-avplayer" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="138917611" /><meta name="octolytics-dimension-repository_network_root_nwo" content="muxinc/mux-stats-sdk-avplayer" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" /> + + + <link rel="canonical" href="https://github.com/muxinc/mux-stats-sdk-avplayer/blob/master/LICENSE" data-pjax-transient> + + + <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> + + <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> + + <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> + <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://github.githubassets.com/favicon.ico"> + +<meta name="theme-color" content="#1e2327"> + + + + + + <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> + + </head> + + <body class="logged-out env-production page-responsive page-blob"> + + + <div class="position-relative js-header-wrapper "> + <a href="#start-of-content" tabindex="1" class="px-2 py-4 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a> + <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div> + + + + + + + <header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner"> + <div class="container-lg d-lg-flex flex-items-center p-responsive"> + <div class="d-flex flex-justify-between flex-items-center"> + <a class="mr-4" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark"> + <svg height="32" class="octicon octicon-mark-github text-white" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg> + </a> + + <div class="d-lg-none css-truncate css-truncate-target width-fit p-2"> + + <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> + <a class="Header-link" href="/muxinc">muxinc</a> + / + <a class="Header-link" href="/muxinc/mux-stats-sdk-avplayer">mux-stats-sdk-avplayer</a> + + + </div> + + <div class="d-flex flex-items-center"> + <a href="/join?source=header-repo" + class="d-inline-block d-lg-none f5 text-white no-underline border border-gray-dark rounded-2 px-2 py-1 mr-3 mr-sm-5" + data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;F10E:40B6:ABFEA:106253:5D7C025F&quot;,&quot;originating_url&quot;:&quot;https://github.com/muxinc/mux-stats-sdk-avplayer/blob/master/LICENSE&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="859ec5c5b232ee4f590f40d6c8c1e3a8b9d6105d5fcc24ccc7d5f1e139f48602" + data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up"> + Sign&nbsp;up + </a> + + <button class="btn-link d-lg-none mt-1 js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> + <svg height="24" class="octicon octicon-three-bars text-white" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M11.41 9H.59C0 9 0 8.59 0 8c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zm0-4H.59C0 5 0 4.59 0 4c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zM.59 11H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1H.59C0 13 0 12.59 0 12c0-.59 0-1 .59-1z"/></svg> + </button> + </div> + </div> + + <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto"> + <div class="d-flex d-lg-none flex-justify-end border-bottom bg-gray-light p-3"> + <button class="btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> + <svg height="24" class="octicon octicon-x text-gray" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> + </button> + </div> + + <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global"> + <ul class="d-lg-flex list-style-none"> + <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> + <details class="HeaderMenu-details details-overlay details-reset width-full"> + <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> + Why GitHub? + <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"> + <path d="M1,1l6.2,6L13,1"></path> + </svg> + </summary> + <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> + <a href="/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a> + <ul class="list-style-none f5 pb-3"> + <li class="edge-item-fix"><a href="/features/code-review/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code review">Code review</a></li> + <li class="edge-item-fix"><a href="/features/project-management/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Project management">Project management</a></li> + <li class="edge-item-fix"><a href="/features/integrations" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Integrations">Integrations</a></li> + <li class="edge-item-fix"><a href="/features/actions" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Actions">Actions</a> + <li class="edge-item-fix"><a href="/features/package-registry" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Package Registry">Package registry</a> + <li class="edge-item-fix"><a href="/features#team-management" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Team management">Team management</a></li> + <li class="edge-item-fix"><a href="/features#social-coding" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Social coding">Social coding</a></li> + <li class="edge-item-fix"><a href="/features#documentation" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Documentation">Documentation</a></li> + <li class="edge-item-fix"><a href="/features#code-hosting" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code hosting">Code hosting</a></li> + </ul> + + <ul class="list-style-none mb-0 border-lg-top pt-lg-3"> + <li class="edge-item-fix"><a href="/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> + <li class="edge-item-fix"><a href="/security" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Security">Security <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> + </ul> + </div> + </details> + </li> + <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3"> + <a href="/enterprise" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Enterprise">Enterprise</a> + </li> + + <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> + <details class="HeaderMenu-details details-overlay details-reset width-full"> + <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> + Explore + <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"> + <path d="M1,1l6.2,6L13,1"></path> + </svg> + </summary> + + <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> + <ul class="list-style-none mb-3"> + <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> + </ul> + + <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn &amp; contribute</h4> + <ul class="list-style-none mb-3"> + <li class="edge-item-fix"><a href="/topics" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Topics">Topics</a></li> + <li class="edge-item-fix"><a href="/collections" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Collections">Collections</a></li> + <li class="edge-item-fix"><a href="/trending" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Trending">Trending</a></li> + <li class="edge-item-fix"><a href="https://lab.github.com/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab</a></li> + <li class="edge-item-fix"><a href="https://opensource.guide" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides</a></li> + </ul> + + <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Connect with others</h4> + <ul class="list-style-none mb-0"> + <li class="edge-item-fix"><a href="https://github.com/events" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Events">Events</a></li> + <li class="edge-item-fix"><a href="https://github.community" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Community forum">Community forum</a></li> + <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education</a></li> + </ul> + </div> + </details> + </li> + + <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3"> + <a href="/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a> + </li> + + <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> + <details class="HeaderMenu-details details-overlay details-reset width-full"> + <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> + Pricing + <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"> + <path d="M1,1l6.2,6L13,1"></path> + </svg> + </summary> + + <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-4 mt-0 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> + <a href="/pricing" class="pb-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a> + + <ul class="list-style-none mb-3"> + <li class="edge-item-fix"><a href="/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Compare plans">Compare plans</a></li> + <li class="edge-item-fix"><a href="https://enterprise.github.com/contact" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Contact Sales">Contact Sales</a></li> + </ul> + + <ul class="list-style-none mb-0 border-lg-top pt-lg-3"> + <li class="edge-item-fix"><a href="/nonprofit" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Nonprofits">Nonprofit <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> + <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li> + </ul> + </div> + </details> + </li> + </ul> + </nav> + + <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left"> + <div class="d-lg-flex mb-3 mb-lg-0"> + <div class="header-search flex-self-stretch flex-lg-self-auto mr-0 mr-lg-3 mb-3 mb-lg-0 scoped-search site-scoped-search js-site-search position-relative js-jump-to" + role="combobox" + aria-owns="jump-to-results" + aria-label="Search or jump to" + aria-haspopup="listbox" + aria-expanded="false" +> + <div class="position-relative"> + <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="138917611" data-scoped-search-url="/muxinc/mux-stats-sdk-avplayer/search" data-unscoped-search-url="/search" action="/muxinc/mux-stats-sdk-avplayer/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /> + <label class="form-control input-sm header-search-wrapper p-0 header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container"> + <input type="text" + class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" + data-hotkey="s,/" + name="q" + value="" + placeholder="Search" + data-unscoped-placeholder="Search GitHub" + data-scoped-placeholder="Search" + autocapitalize="off" + aria-autocomplete="list" + aria-controls="jump-to-results" + aria-label="Search" + data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations#csrf-token=+S4SPNMp1I/Sd5aTaYzTHYp0ISWDY0GupRDh0uxWaWfWyk28KZ51IvhM8WgxS65kbeQS66MDJan5uzFBu4ZAnw==" + spellcheck="false" + autocomplete="off" + > + <input type="hidden" class="js-site-search-type-field" name="type" > + <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash"> + + <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> + +<ul class="d-none js-jump-to-suggestions-template-container"> + + +<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> + <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> + <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> + <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> + <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> + <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> + </div> + + <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> + + <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> + </div> + + <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> + <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> + In this repository + </span> + <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> + All GitHub + </span> + <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> + </div> + + <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> + Jump to + <span class="d-inline-block ml-1 v-align-middle">↵</span> + </div> + </a> +</li> + +</ul> + +<ul class="d-none js-jump-to-no-results-template-container"> + <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> + <span class="text-gray">No suggested jump to results</span> + </li> +</ul> + +<ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> + + +<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> + <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> + <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> + <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> + <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> + <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> + </div> + + <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> + + <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> + </div> + + <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> + <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> + In this repository + </span> + <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> + All GitHub + </span> + <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> + </div> + + <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> + Jump to + <span class="d-inline-block ml-1 v-align-middle">↵</span> + </div> + </a> +</li> + + + +<li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> + <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> + <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> + <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> + <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> + <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> + </div> + + <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> + + <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> + </div> + + <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> + <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> + In this repository + </span> + <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> + All GitHub + </span> + <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> + </div> + + <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> + Jump to + <span class="d-inline-block ml-1 v-align-middle">↵</span> + </div> + </a> +</li> + + +</ul> + + </div> + </label> +</form> </div> +</div> + + </div> + + <a href="/login?return_to=%2Fmuxinc%2Fmux-stats-sdk-avplayer%2Fblob%2Fmaster%2FLICENSE" + class="HeaderMenu-link no-underline mr-3" + data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;F10E:40B6:ABFEA:106253:5D7C025F&quot;,&quot;originating_url&quot;:&quot;https://github.com/muxinc/mux-stats-sdk-avplayer/blob/master/LICENSE&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d7ba69df97300d5977b8b4e7197c3a2b6ce125dbd093d0dacd2a9bf8bcf60257" + data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in"> + Sign&nbsp;in + </a> + <a href="/join?source=header-repo" + class="HeaderMenu-link d-inline-block no-underline border border-gray-dark rounded-1 px-2 py-1" + data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;F10E:40B6:ABFEA:106253:5D7C025F&quot;,&quot;originating_url&quot;:&quot;https://github.com/muxinc/mux-stats-sdk-avplayer/blob/master/LICENSE&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="d7ba69df97300d5977b8b4e7197c3a2b6ce125dbd093d0dacd2a9bf8bcf60257" + data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up"> + Sign&nbsp;up + </a> + </div> + </div> + </div> +</header> + + </div> + + <div id="start-of-content" class="show-on-focus"></div> + + + <div id="js-flash-container"> + +</div> + + + + <div class="application-main " data-commit-hovercards-enabled> + <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> + <main > + + + + + + + + + + + + + + + + + <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav pt-0 pt-lg-4 "> + <div class="repohead-details-container clearfix container-lg p-responsive d-none d-lg-block"> + + <ul class="pagehead-actions"> + + + + + <li> + + <a class="tooltipped tooltipped-s btn btn-sm btn-with-count" aria-label="You must be signed in to watch a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;F10E:40B6:ABFEA:106253:5D7C025F&quot;,&quot;originating_url&quot;:&quot;https://github.com/muxinc/mux-stats-sdk-avplayer/blob/master/LICENSE&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="05a2b8b8f15b5f207f8592c20dfeebd2d73a60356b7fc7498b257b4748d791ba" href="/login?return_to=%2Fmuxinc%2Fmux-stats-sdk-avplayer"> + <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> + Watch +</a> <a class="social-count" href="/muxinc/mux-stats-sdk-avplayer/watchers" + aria-label="18 users are watching this repository"> + 18 + </a> + + </li> + + <li> + <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to star a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:138917611,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;F10E:40B6:ABFEA:106253:5D7C025F&quot;,&quot;originating_url&quot;:&quot;https://github.com/muxinc/mux-stats-sdk-avplayer/blob/master/LICENSE&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="b27291e074e47c8bf6e6c4680368352d81e40e894eea513f9f7e16705353342b" href="/login?return_to=%2Fmuxinc%2Fmux-stats-sdk-avplayer"> + <svg class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg> + Star +</a> + <a class="social-count js-social-count" href="/muxinc/mux-stats-sdk-avplayer/stargazers" + aria-label="3 users starred this repository"> + 3 + </a> + + </li> + + <li> + <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to fork a repository" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:138917611,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;F10E:40B6:ABFEA:106253:5D7C025F&quot;,&quot;originating_url&quot;:&quot;https://github.com/muxinc/mux-stats-sdk-avplayer/blob/master/LICENSE&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8e1913c18aaa7ccc7ea7afe5b3336c2457dbd719dfd35e62bf28a7b1a475c949" href="/login?return_to=%2Fmuxinc%2Fmux-stats-sdk-avplayer"> + <svg class="octicon octicon-repo-forked v-align-text-bottom" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> + Fork +</a> + <a href="/muxinc/mux-stats-sdk-avplayer/network/members" class="social-count" + aria-label="0 users forked this repository"> + 0 + </a> + </li> +</ul> + + <h1 class="public "> + <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> + <span class="author" itemprop="author"><a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/muxinc/hovercard" href="/muxinc">muxinc</a></span><!-- +--><span class="path-divider">/</span><!-- +--><strong itemprop="name"><a data-pjax="#js-repo-pjax-container" href="/muxinc/mux-stats-sdk-avplayer">mux-stats-sdk-avplayer</a></strong> + + +</h1> + + </div> + +<nav class="hx_reponav reponav js-repo-nav js-sidenav-container-pjax container-lg p-responsive d-none d-lg-block" + itemscope + itemtype="http://schema.org/BreadcrumbList" + aria-label="Repository" + data-pjax="#js-repo-pjax-container"> + + <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> + <a class="js-selected-navigation-item selected reponav-item" itemprop="url" data-hotkey="g c" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /muxinc/mux-stats-sdk-avplayer" href="/muxinc/mux-stats-sdk-avplayer"> + <svg class="octicon octicon-code" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg> + <span itemprop="name">Code</span> + <meta itemprop="position" content="1"> +</a> </span> + + <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> + <a itemprop="url" data-hotkey="g i" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /muxinc/mux-stats-sdk-avplayer/issues" href="/muxinc/mux-stats-sdk-avplayer/issues"> + <svg class="octicon octicon-issue-opened" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg> + <span itemprop="name">Issues</span> + <span class="Counter">2</span> + <meta itemprop="position" content="2"> +</a> </span> + + <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> + <a data-hotkey="g p" itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /muxinc/mux-stats-sdk-avplayer/pulls" href="/muxinc/mux-stats-sdk-avplayer/pulls"> + <svg class="octicon octicon-git-pull-request" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> + <span itemprop="name">Pull requests</span> + <span class="Counter">2</span> + <meta itemprop="position" content="3"> +</a> </span> + + + <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /muxinc/mux-stats-sdk-avplayer/projects" href="/muxinc/mux-stats-sdk-avplayer/projects"> + <svg class="octicon octicon-project" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> + Projects + <span class="Counter" >0</span> +</a> + + + <a data-skip-pjax="true" class="js-selected-navigation-item reponav-item" data-selected-links="security alerts policy code_scanning /muxinc/mux-stats-sdk-avplayer/security/advisories" href="/muxinc/mux-stats-sdk-avplayer/security/advisories"> + <svg class="octicon octicon-shield" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 2l7-2 7 2v6.02C14 12.69 8.69 16 7 16c-1.69 0-7-3.31-7-7.98V2zm1 .75L7 1l6 1.75v5.268C13 12.104 8.449 15 7 15c-1.449 0-6-2.896-6-6.982V2.75zm1 .75L7 2v12c-1.207 0-5-2.482-5-5.985V3.5z"/></svg> + Security +</a> + <a class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse people /muxinc/mux-stats-sdk-avplayer/pulse" href="/muxinc/mux-stats-sdk-avplayer/pulse"> + <svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg> + Insights +</a> + +</nav> + + <div class="reponav-wrapper reponav-small d-lg-none"> + <nav class="reponav js-reponav text-center no-wrap" + itemscope + itemtype="http://schema.org/BreadcrumbList"> + + <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> + <a class="js-selected-navigation-item selected reponav-item" itemprop="url" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /muxinc/mux-stats-sdk-avplayer" href="/muxinc/mux-stats-sdk-avplayer"> + <span itemprop="name">Code</span> + <meta itemprop="position" content="1"> +</a> </span> + + <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> + <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /muxinc/mux-stats-sdk-avplayer/issues" href="/muxinc/mux-stats-sdk-avplayer/issues"> + <span itemprop="name">Issues</span> + <span class="Counter">2</span> + <meta itemprop="position" content="2"> +</a> </span> + + <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> + <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /muxinc/mux-stats-sdk-avplayer/pulls" href="/muxinc/mux-stats-sdk-avplayer/pulls"> + <span itemprop="name">Pull requests</span> + <span class="Counter">2</span> + <meta itemprop="position" content="3"> +</a> </span> + + <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> + <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /muxinc/mux-stats-sdk-avplayer/projects" href="/muxinc/mux-stats-sdk-avplayer/projects"> + <span itemprop="name">Projects</span> + <span class="Counter">0</span> + <meta itemprop="position" content="4"> +</a> </span> + + + <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="security alerts policy code_scanning /muxinc/mux-stats-sdk-avplayer/security/advisories" href="/muxinc/mux-stats-sdk-avplayer/security/advisories"> + <span itemprop="name">Security</span> + <meta itemprop="position" content="6"> +</a> + <a class="js-selected-navigation-item reponav-item" data-selected-links="pulse /muxinc/mux-stats-sdk-avplayer/pulse" href="/muxinc/mux-stats-sdk-avplayer/pulse"> + Pulse +</a> + + </nav> +</div> + + + </div> +<div class="container-lg clearfix new-discussion-timeline experiment-repo-nav p-responsive"> + <div class="repository-content "> + + + + + + + + + <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/muxinc/mux-stats-sdk-avplayer/blob/9b4ed8d8030c17b114c41eddc9229bce34f4773a/LICENSE">Permalink</a> + + <!-- blob contrib key: blob_contributors:v21:6e34e7c9f2f59417acf8c9f74b2eca0d --> + <div class="signup-prompt-bg rounded-1"> + <div class="signup-prompt p-4 text-center mb-4 rounded-1"> + <div class="position-relative"> + <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/prompt_dismissals/signup" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="authenticity_token" value="aRP9RtDYmg1EjcQHVvocEPIPIkfyDDZZwXRXjUZbYO89A/EvykXg/mNP0R++rHoLxJ8FxY7pv8MLxcCQc8EUHA==" /> + <button type="submit" class="position-absolute top-0 right-0 btn-link link-gray" data-ga-click="(Logged out) Sign up prompt, clicked Dismiss, text:dismiss"> + Dismiss + </button> +</form> <h3 class="pt-2">Join GitHub today</h3> + <p class="col-6 mx-auto">GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.</p> + <a class="btn btn-primary" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;files signup prompt&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;client_id&quot;:null,&quot;originating_request_id&quot;:&quot;F10E:40B6:ABFEA:106253:5D7C025F&quot;,&quot;originating_url&quot;:&quot;https://github.com/muxinc/mux-stats-sdk-avplayer/blob/master/LICENSE&quot;,&quot;referrer&quot;:null,&quot;user_id&quot;:null}}" data-hydro-click-hmac="745aa87d157eed3afa0b863c565594ce077665922deb13ec4328ad353dd7b332" data-ga-click="(Logged out) Sign up prompt, clicked Sign up, text:sign-up" href="/join?source=prompt-blob-show">Sign up</a> + </div> + </div> + </div> + + + <div class="d-flex flex-items-start flex-shrink-0 pb-3 flex-column flex-md-row"> + <span class="d-flex flex-justify-between width-full width-md-auto"> + +<details class="details-reset details-overlay select-menu branch-select-menu hx_rsm" id="branch-select-menu"> + <summary class="btn btn-sm select-menu-button css-truncate" + data-hotkey="w" + title="Switch branches or tags"> + <i>Branch:</i> + <span class="css-truncate-target" data-menu-button>master</span> + </summary> + + <details-menu class="select-menu-modal hx_rsm-modal position-absolute" style="z-index: 99;" src="/muxinc/mux-stats-sdk-avplayer/ref-list/master/LICENSE?source_action=show&amp;source_controller=blob" preload> + <include-fragment class="select-menu-loading-overlay anim-pulse"> + <svg height="32" class="octicon octicon-octoface" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M14.7 5.34c.13-.32.55-1.59-.13-3.31 0 0-1.05-.33-3.44 1.3-1-.28-2.07-.32-3.13-.32s-2.13.04-3.13.32c-2.39-1.64-3.44-1.3-3.44-1.3-.68 1.72-.26 2.99-.13 3.31C.49 6.21 0 7.33 0 8.69 0 13.84 3.33 15 7.98 15S16 13.84 16 8.69c0-1.36-.49-2.48-1.3-3.35zM8 14.02c-3.3 0-5.98-.15-5.98-3.35 0-.76.38-1.48 1.02-2.07 1.07-.98 2.9-.46 4.96-.46 2.07 0 3.88-.52 4.96.46.65.59 1.02 1.3 1.02 2.07 0 3.19-2.68 3.35-5.98 3.35zM5.49 9.01c-.66 0-1.2.8-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.54-1.78-1.2-1.78zm5.02 0c-.66 0-1.2.79-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.53-1.78-1.2-1.78z"/></svg> + </include-fragment> + </details-menu> +</details> + + <div class="BtnGroup flex-shrink-0 d-md-none"> + <a href="/muxinc/mux-stats-sdk-avplayer/find/master" + class="js-pjax-capture-input btn btn-sm BtnGroup-item" + data-pjax + data-hotkey="t"> + Find file + </a> + <clipboard-copy value="LICENSE" class="btn btn-sm BtnGroup-item"> + Copy path + </clipboard-copy> + </div> + </span> + <h2 id="blob-path" class="breadcrumb flex-auto min-width-0 text-normal flex-md-self-center ml-md-2 mr-md-3 my-2 my-md-0"> + <span class="js-repo-root text-bold"><span class="js-path-segment"><a data-pjax="true" href="/muxinc/mux-stats-sdk-avplayer"><span>mux-stats-sdk-avplayer</span></a></span></span><span class="separator">/</span><strong class="final-path">LICENSE</strong> + </h2> + + <div class="BtnGroup flex-shrink-0 d-none d-md-inline-block"> + <a href="/muxinc/mux-stats-sdk-avplayer/find/master" + class="js-pjax-capture-input btn btn-sm BtnGroup-item" + data-pjax + data-hotkey="t"> + Find file + </a> + <clipboard-copy value="LICENSE" class="btn btn-sm BtnGroup-item"> + Copy path + </clipboard-copy> + </div> + </div> + + <div class="Box mb-3 clearfix"> + <div class="d-flex flex-column flex-md-row"> + <div class="p-3 col-md-6"> + <svg height="32" class="octicon octicon-law license-summary-octicon float-left mr-2" viewBox="0 0 14 16" version="1.1" width="28" aria-hidden="true"><path fill-rule="evenodd" d="M7 4c-.83 0-1.5-.67-1.5-1.5S6.17 1 7 1s1.5.67 1.5 1.5S7.83 4 7 4zm7 6c0 1.11-.89 2-2 2h-1c-1.11 0-2-.89-2-2l2-4h-1c-.55 0-1-.45-1-1H8v8c.42 0 1 .45 1 1h1c.42 0 1 .45 1 1H3c0-.55.58-1 1-1h1c0-.55.58-1 1-1h.03L6 5H5c0 .55-.45 1-1 1H3l2 4c0 1.11-.89 2-2 2H2c-1.11 0-2-.89-2-2l2-4H1V5h3c0-.55.45-1 1-1h4c.55 0 1 .45 1 1h3v1h-1l2 4zM2.5 7L1 10h3L2.5 7zM13 10l-1.5-3-1.5 3h3z"/></svg> + <p class="text-small text-gray mb-0 lh-condensed-ultra"> + muxinc/mux-stats-sdk-avplayer is licensed under the + </p> + <h3 class="mt-0 mb-2 h4">Apache License 2.0</h3> + <p class="mb-0 text-gray text-small pr-2">A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.</p> + </div> + + <div class="d-flex px-3 col-md-6 flex-column flex-sm-row pb-sm-3"> + <div class="pb-3 col-sm-4 pt-md-2"> + <h4 class="mt-1 mb-2 h5">Permissions</h4> + <ul class="list-style-none"> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-check rule-type-permissions ml-n3 v-align-middle" viewBox="0 0 12 16" version="1.1" height="17" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> + <span class="v-align-middle" title="This software and derivatives may be used for commercial purposes."> + Commercial use + </span> + </li> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-check rule-type-permissions ml-n3 v-align-middle" viewBox="0 0 12 16" version="1.1" height="17" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> + <span class="v-align-middle" title="This software may be modified."> + Modification + </span> + </li> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-check rule-type-permissions ml-n3 v-align-middle" viewBox="0 0 12 16" version="1.1" height="17" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> + <span class="v-align-middle" title="This software may be distributed."> + Distribution + </span> + </li> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-check rule-type-permissions ml-n3 v-align-middle" viewBox="0 0 12 16" version="1.1" height="17" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> + <span class="v-align-middle" title="This license provides an express grant of patent rights from contributors."> + Patent use + </span> + </li> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-check rule-type-permissions ml-n3 v-align-middle" viewBox="0 0 12 16" version="1.1" height="17" aria-hidden="true"><path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z"/></svg> + <span class="v-align-middle" title="This software may be used and modified in private."> + Private use + </span> + </li> + </ul> + </div> + <div class="pb-3 col-sm-4 pt-md-2"> + <h4 class="mt-1 mb-2 h5">Limitations</h4> + <ul class="list-style-none"> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-x rule-type-limitations ml-n3 v-align-middle" viewBox="0 0 12 16" version="1.1" height="17" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> + <span class="v-align-middle" title="This license explicitly states that it does NOT grant trademark rights, even though licenses without such a statement probably do not grant any implicit trademark rights."> + Trademark use + </span> + </li> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-x rule-type-limitations ml-n3 v-align-middle" viewBox="0 0 12 16" version="1.1" height="17" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> + <span class="v-align-middle" title="This license includes a limitation of liability."> + Liability + </span> + </li> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-x rule-type-limitations ml-n3 v-align-middle" viewBox="0 0 12 16" version="1.1" height="17" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> + <span class="v-align-middle" title="The license explicitly states that it does NOT provide any warranty."> + Warranty + </span> + </li> + </ul> + </div> + <div class="pb-3 col-sm-4 pt-md-2"> + <h4 class="mt-1 mb-2 h5">Conditions</h4> + <ul class="list-style-none"> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-info rule-type-conditions ml-n3 v-align-middle" viewBox="0 0 14 16" version="1.1" height="14" aria-hidden="true"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg> + <span class="v-align-middle" title="A copy of the license and copyright notice must be included with the software."> + License and copyright notice + </span> + </li> + <li class="text-small pl-3"> + <svg width="13" class="octicon octicon-info rule-type-conditions ml-n3 v-align-middle" viewBox="0 0 14 16" version="1.1" height="14" aria-hidden="true"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"/></svg> + <span class="v-align-middle" title="Changes made to the code must be documented."> + State changes + </span> + </li> + </ul> + </div> + </div> + </div> + <p class="text-gray text-small mb-0 border-top col-12 float-left p-2 px-sm-3"> + This is not legal advice. + <a href="https://help.github.com/articles/licensing-a-repository/#disclaimer">Learn more about repository licenses</a>. + </p> +</div> + + + + + <div class="Box Box--condensed d-flex flex-column flex-shrink-0"> + <div class="Box-body d-flex flex-justify-between bg-blue-light flex-column flex-md-row flex-items-start flex-md-items-center"> + <span class="pr-md-4 f6"> + <a rel="contributor" data-skip-pjax="true" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=37314602" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/wtao-mux"><img class="avatar" src="https://avatars0.githubusercontent.com/u/37314602?s=40&amp;v=4" width="20" height="20" alt="@wtao-mux" /></a> + <a class="text-bold link-gray-dark lh-default v-align-middle" rel="contributor" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=37314602" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/wtao-mux">wtao-mux</a> + <span class="lh-default v-align-middle"> + <a data-pjax="true" title="License and pod spec" class="link-gray" href="/muxinc/mux-stats-sdk-avplayer/commit/d120af1792b67e9291e461adf6a81e3b0bba8110">License and pod spec</a> + </span> + </span> + <span class="d-inline-block flex-shrink-0 v-align-bottom f6 mt-2 mt-md-0"> + <a class="pr-2 text-mono link-gray" href="/muxinc/mux-stats-sdk-avplayer/commit/d120af1792b67e9291e461adf6a81e3b0bba8110" data-pjax>d120af1</a> + <relative-time datetime="2018-06-28T20:07:47Z">Jun 28, 2018</relative-time> + </span> + </div> + + <div class="Box-body d-flex flex-items-center flex-auto f6 border-bottom-0 flex-wrap" > + <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark float-left mr-2" id="blob_contributors_box"> + <summary class="btn-link"> + <span><strong>1</strong> contributor</span> + </summary> + <details-dialog + class="Box Box--overlay d-flex flex-column anim-fade-in fast" + aria-label="Users who have contributed to this file" + src="/muxinc/mux-stats-sdk-avplayer/contributors/master/LICENSE/list" preload> + <div class="Box-header"> + <button class="Box-btn-octicon btn-octicon float-right" type="button" aria-label="Close dialog" data-close-dialog> + <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> + </button> + <h3 class="Box-title"> + Users who have contributed to this file + </h3> + </div> + <include-fragment class="octocat-spinner my-3" aria-label="Loading..."></include-fragment> + </details-dialog> + </details> + </div> + </div> + + + + + + <div class="Box mt-3 position-relative"> + +<div class="Box-header py-2 d-flex flex-column flex-shrink-0 flex-md-row flex-md-items-center"> + + <div class="text-mono f6 flex-auto pr-3 flex-order-2 flex-md-order-1 mt-2 mt-md-0"> + 202 lines (169 sloc) + <span class="file-info-divider"></span> + 11.1 KB + </div> + + <div class="d-flex py-1 py-md-0 flex-auto flex-order-1 flex-md-order-2 flex-sm-grow-0 flex-justify-between"> + + <div class="BtnGroup"> + <a id="raw-url" class="btn btn-sm BtnGroup-item" href="/muxinc/mux-stats-sdk-avplayer/raw/master/LICENSE">Raw</a> + <a class="btn btn-sm js-update-url-with-hash BtnGroup-item" data-hotkey="b" href="/muxinc/mux-stats-sdk-avplayer/blame/master/LICENSE">Blame</a> + <a rel="nofollow" class="btn btn-sm BtnGroup-item" href="/muxinc/mux-stats-sdk-avplayer/commits/master/LICENSE">History</a> + </div> + + + <div> + + <button type="button" class="btn-octicon disabled tooltipped tooltipped-nw" + aria-label="You must be signed in to make or propose changes"> + <svg class="octicon octicon-pencil" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 12v3h3l8-8-3-3-8 8zm3 2H1v-2h1v1h1v1zm10.3-9.3L12 6 9 3l1.3-1.3a.996.996 0 0 1 1.41 0l1.59 1.59c.39.39.39 1.02 0 1.41z"/></svg> + </button> + <button type="button" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw" + aria-label="You must be signed in to make or propose changes"> + <svg class="octicon octicon-trashcan" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 2H9c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1H2c-.55 0-1 .45-1 1v1c0 .55.45 1 1 1v9c0 .55.45 1 1 1h7c.55 0 1-.45 1-1V5c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm-1 12H3V5h1v8h1V5h1v8h1V5h1v8h1V5h1v9zm1-10H2V3h9v1z"/></svg> + </button> + </div> + </div> +</div> + + + + + + + <div itemprop="text" class="Box-body p-0 blob-wrapper data type-text "> + +<table class="highlight tab-size js-file-line-container" data-tab-size="8"> + <tr> + <td id="L1" class="blob-num js-line-number" data-line-number="1"></td> + <td id="LC1" class="blob-code blob-code-inner js-file-line"> Apache License</td> + </tr> + <tr> + <td id="L2" class="blob-num js-line-number" data-line-number="2"></td> + <td id="LC2" class="blob-code blob-code-inner js-file-line"> Version 2.0, January 2004</td> + </tr> + <tr> + <td id="L3" class="blob-num js-line-number" data-line-number="3"></td> + <td id="LC3" class="blob-code blob-code-inner js-file-line"> http://www.apache.org/licenses/</td> + </tr> + <tr> + <td id="L4" class="blob-num js-line-number" data-line-number="4"></td> + <td id="LC4" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L5" class="blob-num js-line-number" data-line-number="5"></td> + <td id="LC5" class="blob-code blob-code-inner js-file-line"> TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION</td> + </tr> + <tr> + <td id="L6" class="blob-num js-line-number" data-line-number="6"></td> + <td id="LC6" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L7" class="blob-num js-line-number" data-line-number="7"></td> + <td id="LC7" class="blob-code blob-code-inner js-file-line"> 1. Definitions.</td> + </tr> + <tr> + <td id="L8" class="blob-num js-line-number" data-line-number="8"></td> + <td id="LC8" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L9" class="blob-num js-line-number" data-line-number="9"></td> + <td id="LC9" class="blob-code blob-code-inner js-file-line"> &quot;License&quot; shall mean the terms and conditions for use, reproduction,</td> + </tr> + <tr> + <td id="L10" class="blob-num js-line-number" data-line-number="10"></td> + <td id="LC10" class="blob-code blob-code-inner js-file-line"> and distribution as defined by Sections 1 through 9 of this document.</td> + </tr> + <tr> + <td id="L11" class="blob-num js-line-number" data-line-number="11"></td> + <td id="LC11" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L12" class="blob-num js-line-number" data-line-number="12"></td> + <td id="LC12" class="blob-code blob-code-inner js-file-line"> &quot;Licensor&quot; shall mean the copyright owner or entity authorized by</td> + </tr> + <tr> + <td id="L13" class="blob-num js-line-number" data-line-number="13"></td> + <td id="LC13" class="blob-code blob-code-inner js-file-line"> the copyright owner that is granting the License.</td> + </tr> + <tr> + <td id="L14" class="blob-num js-line-number" data-line-number="14"></td> + <td id="LC14" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L15" class="blob-num js-line-number" data-line-number="15"></td> + <td id="LC15" class="blob-code blob-code-inner js-file-line"> &quot;Legal Entity&quot; shall mean the union of the acting entity and all</td> + </tr> + <tr> + <td id="L16" class="blob-num js-line-number" data-line-number="16"></td> + <td id="LC16" class="blob-code blob-code-inner js-file-line"> other entities that control, are controlled by, or are under common</td> + </tr> + <tr> + <td id="L17" class="blob-num js-line-number" data-line-number="17"></td> + <td id="LC17" class="blob-code blob-code-inner js-file-line"> control with that entity. For the purposes of this definition,</td> + </tr> + <tr> + <td id="L18" class="blob-num js-line-number" data-line-number="18"></td> + <td id="LC18" class="blob-code blob-code-inner js-file-line"> &quot;control&quot; means (i) the power, direct or indirect, to cause the</td> + </tr> + <tr> + <td id="L19" class="blob-num js-line-number" data-line-number="19"></td> + <td id="LC19" class="blob-code blob-code-inner js-file-line"> direction or management of such entity, whether by contract or</td> + </tr> + <tr> + <td id="L20" class="blob-num js-line-number" data-line-number="20"></td> + <td id="LC20" class="blob-code blob-code-inner js-file-line"> otherwise, or (ii) ownership of fifty percent (50%) or more of the</td> + </tr> + <tr> + <td id="L21" class="blob-num js-line-number" data-line-number="21"></td> + <td id="LC21" class="blob-code blob-code-inner js-file-line"> outstanding shares, or (iii) beneficial ownership of such entity.</td> + </tr> + <tr> + <td id="L22" class="blob-num js-line-number" data-line-number="22"></td> + <td id="LC22" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L23" class="blob-num js-line-number" data-line-number="23"></td> + <td id="LC23" class="blob-code blob-code-inner js-file-line"> &quot;You&quot; (or &quot;Your&quot;) shall mean an individual or Legal Entity</td> + </tr> + <tr> + <td id="L24" class="blob-num js-line-number" data-line-number="24"></td> + <td id="LC24" class="blob-code blob-code-inner js-file-line"> exercising permissions granted by this License.</td> + </tr> + <tr> + <td id="L25" class="blob-num js-line-number" data-line-number="25"></td> + <td id="LC25" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L26" class="blob-num js-line-number" data-line-number="26"></td> + <td id="LC26" class="blob-code blob-code-inner js-file-line"> &quot;Source&quot; form shall mean the preferred form for making modifications,</td> + </tr> + <tr> + <td id="L27" class="blob-num js-line-number" data-line-number="27"></td> + <td id="LC27" class="blob-code blob-code-inner js-file-line"> including but not limited to software source code, documentation</td> + </tr> + <tr> + <td id="L28" class="blob-num js-line-number" data-line-number="28"></td> + <td id="LC28" class="blob-code blob-code-inner js-file-line"> source, and configuration files.</td> + </tr> + <tr> + <td id="L29" class="blob-num js-line-number" data-line-number="29"></td> + <td id="LC29" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L30" class="blob-num js-line-number" data-line-number="30"></td> + <td id="LC30" class="blob-code blob-code-inner js-file-line"> &quot;Object&quot; form shall mean any form resulting from mechanical</td> + </tr> + <tr> + <td id="L31" class="blob-num js-line-number" data-line-number="31"></td> + <td id="LC31" class="blob-code blob-code-inner js-file-line"> transformation or translation of a Source form, including but</td> + </tr> + <tr> + <td id="L32" class="blob-num js-line-number" data-line-number="32"></td> + <td id="LC32" class="blob-code blob-code-inner js-file-line"> not limited to compiled object code, generated documentation,</td> + </tr> + <tr> + <td id="L33" class="blob-num js-line-number" data-line-number="33"></td> + <td id="LC33" class="blob-code blob-code-inner js-file-line"> and conversions to other media types.</td> + </tr> + <tr> + <td id="L34" class="blob-num js-line-number" data-line-number="34"></td> + <td id="LC34" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L35" class="blob-num js-line-number" data-line-number="35"></td> + <td id="LC35" class="blob-code blob-code-inner js-file-line"> &quot;Work&quot; shall mean the work of authorship, whether in Source or</td> + </tr> + <tr> + <td id="L36" class="blob-num js-line-number" data-line-number="36"></td> + <td id="LC36" class="blob-code blob-code-inner js-file-line"> Object form, made available under the License, as indicated by a</td> + </tr> + <tr> + <td id="L37" class="blob-num js-line-number" data-line-number="37"></td> + <td id="LC37" class="blob-code blob-code-inner js-file-line"> copyright notice that is included in or attached to the work</td> + </tr> + <tr> + <td id="L38" class="blob-num js-line-number" data-line-number="38"></td> + <td id="LC38" class="blob-code blob-code-inner js-file-line"> (an example is provided in the Appendix below).</td> + </tr> + <tr> + <td id="L39" class="blob-num js-line-number" data-line-number="39"></td> + <td id="LC39" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L40" class="blob-num js-line-number" data-line-number="40"></td> + <td id="LC40" class="blob-code blob-code-inner js-file-line"> &quot;Derivative Works&quot; shall mean any work, whether in Source or Object</td> + </tr> + <tr> + <td id="L41" class="blob-num js-line-number" data-line-number="41"></td> + <td id="LC41" class="blob-code blob-code-inner js-file-line"> form, that is based on (or derived from) the Work and for which the</td> + </tr> + <tr> + <td id="L42" class="blob-num js-line-number" data-line-number="42"></td> + <td id="LC42" class="blob-code blob-code-inner js-file-line"> editorial revisions, annotations, elaborations, or other modifications</td> + </tr> + <tr> + <td id="L43" class="blob-num js-line-number" data-line-number="43"></td> + <td id="LC43" class="blob-code blob-code-inner js-file-line"> represent, as a whole, an original work of authorship. For the purposes</td> + </tr> + <tr> + <td id="L44" class="blob-num js-line-number" data-line-number="44"></td> + <td id="LC44" class="blob-code blob-code-inner js-file-line"> of this License, Derivative Works shall not include works that remain</td> + </tr> + <tr> + <td id="L45" class="blob-num js-line-number" data-line-number="45"></td> + <td id="LC45" class="blob-code blob-code-inner js-file-line"> separable from, or merely link (or bind by name) to the interfaces of,</td> + </tr> + <tr> + <td id="L46" class="blob-num js-line-number" data-line-number="46"></td> + <td id="LC46" class="blob-code blob-code-inner js-file-line"> the Work and Derivative Works thereof.</td> + </tr> + <tr> + <td id="L47" class="blob-num js-line-number" data-line-number="47"></td> + <td id="LC47" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L48" class="blob-num js-line-number" data-line-number="48"></td> + <td id="LC48" class="blob-code blob-code-inner js-file-line"> &quot;Contribution&quot; shall mean any work of authorship, including</td> + </tr> + <tr> + <td id="L49" class="blob-num js-line-number" data-line-number="49"></td> + <td id="LC49" class="blob-code blob-code-inner js-file-line"> the original version of the Work and any modifications or additions</td> + </tr> + <tr> + <td id="L50" class="blob-num js-line-number" data-line-number="50"></td> + <td id="LC50" class="blob-code blob-code-inner js-file-line"> to that Work or Derivative Works thereof, that is intentionally</td> + </tr> + <tr> + <td id="L51" class="blob-num js-line-number" data-line-number="51"></td> + <td id="LC51" class="blob-code blob-code-inner js-file-line"> submitted to Licensor for inclusion in the Work by the copyright owner</td> + </tr> + <tr> + <td id="L52" class="blob-num js-line-number" data-line-number="52"></td> + <td id="LC52" class="blob-code blob-code-inner js-file-line"> or by an individual or Legal Entity authorized to submit on behalf of</td> + </tr> + <tr> + <td id="L53" class="blob-num js-line-number" data-line-number="53"></td> + <td id="LC53" class="blob-code blob-code-inner js-file-line"> the copyright owner. For the purposes of this definition, &quot;submitted&quot;</td> + </tr> + <tr> + <td id="L54" class="blob-num js-line-number" data-line-number="54"></td> + <td id="LC54" class="blob-code blob-code-inner js-file-line"> means any form of electronic, verbal, or written communication sent</td> + </tr> + <tr> + <td id="L55" class="blob-num js-line-number" data-line-number="55"></td> + <td id="LC55" class="blob-code blob-code-inner js-file-line"> to the Licensor or its representatives, including but not limited to</td> + </tr> + <tr> + <td id="L56" class="blob-num js-line-number" data-line-number="56"></td> + <td id="LC56" class="blob-code blob-code-inner js-file-line"> communication on electronic mailing lists, source code control systems,</td> + </tr> + <tr> + <td id="L57" class="blob-num js-line-number" data-line-number="57"></td> + <td id="LC57" class="blob-code blob-code-inner js-file-line"> and issue tracking systems that are managed by, or on behalf of, the</td> + </tr> + <tr> + <td id="L58" class="blob-num js-line-number" data-line-number="58"></td> + <td id="LC58" class="blob-code blob-code-inner js-file-line"> Licensor for the purpose of discussing and improving the Work, but</td> + </tr> + <tr> + <td id="L59" class="blob-num js-line-number" data-line-number="59"></td> + <td id="LC59" class="blob-code blob-code-inner js-file-line"> excluding communication that is conspicuously marked or otherwise</td> + </tr> + <tr> + <td id="L60" class="blob-num js-line-number" data-line-number="60"></td> + <td id="LC60" class="blob-code blob-code-inner js-file-line"> designated in writing by the copyright owner as &quot;Not a Contribution.&quot;</td> + </tr> + <tr> + <td id="L61" class="blob-num js-line-number" data-line-number="61"></td> + <td id="LC61" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L62" class="blob-num js-line-number" data-line-number="62"></td> + <td id="LC62" class="blob-code blob-code-inner js-file-line"> &quot;Contributor&quot; shall mean Licensor and any individual or Legal Entity</td> + </tr> + <tr> + <td id="L63" class="blob-num js-line-number" data-line-number="63"></td> + <td id="LC63" class="blob-code blob-code-inner js-file-line"> on behalf of whom a Contribution has been received by Licensor and</td> + </tr> + <tr> + <td id="L64" class="blob-num js-line-number" data-line-number="64"></td> + <td id="LC64" class="blob-code blob-code-inner js-file-line"> subsequently incorporated within the Work.</td> + </tr> + <tr> + <td id="L65" class="blob-num js-line-number" data-line-number="65"></td> + <td id="LC65" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L66" class="blob-num js-line-number" data-line-number="66"></td> + <td id="LC66" class="blob-code blob-code-inner js-file-line"> 2. Grant of Copyright License. Subject to the terms and conditions of</td> + </tr> + <tr> + <td id="L67" class="blob-num js-line-number" data-line-number="67"></td> + <td id="LC67" class="blob-code blob-code-inner js-file-line"> this License, each Contributor hereby grants to You a perpetual,</td> + </tr> + <tr> + <td id="L68" class="blob-num js-line-number" data-line-number="68"></td> + <td id="LC68" class="blob-code blob-code-inner js-file-line"> worldwide, non-exclusive, no-charge, royalty-free, irrevocable</td> + </tr> + <tr> + <td id="L69" class="blob-num js-line-number" data-line-number="69"></td> + <td id="LC69" class="blob-code blob-code-inner js-file-line"> copyright license to reproduce, prepare Derivative Works of,</td> + </tr> + <tr> + <td id="L70" class="blob-num js-line-number" data-line-number="70"></td> + <td id="LC70" class="blob-code blob-code-inner js-file-line"> publicly display, publicly perform, sublicense, and distribute the</td> + </tr> + <tr> + <td id="L71" class="blob-num js-line-number" data-line-number="71"></td> + <td id="LC71" class="blob-code blob-code-inner js-file-line"> Work and such Derivative Works in Source or Object form.</td> + </tr> + <tr> + <td id="L72" class="blob-num js-line-number" data-line-number="72"></td> + <td id="LC72" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L73" class="blob-num js-line-number" data-line-number="73"></td> + <td id="LC73" class="blob-code blob-code-inner js-file-line"> 3. Grant of Patent License. Subject to the terms and conditions of</td> + </tr> + <tr> + <td id="L74" class="blob-num js-line-number" data-line-number="74"></td> + <td id="LC74" class="blob-code blob-code-inner js-file-line"> this License, each Contributor hereby grants to You a perpetual,</td> + </tr> + <tr> + <td id="L75" class="blob-num js-line-number" data-line-number="75"></td> + <td id="LC75" class="blob-code blob-code-inner js-file-line"> worldwide, non-exclusive, no-charge, royalty-free, irrevocable</td> + </tr> + <tr> + <td id="L76" class="blob-num js-line-number" data-line-number="76"></td> + <td id="LC76" class="blob-code blob-code-inner js-file-line"> (except as stated in this section) patent license to make, have made,</td> + </tr> + <tr> + <td id="L77" class="blob-num js-line-number" data-line-number="77"></td> + <td id="LC77" class="blob-code blob-code-inner js-file-line"> use, offer to sell, sell, import, and otherwise transfer the Work,</td> + </tr> + <tr> + <td id="L78" class="blob-num js-line-number" data-line-number="78"></td> + <td id="LC78" class="blob-code blob-code-inner js-file-line"> where such license applies only to those patent claims licensable</td> + </tr> + <tr> + <td id="L79" class="blob-num js-line-number" data-line-number="79"></td> + <td id="LC79" class="blob-code blob-code-inner js-file-line"> by such Contributor that are necessarily infringed by their</td> + </tr> + <tr> + <td id="L80" class="blob-num js-line-number" data-line-number="80"></td> + <td id="LC80" class="blob-code blob-code-inner js-file-line"> Contribution(s) alone or by combination of their Contribution(s)</td> + </tr> + <tr> + <td id="L81" class="blob-num js-line-number" data-line-number="81"></td> + <td id="LC81" class="blob-code blob-code-inner js-file-line"> with the Work to which such Contribution(s) was submitted. If You</td> + </tr> + <tr> + <td id="L82" class="blob-num js-line-number" data-line-number="82"></td> + <td id="LC82" class="blob-code blob-code-inner js-file-line"> institute patent litigation against any entity (including a</td> + </tr> + <tr> + <td id="L83" class="blob-num js-line-number" data-line-number="83"></td> + <td id="LC83" class="blob-code blob-code-inner js-file-line"> cross-claim or counterclaim in a lawsuit) alleging that the Work</td> + </tr> + <tr> + <td id="L84" class="blob-num js-line-number" data-line-number="84"></td> + <td id="LC84" class="blob-code blob-code-inner js-file-line"> or a Contribution incorporated within the Work constitutes direct</td> + </tr> + <tr> + <td id="L85" class="blob-num js-line-number" data-line-number="85"></td> + <td id="LC85" class="blob-code blob-code-inner js-file-line"> or contributory patent infringement, then any patent licenses</td> + </tr> + <tr> + <td id="L86" class="blob-num js-line-number" data-line-number="86"></td> + <td id="LC86" class="blob-code blob-code-inner js-file-line"> granted to You under this License for that Work shall terminate</td> + </tr> + <tr> + <td id="L87" class="blob-num js-line-number" data-line-number="87"></td> + <td id="LC87" class="blob-code blob-code-inner js-file-line"> as of the date such litigation is filed.</td> + </tr> + <tr> + <td id="L88" class="blob-num js-line-number" data-line-number="88"></td> + <td id="LC88" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L89" class="blob-num js-line-number" data-line-number="89"></td> + <td id="LC89" class="blob-code blob-code-inner js-file-line"> 4. Redistribution. You may reproduce and distribute copies of the</td> + </tr> + <tr> + <td id="L90" class="blob-num js-line-number" data-line-number="90"></td> + <td id="LC90" class="blob-code blob-code-inner js-file-line"> Work or Derivative Works thereof in any medium, with or without</td> + </tr> + <tr> + <td id="L91" class="blob-num js-line-number" data-line-number="91"></td> + <td id="LC91" class="blob-code blob-code-inner js-file-line"> modifications, and in Source or Object form, provided that You</td> + </tr> + <tr> + <td id="L92" class="blob-num js-line-number" data-line-number="92"></td> + <td id="LC92" class="blob-code blob-code-inner js-file-line"> meet the following conditions:</td> + </tr> + <tr> + <td id="L93" class="blob-num js-line-number" data-line-number="93"></td> + <td id="LC93" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L94" class="blob-num js-line-number" data-line-number="94"></td> + <td id="LC94" class="blob-code blob-code-inner js-file-line"> (a) You must give any other recipients of the Work or</td> + </tr> + <tr> + <td id="L95" class="blob-num js-line-number" data-line-number="95"></td> + <td id="LC95" class="blob-code blob-code-inner js-file-line"> Derivative Works a copy of this License; and</td> + </tr> + <tr> + <td id="L96" class="blob-num js-line-number" data-line-number="96"></td> + <td id="LC96" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L97" class="blob-num js-line-number" data-line-number="97"></td> + <td id="LC97" class="blob-code blob-code-inner js-file-line"> (b) You must cause any modified files to carry prominent notices</td> + </tr> + <tr> + <td id="L98" class="blob-num js-line-number" data-line-number="98"></td> + <td id="LC98" class="blob-code blob-code-inner js-file-line"> stating that You changed the files; and</td> + </tr> + <tr> + <td id="L99" class="blob-num js-line-number" data-line-number="99"></td> + <td id="LC99" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L100" class="blob-num js-line-number" data-line-number="100"></td> + <td id="LC100" class="blob-code blob-code-inner js-file-line"> (c) You must retain, in the Source form of any Derivative Works</td> + </tr> + <tr> + <td id="L101" class="blob-num js-line-number" data-line-number="101"></td> + <td id="LC101" class="blob-code blob-code-inner js-file-line"> that You distribute, all copyright, patent, trademark, and</td> + </tr> + <tr> + <td id="L102" class="blob-num js-line-number" data-line-number="102"></td> + <td id="LC102" class="blob-code blob-code-inner js-file-line"> attribution notices from the Source form of the Work,</td> + </tr> + <tr> + <td id="L103" class="blob-num js-line-number" data-line-number="103"></td> + <td id="LC103" class="blob-code blob-code-inner js-file-line"> excluding those notices that do not pertain to any part of</td> + </tr> + <tr> + <td id="L104" class="blob-num js-line-number" data-line-number="104"></td> + <td id="LC104" class="blob-code blob-code-inner js-file-line"> the Derivative Works; and</td> + </tr> + <tr> + <td id="L105" class="blob-num js-line-number" data-line-number="105"></td> + <td id="LC105" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L106" class="blob-num js-line-number" data-line-number="106"></td> + <td id="LC106" class="blob-code blob-code-inner js-file-line"> (d) If the Work includes a &quot;NOTICE&quot; text file as part of its</td> + </tr> + <tr> + <td id="L107" class="blob-num js-line-number" data-line-number="107"></td> + <td id="LC107" class="blob-code blob-code-inner js-file-line"> distribution, then any Derivative Works that You distribute must</td> + </tr> + <tr> + <td id="L108" class="blob-num js-line-number" data-line-number="108"></td> + <td id="LC108" class="blob-code blob-code-inner js-file-line"> include a readable copy of the attribution notices contained</td> + </tr> + <tr> + <td id="L109" class="blob-num js-line-number" data-line-number="109"></td> + <td id="LC109" class="blob-code blob-code-inner js-file-line"> within such NOTICE file, excluding those notices that do not</td> + </tr> + <tr> + <td id="L110" class="blob-num js-line-number" data-line-number="110"></td> + <td id="LC110" class="blob-code blob-code-inner js-file-line"> pertain to any part of the Derivative Works, in at least one</td> + </tr> + <tr> + <td id="L111" class="blob-num js-line-number" data-line-number="111"></td> + <td id="LC111" class="blob-code blob-code-inner js-file-line"> of the following places: within a NOTICE text file distributed</td> + </tr> + <tr> + <td id="L112" class="blob-num js-line-number" data-line-number="112"></td> + <td id="LC112" class="blob-code blob-code-inner js-file-line"> as part of the Derivative Works; within the Source form or</td> + </tr> + <tr> + <td id="L113" class="blob-num js-line-number" data-line-number="113"></td> + <td id="LC113" class="blob-code blob-code-inner js-file-line"> documentation, if provided along with the Derivative Works; or,</td> + </tr> + <tr> + <td id="L114" class="blob-num js-line-number" data-line-number="114"></td> + <td id="LC114" class="blob-code blob-code-inner js-file-line"> within a display generated by the Derivative Works, if and</td> + </tr> + <tr> + <td id="L115" class="blob-num js-line-number" data-line-number="115"></td> + <td id="LC115" class="blob-code blob-code-inner js-file-line"> wherever such third-party notices normally appear. The contents</td> + </tr> + <tr> + <td id="L116" class="blob-num js-line-number" data-line-number="116"></td> + <td id="LC116" class="blob-code blob-code-inner js-file-line"> of the NOTICE file are for informational purposes only and</td> + </tr> + <tr> + <td id="L117" class="blob-num js-line-number" data-line-number="117"></td> + <td id="LC117" class="blob-code blob-code-inner js-file-line"> do not modify the License. You may add Your own attribution</td> + </tr> + <tr> + <td id="L118" class="blob-num js-line-number" data-line-number="118"></td> + <td id="LC118" class="blob-code blob-code-inner js-file-line"> notices within Derivative Works that You distribute, alongside</td> + </tr> + <tr> + <td id="L119" class="blob-num js-line-number" data-line-number="119"></td> + <td id="LC119" class="blob-code blob-code-inner js-file-line"> or as an addendum to the NOTICE text from the Work, provided</td> + </tr> + <tr> + <td id="L120" class="blob-num js-line-number" data-line-number="120"></td> + <td id="LC120" class="blob-code blob-code-inner js-file-line"> that such additional attribution notices cannot be construed</td> + </tr> + <tr> + <td id="L121" class="blob-num js-line-number" data-line-number="121"></td> + <td id="LC121" class="blob-code blob-code-inner js-file-line"> as modifying the License.</td> + </tr> + <tr> + <td id="L122" class="blob-num js-line-number" data-line-number="122"></td> + <td id="LC122" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L123" class="blob-num js-line-number" data-line-number="123"></td> + <td id="LC123" class="blob-code blob-code-inner js-file-line"> You may add Your own copyright statement to Your modifications and</td> + </tr> + <tr> + <td id="L124" class="blob-num js-line-number" data-line-number="124"></td> + <td id="LC124" class="blob-code blob-code-inner js-file-line"> may provide additional or different license terms and conditions</td> + </tr> + <tr> + <td id="L125" class="blob-num js-line-number" data-line-number="125"></td> + <td id="LC125" class="blob-code blob-code-inner js-file-line"> for use, reproduction, or distribution of Your modifications, or</td> + </tr> + <tr> + <td id="L126" class="blob-num js-line-number" data-line-number="126"></td> + <td id="LC126" class="blob-code blob-code-inner js-file-line"> for any such Derivative Works as a whole, provided Your use,</td> + </tr> + <tr> + <td id="L127" class="blob-num js-line-number" data-line-number="127"></td> + <td id="LC127" class="blob-code blob-code-inner js-file-line"> reproduction, and distribution of the Work otherwise complies with</td> + </tr> + <tr> + <td id="L128" class="blob-num js-line-number" data-line-number="128"></td> + <td id="LC128" class="blob-code blob-code-inner js-file-line"> the conditions stated in this License.</td> + </tr> + <tr> + <td id="L129" class="blob-num js-line-number" data-line-number="129"></td> + <td id="LC129" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L130" class="blob-num js-line-number" data-line-number="130"></td> + <td id="LC130" class="blob-code blob-code-inner js-file-line"> 5. Submission of Contributions. Unless You explicitly state otherwise,</td> + </tr> + <tr> + <td id="L131" class="blob-num js-line-number" data-line-number="131"></td> + <td id="LC131" class="blob-code blob-code-inner js-file-line"> any Contribution intentionally submitted for inclusion in the Work</td> + </tr> + <tr> + <td id="L132" class="blob-num js-line-number" data-line-number="132"></td> + <td id="LC132" class="blob-code blob-code-inner js-file-line"> by You to the Licensor shall be under the terms and conditions of</td> + </tr> + <tr> + <td id="L133" class="blob-num js-line-number" data-line-number="133"></td> + <td id="LC133" class="blob-code blob-code-inner js-file-line"> this License, without any additional terms or conditions.</td> + </tr> + <tr> + <td id="L134" class="blob-num js-line-number" data-line-number="134"></td> + <td id="LC134" class="blob-code blob-code-inner js-file-line"> Notwithstanding the above, nothing herein shall supersede or modify</td> + </tr> + <tr> + <td id="L135" class="blob-num js-line-number" data-line-number="135"></td> + <td id="LC135" class="blob-code blob-code-inner js-file-line"> the terms of any separate license agreement you may have executed</td> + </tr> + <tr> + <td id="L136" class="blob-num js-line-number" data-line-number="136"></td> + <td id="LC136" class="blob-code blob-code-inner js-file-line"> with Licensor regarding such Contributions.</td> + </tr> + <tr> + <td id="L137" class="blob-num js-line-number" data-line-number="137"></td> + <td id="LC137" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L138" class="blob-num js-line-number" data-line-number="138"></td> + <td id="LC138" class="blob-code blob-code-inner js-file-line"> 6. Trademarks. This License does not grant permission to use the trade</td> + </tr> + <tr> + <td id="L139" class="blob-num js-line-number" data-line-number="139"></td> + <td id="LC139" class="blob-code blob-code-inner js-file-line"> names, trademarks, service marks, or product names of the Licensor,</td> + </tr> + <tr> + <td id="L140" class="blob-num js-line-number" data-line-number="140"></td> + <td id="LC140" class="blob-code blob-code-inner js-file-line"> except as required for reasonable and customary use in describing the</td> + </tr> + <tr> + <td id="L141" class="blob-num js-line-number" data-line-number="141"></td> + <td id="LC141" class="blob-code blob-code-inner js-file-line"> origin of the Work and reproducing the content of the NOTICE file.</td> + </tr> + <tr> + <td id="L142" class="blob-num js-line-number" data-line-number="142"></td> + <td id="LC142" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L143" class="blob-num js-line-number" data-line-number="143"></td> + <td id="LC143" class="blob-code blob-code-inner js-file-line"> 7. Disclaimer of Warranty. Unless required by applicable law or</td> + </tr> + <tr> + <td id="L144" class="blob-num js-line-number" data-line-number="144"></td> + <td id="LC144" class="blob-code blob-code-inner js-file-line"> agreed to in writing, Licensor provides the Work (and each</td> + </tr> + <tr> + <td id="L145" class="blob-num js-line-number" data-line-number="145"></td> + <td id="LC145" class="blob-code blob-code-inner js-file-line"> Contributor provides its Contributions) on an &quot;AS IS&quot; BASIS,</td> + </tr> + <tr> + <td id="L146" class="blob-num js-line-number" data-line-number="146"></td> + <td id="LC146" class="blob-code blob-code-inner js-file-line"> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or</td> + </tr> + <tr> + <td id="L147" class="blob-num js-line-number" data-line-number="147"></td> + <td id="LC147" class="blob-code blob-code-inner js-file-line"> implied, including, without limitation, any warranties or conditions</td> + </tr> + <tr> + <td id="L148" class="blob-num js-line-number" data-line-number="148"></td> + <td id="LC148" class="blob-code blob-code-inner js-file-line"> of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A</td> + </tr> + <tr> + <td id="L149" class="blob-num js-line-number" data-line-number="149"></td> + <td id="LC149" class="blob-code blob-code-inner js-file-line"> PARTICULAR PURPOSE. You are solely responsible for determining the</td> + </tr> + <tr> + <td id="L150" class="blob-num js-line-number" data-line-number="150"></td> + <td id="LC150" class="blob-code blob-code-inner js-file-line"> appropriateness of using or redistributing the Work and assume any</td> + </tr> + <tr> + <td id="L151" class="blob-num js-line-number" data-line-number="151"></td> + <td id="LC151" class="blob-code blob-code-inner js-file-line"> risks associated with Your exercise of permissions under this License.</td> + </tr> + <tr> + <td id="L152" class="blob-num js-line-number" data-line-number="152"></td> + <td id="LC152" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L153" class="blob-num js-line-number" data-line-number="153"></td> + <td id="LC153" class="blob-code blob-code-inner js-file-line"> 8. Limitation of Liability. In no event and under no legal theory,</td> + </tr> + <tr> + <td id="L154" class="blob-num js-line-number" data-line-number="154"></td> + <td id="LC154" class="blob-code blob-code-inner js-file-line"> whether in tort (including negligence), contract, or otherwise,</td> + </tr> + <tr> + <td id="L155" class="blob-num js-line-number" data-line-number="155"></td> + <td id="LC155" class="blob-code blob-code-inner js-file-line"> unless required by applicable law (such as deliberate and grossly</td> + </tr> + <tr> + <td id="L156" class="blob-num js-line-number" data-line-number="156"></td> + <td id="LC156" class="blob-code blob-code-inner js-file-line"> negligent acts) or agreed to in writing, shall any Contributor be</td> + </tr> + <tr> + <td id="L157" class="blob-num js-line-number" data-line-number="157"></td> + <td id="LC157" class="blob-code blob-code-inner js-file-line"> liable to You for damages, including any direct, indirect, special,</td> + </tr> + <tr> + <td id="L158" class="blob-num js-line-number" data-line-number="158"></td> + <td id="LC158" class="blob-code blob-code-inner js-file-line"> incidental, or consequential damages of any character arising as a</td> + </tr> + <tr> + <td id="L159" class="blob-num js-line-number" data-line-number="159"></td> + <td id="LC159" class="blob-code blob-code-inner js-file-line"> result of this License or out of the use or inability to use the</td> + </tr> + <tr> + <td id="L160" class="blob-num js-line-number" data-line-number="160"></td> + <td id="LC160" class="blob-code blob-code-inner js-file-line"> Work (including but not limited to damages for loss of goodwill,</td> + </tr> + <tr> + <td id="L161" class="blob-num js-line-number" data-line-number="161"></td> + <td id="LC161" class="blob-code blob-code-inner js-file-line"> work stoppage, computer failure or malfunction, or any and all</td> + </tr> + <tr> + <td id="L162" class="blob-num js-line-number" data-line-number="162"></td> + <td id="LC162" class="blob-code blob-code-inner js-file-line"> other commercial damages or losses), even if such Contributor</td> + </tr> + <tr> + <td id="L163" class="blob-num js-line-number" data-line-number="163"></td> + <td id="LC163" class="blob-code blob-code-inner js-file-line"> has been advised of the possibility of such damages.</td> + </tr> + <tr> + <td id="L164" class="blob-num js-line-number" data-line-number="164"></td> + <td id="LC164" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L165" class="blob-num js-line-number" data-line-number="165"></td> + <td id="LC165" class="blob-code blob-code-inner js-file-line"> 9. Accepting Warranty or Additional Liability. While redistributing</td> + </tr> + <tr> + <td id="L166" class="blob-num js-line-number" data-line-number="166"></td> + <td id="LC166" class="blob-code blob-code-inner js-file-line"> the Work or Derivative Works thereof, You may choose to offer,</td> + </tr> + <tr> + <td id="L167" class="blob-num js-line-number" data-line-number="167"></td> + <td id="LC167" class="blob-code blob-code-inner js-file-line"> and charge a fee for, acceptance of support, warranty, indemnity,</td> + </tr> + <tr> + <td id="L168" class="blob-num js-line-number" data-line-number="168"></td> + <td id="LC168" class="blob-code blob-code-inner js-file-line"> or other liability obligations and/or rights consistent with this</td> + </tr> + <tr> + <td id="L169" class="blob-num js-line-number" data-line-number="169"></td> + <td id="LC169" class="blob-code blob-code-inner js-file-line"> License. However, in accepting such obligations, You may act only</td> + </tr> + <tr> + <td id="L170" class="blob-num js-line-number" data-line-number="170"></td> + <td id="LC170" class="blob-code blob-code-inner js-file-line"> on Your own behalf and on Your sole responsibility, not on behalf</td> + </tr> + <tr> + <td id="L171" class="blob-num js-line-number" data-line-number="171"></td> + <td id="LC171" class="blob-code blob-code-inner js-file-line"> of any other Contributor, and only if You agree to indemnify,</td> + </tr> + <tr> + <td id="L172" class="blob-num js-line-number" data-line-number="172"></td> + <td id="LC172" class="blob-code blob-code-inner js-file-line"> defend, and hold each Contributor harmless for any liability</td> + </tr> + <tr> + <td id="L173" class="blob-num js-line-number" data-line-number="173"></td> + <td id="LC173" class="blob-code blob-code-inner js-file-line"> incurred by, or claims asserted against, such Contributor by reason</td> + </tr> + <tr> + <td id="L174" class="blob-num js-line-number" data-line-number="174"></td> + <td id="LC174" class="blob-code blob-code-inner js-file-line"> of your accepting any such warranty or additional liability.</td> + </tr> + <tr> + <td id="L175" class="blob-num js-line-number" data-line-number="175"></td> + <td id="LC175" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L176" class="blob-num js-line-number" data-line-number="176"></td> + <td id="LC176" class="blob-code blob-code-inner js-file-line"> END OF TERMS AND CONDITIONS</td> + </tr> + <tr> + <td id="L177" class="blob-num js-line-number" data-line-number="177"></td> + <td id="LC177" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L178" class="blob-num js-line-number" data-line-number="178"></td> + <td id="LC178" class="blob-code blob-code-inner js-file-line"> APPENDIX: How to apply the Apache License to your work.</td> + </tr> + <tr> + <td id="L179" class="blob-num js-line-number" data-line-number="179"></td> + <td id="LC179" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L180" class="blob-num js-line-number" data-line-number="180"></td> + <td id="LC180" class="blob-code blob-code-inner js-file-line"> To apply the Apache License to your work, attach the following</td> + </tr> + <tr> + <td id="L181" class="blob-num js-line-number" data-line-number="181"></td> + <td id="LC181" class="blob-code blob-code-inner js-file-line"> boilerplate notice, with the fields enclosed by brackets &quot;{}&quot;</td> + </tr> + <tr> + <td id="L182" class="blob-num js-line-number" data-line-number="182"></td> + <td id="LC182" class="blob-code blob-code-inner js-file-line"> replaced with your own identifying information. (Don&#39;t include</td> + </tr> + <tr> + <td id="L183" class="blob-num js-line-number" data-line-number="183"></td> + <td id="LC183" class="blob-code blob-code-inner js-file-line"> the brackets!) The text should be enclosed in the appropriate</td> + </tr> + <tr> + <td id="L184" class="blob-num js-line-number" data-line-number="184"></td> + <td id="LC184" class="blob-code blob-code-inner js-file-line"> comment syntax for the file format. We also recommend that a</td> + </tr> + <tr> + <td id="L185" class="blob-num js-line-number" data-line-number="185"></td> + <td id="LC185" class="blob-code blob-code-inner js-file-line"> file or class name and description of purpose be included on the</td> + </tr> + <tr> + <td id="L186" class="blob-num js-line-number" data-line-number="186"></td> + <td id="LC186" class="blob-code blob-code-inner js-file-line"> same &quot;printed page&quot; as the copyright notice for easier</td> + </tr> + <tr> + <td id="L187" class="blob-num js-line-number" data-line-number="187"></td> + <td id="LC187" class="blob-code blob-code-inner js-file-line"> identification within third-party archives.</td> + </tr> + <tr> + <td id="L188" class="blob-num js-line-number" data-line-number="188"></td> + <td id="LC188" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L189" class="blob-num js-line-number" data-line-number="189"></td> + <td id="LC189" class="blob-code blob-code-inner js-file-line"> Copyright 2017 Mux, Inc.</td> + </tr> + <tr> + <td id="L190" class="blob-num js-line-number" data-line-number="190"></td> + <td id="LC190" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L191" class="blob-num js-line-number" data-line-number="191"></td> + <td id="LC191" class="blob-code blob-code-inner js-file-line"> Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</td> + </tr> + <tr> + <td id="L192" class="blob-num js-line-number" data-line-number="192"></td> + <td id="LC192" class="blob-code blob-code-inner js-file-line"> you may not use this file except in compliance with the License.</td> + </tr> + <tr> + <td id="L193" class="blob-num js-line-number" data-line-number="193"></td> + <td id="LC193" class="blob-code blob-code-inner js-file-line"> You may obtain a copy of the License at</td> + </tr> + <tr> + <td id="L194" class="blob-num js-line-number" data-line-number="194"></td> + <td id="LC194" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L195" class="blob-num js-line-number" data-line-number="195"></td> + <td id="LC195" class="blob-code blob-code-inner js-file-line"> http://www.apache.org/licenses/LICENSE-2.0</td> + </tr> + <tr> + <td id="L196" class="blob-num js-line-number" data-line-number="196"></td> + <td id="LC196" class="blob-code blob-code-inner js-file-line"> +</td> + </tr> + <tr> + <td id="L197" class="blob-num js-line-number" data-line-number="197"></td> + <td id="LC197" class="blob-code blob-code-inner js-file-line"> Unless required by applicable law or agreed to in writing, software</td> + </tr> + <tr> + <td id="L198" class="blob-num js-line-number" data-line-number="198"></td> + <td id="LC198" class="blob-code blob-code-inner js-file-line"> distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</td> + </tr> + <tr> + <td id="L199" class="blob-num js-line-number" data-line-number="199"></td> + <td id="LC199" class="blob-code blob-code-inner js-file-line"> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</td> + </tr> + <tr> + <td id="L200" class="blob-num js-line-number" data-line-number="200"></td> + <td id="LC200" class="blob-code blob-code-inner js-file-line"> See the License for the specific language governing permissions and</td> + </tr> + <tr> + <td id="L201" class="blob-num js-line-number" data-line-number="201"></td> + <td id="LC201" class="blob-code blob-code-inner js-file-line"> limitations under the License.</td> + </tr> +</table> + + <details class="details-reset details-overlay BlobToolbar position-absolute js-file-line-actions dropdown d-none" aria-hidden="true"> + <summary class="btn-octicon ml-0 px-2 p-0 bg-white border border-gray-dark rounded-1" aria-label="Inline file action toolbar"> + <svg class="octicon octicon-kebab-horizontal" viewBox="0 0 13 16" version="1.1" width="13" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm5 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM13 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/></svg> + </summary> + <details-menu> + <ul class="BlobToolbar-dropdown dropdown-menu dropdown-menu-se mt-2" style="width:185px"> + <li> + <clipboard-copy role="menuitem" class="js-clipboard-copy dropdown-item" id="js-copy-lines" style="cursor:pointer;"> + Copy lines + </clipboard-copy> + </li> + <li> + <clipboard-copy role="menuitem" class="js-clipboard-copy dropdown-item" id="js-copy-permalink" style="cursor:pointer;"> + Copy permalink + </clipboard-copy> + </li> + <li><a class="dropdown-item js-update-url-with-hash" id="js-view-git-blame" role="menuitem" href="/muxinc/mux-stats-sdk-avplayer/blame/9b4ed8d8030c17b114c41eddc9229bce34f4773a/LICENSE">View git blame</a></li> + <li><a class="dropdown-item" id="js-new-issue" role="menuitem" href="/muxinc/mux-stats-sdk-avplayer/issues/new">Reference in new issue</a></li> + </ul> + </details-menu> + </details> + + </div> + + </div> + + + + <details class="details-reset details-overlay details-overlay-dark"> + <summary data-hotkey="l" aria-label="Jump to line"></summary> + <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast linejump" aria-label="Jump to line"> + <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form Box-body d-flex" action="" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" /> + <input class="form-control flex-auto mr-3 linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line&hellip;" aria-label="Jump to line" autofocus> + <button type="submit" class="btn" data-close-dialog>Go</button> +</form> </details-dialog> + </details> + + + + </div> +</div> + + </main> + </div> + + + </div> + + +<div class="footer container-lg width-full p-responsive" role="contentinfo"> + <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light "> + <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0"> + <li class="mr-3 mr-lg-0">&copy; 2019 <span title="0.24913s from unicorn-57f7887d6-878bd">GitHub</span>, Inc.</li> + <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li> + <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li> + <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to security, text:security" href="https://github.com/security">Security</a></li> + <li class="mr-3 mr-lg-0"><a href="https://githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li> + <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li> + </ul> + + <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com"> + <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg> +</a> + <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0"> + <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li> + <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li> + <li class="mr-3 mr-lg-0"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li> + <li class="mr-3 mr-lg-0"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li> + <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> + <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> + + </ul> + </div> + <div class="d-flex flex-justify-center pb-6"> + <span class="f6 text-gray-light"></span> + </div> +</div> + + + + <div id="ajax-error-message" class="ajax-error-message flash flash-error"> + <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> + <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> + <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> + </button> + You can’t perform that action at this time. + </div> + + + <script crossorigin="anonymous" integrity="sha512-Je7fGgEmtunQFlDhJ4O7EE3BBWaEECwcV5pgJ8575J90IEjwOq7RK6kdhlH4K1hyH4KbKfGH7ev+TRn3jKtf5Q==" type="application/javascript" src="https://github.githubassets.com/assets/compat-bootstrap-009a5e0b.js"></script> + <script crossorigin="anonymous" integrity="sha512-7IJHSrvXvWr5puvXmrxCLxfuih7c1IbI3Ys7nFbCrryuFiIaqHghDUaKB7dH90DWMbfIbyvR5lnXmjmQQjKgBw==" type="application/javascript" src="https://github.githubassets.com/assets/frameworks-32fdce0f.js"></script> + + <script crossorigin="anonymous" async="async" integrity="sha512-o5TkSLVFxkaI4Q9ZJkX8cXfjQgQSdLe5+QwKs4dfHmtyWFfK3fwnuCTJ6siQXCWbhVc8P37hiEZDhxX0nGa8xg==" type="application/javascript" src="https://github.githubassets.com/assets/github-bootstrap-2118d366.js"></script> + + + + <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner" hidden + > + <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> + <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> + <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> + </div> + <template id="site-details-dialog"> + <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark hx_rsm" open> + <summary role="button" aria-label="Close dialog"></summary> + <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> + <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> + <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> + </button> + <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> + </details-dialog> + </details> +</template> + + <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> + <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;"> + </div> +</div> + + <div aria-live="polite" class="js-global-screen-reader-notice sr-only"></div> + + </body> +</html> + + + License + Apache 2.0 + Title + Mux-Stats-Google-IMA + Type + PSGroupSpecifier + + + FooterText + Copyright 2023 Google, Inc. All rights reserved. + + License + Copyright + Title + GoogleAds-IMA-tvOS-SDK + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - https://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-dummy.m b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-dummy.m new file mode 100644 index 0000000..bc2ea8d --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_MUXSDKIMATVOSExample : NSObject +@end +@implementation PodsDummy_Pods_MUXSDKIMATVOSExample +@end diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-frameworks.sh b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-frameworks.sh new file mode 100755 index 0000000..e5daa96 --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-frameworks.sh @@ -0,0 +1,192 @@ +#!/bin/sh +set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi + +echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" +SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +BCSYMBOLMAP_DIR="BCSymbolMaps" + + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework +install_framework() +{ + if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then + local source="${BUILT_PRODUCTS_DIR}/$1" + elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then + local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" + elif [ -r "$1" ]; then + local source="$1" + fi + + local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + + if [ -L "${source}" ]; then + echo "Symlinked..." + source="$(readlink -f "${source}")" + fi + + if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then + # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied + find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do + echo "Installing $f" + install_bcsymbolmap "$f" "$destination" + rm "$f" + done + rmdir "${source}/${BCSYMBOLMAP_DIR}" + fi + + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + + local basename + basename="$(basename -s .framework "$1")" + binary="${destination}/${basename}.framework/${basename}" + + if ! [ -r "$binary" ]; then + binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" + fi + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then + strip_invalid_archs "$binary" + fi + + # Resign the code if required by the build settings to avoid unstable apps + code_sign_if_enabled "${destination}/$(basename "$1")" + + # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. + if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then + local swift_runtime_libs + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) + for lib in $swift_runtime_libs; do + echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" + rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" + code_sign_if_enabled "${destination}/${lib}" + done + fi +} +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + warn_missing_arch=${2:-true} + if [ -r "$source" ]; then + # Copy the dSYM into the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" + + # Strip invalid architectures from the dSYM. + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" + fi + if [[ $STRIP_BINARY_RETVAL == 0 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + mkdir -p "${DWARF_DSYM_FOLDER_PATH}" + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" + fi + fi +} + +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# Strip invalid architectures +strip_invalid_archs() { + binary="$1" + warn_missing_arch=${2:-true} + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi + STRIP_BINARY_RETVAL=1 + return + fi + stripped="" + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$binary" "$binary" + stripped="$stripped $arch" + fi + done + if [[ "$stripped" ]]; then + echo "Stripped $binary of architectures:$stripped" + fi + STRIP_BINARY_RETVAL=0 +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + +# Signs a framework with the provided identity +code_sign_if_enabled() { + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" + fi +} + +if [[ "$CONFIGURATION" == "Debug" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-tvOS/Mux_Stats_Google_IMA.framework" + install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer/MUXSDKStats.framework" + install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework" + install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.framework" +fi +if [[ "$CONFIGURATION" == "Release" ]]; then + install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-tvOS/Mux_Stats_Google_IMA.framework" + install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer/MUXSDKStats.framework" + install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework" + install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK/GoogleInteractiveMediaAds.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait +fi diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-umbrella.h b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-umbrella.h new file mode 100644 index 0000000..c60a85d --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample-umbrella.h @@ -0,0 +1,16 @@ +#ifdef __OBJC__ +#import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif +#endif + + +FOUNDATION_EXPORT double Pods_MUXSDKIMATVOSExampleVersionNumber; +FOUNDATION_EXPORT const unsigned char Pods_MUXSDKIMATVOSExampleVersionString[]; + diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.debug.xcconfig b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.debug.xcconfig new file mode 100644 index 0000000..56db70b --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.debug.xcconfig @@ -0,0 +1,13 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-tvOS" "${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-tvOS/Mux_Stats_Google_IMA.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "GoogleInteractiveMediaAds" -framework "JavaScriptCore" -framework "MUXSDKStats" -framework "MuxCore" -framework "Mux_Stats_Google_IMA" -framework "QuartzCore" -framework "SystemConfiguration" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.modulemap b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.modulemap new file mode 100644 index 0000000..75a5b7f --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.modulemap @@ -0,0 +1,6 @@ +framework module Pods_MUXSDKIMATVOSExample { + umbrella header "Pods-MUXSDKIMATVOSExample-umbrella.h" + + export * + module * { export * } +} diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.release.xcconfig b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.release.xcconfig new file mode 100644 index 0000000..56db70b --- /dev/null +++ b/Example/Pods/Target Support Files/Pods-MUXSDKIMATVOSExample/Pods-MUXSDKIMATVOSExample.release.xcconfig @@ -0,0 +1,13 @@ +CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO +EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-tvOS" "${PODS_ROOT}/GoogleAds-IMA-tvOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-tvOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-tvOS/Mux_Stats_Google_IMA.framework/Headers" +LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' +OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "GoogleInteractiveMediaAds" -framework "JavaScriptCore" -framework "MUXSDKStats" -framework "MuxCore" -framework "Mux_Stats_Google_IMA" -framework "QuartzCore" -framework "SystemConfiguration" -framework "UIKit" +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. +PODS_ROOT = ${SRCROOT}/Pods +PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-frameworks.sh index ac829f4..c189bde 100755 --- a/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests-frameworks.sh @@ -41,7 +41,7 @@ install_framework() if [ -L "${source}" ]; then echo "Symlinked..." - source="$(readlink "${source}")" + source="$(readlink -f "${source}")" fi if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then @@ -176,7 +176,7 @@ code_sign_if_enabled() { } if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework" install_framework "${BUILT_PRODUCTS_DIR}/Expecta/Expecta.framework" install_framework "${BUILT_PRODUCTS_DIR}/Specta/Specta.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework" @@ -184,7 +184,7 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core/MuxCore.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework" install_framework "${BUILT_PRODUCTS_DIR}/Expecta/Expecta.framework" install_framework "${BUILT_PRODUCTS_DIR}/Specta/Specta.framework" install_framework "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds.framework" diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.debug.xcconfig index a4e1670..d80397e 100644 --- a/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.debug.xcconfig @@ -1,8 +1,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/Expecta" "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA" "${PODS_CONFIGURATION_BUILD_DIR}/Specta" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/Expecta" "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/Specta" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Expecta/Expecta.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Specta/Specta.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Expecta/Expecta.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Specta/Specta.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "Expecta" -framework "Foundation" -framework "GoogleInteractiveMediaAds" -framework "MUXSDKStats" -framework "MessageUI" -framework "MuxCore" -framework "Mux_Stats_Google_IMA" -framework "QuartzCore" -framework "Specta" -framework "SystemConfiguration" -framework "UIKit" -framework "XCTest" -weak_framework "WebKit" PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.release.xcconfig index a4e1670..d80397e 100644 --- a/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-MUXSDKImaListener_Tests/Pods-MUXSDKImaListener_Tests.release.xcconfig @@ -1,8 +1,8 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/Expecta" "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA" "${PODS_CONFIGURATION_BUILD_DIR}/Specta" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" +FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" "${PODS_CONFIGURATION_BUILD_DIR}/Expecta" "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS" "${PODS_CONFIGURATION_BUILD_DIR}/Specta" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK" "${PODS_ROOT}/Mux-Stats-AVPlayer/XCFramework" "${PODS_ROOT}/Mux-Stats-Core/XCFramework" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAds-IMA-iOS-SDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-AVPlayer" "${PODS_XCFRAMEWORKS_BUILD_DIR}/Mux-Stats-Core" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Expecta/Expecta.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA/Mux_Stats_Google_IMA.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Specta/Specta.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Expecta/Expecta.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Mux-Stats-Google-IMA-iOS/Mux_Stats_Google_IMA.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Specta/Specta.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' OTHER_LDFLAGS = $(inherited) -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AudioToolbox" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreMedia" -framework "Expecta" -framework "Foundation" -framework "GoogleInteractiveMediaAds" -framework "MUXSDKStats" -framework "MessageUI" -framework "MuxCore" -framework "Mux_Stats_Google_IMA" -framework "QuartzCore" -framework "Specta" -framework "SystemConfiguration" -framework "UIKit" -framework "XCTest" -weak_framework "WebKit" PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Mux-Stats-Google-IMA.podspec b/Mux-Stats-Google-IMA.podspec index a5004cc..8b212ad 100644 --- a/Mux-Stats-Google-IMA.podspec +++ b/Mux-Stats-Google-IMA.podspec @@ -33,7 +33,7 @@ Pod::Spec.new do |s| s.tvos.dependency 'GoogleAds-IMA-tvOS-SDK', '~> 4.6' s.tvos.source_files = 'MUXSDKImaListener/Classes/**/*' - s.pod_target_xcconfig = { + s.pod_target_xcconfig = { 'EXCLUDED_ARCHS[sdk=appletvsimulator*]' => 'arm64' } s.user_target_xcconfig = { diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..9657f40 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,25 @@ +{ + "object": { + "pins": [ + { + "package": "MUXSDKStats", + "repositoryURL": "https://github.com/muxinc/mux-stats-sdk-avplayer.git", + "state": { + "branch": null, + "revision": "8db87f260052cbf9da2142c26f2839002f8d3a28", + "version": "3.3.0" + } + }, + { + "package": "MuxCore", + "repositoryURL": "https://github.com/muxinc/stats-sdk-objc.git", + "state": { + "branch": null, + "revision": "9e430931d3ef0a2e4607acf953aebe2b0b21c285", + "version": "4.5.1" + } + } + ] + }, + "version": 1 +}