// // LunchViewController.swift // MusicPlayer // // Created by Mr.Zhou on 2024/3/27. // import UIKit ///启动页 class MP_LunchViewController: UIViewController { @IBOutlet weak var progressView: MP_Lunch_ProgressView!{ didSet{ progressView.layer.masksToBounds = true } } //帧计时器 private var timer:CADisplayLink! //最大计时值 private lazy var maxTimes:TimeInterval = 6 //当前计时值 private lazy var currentTimes:TimeInterval = 0 //计时器结束事件 private var completionBlock:(() -> Void)? override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = .init(hex: "#000000") timer = CADisplayLink(target: self, selector: #selector(timerActionClick(_ :))) //一秒执行多少次 timer.preferredFramesPerSecond = 20 //开辟线程 timer.add(to: RunLoop.current, forMode: .common) //获取idfa _ = requestTrackingAuthorization(self) // MP_AnalyticsManager.shared.getOpenStatus { [weak self] open in // guard let self = self else {return} // if open { // //根据ip值确定进入那个页面 // MP_NetWorkManager.shared.requestIPInfo { statu in // if statu == true { // //允许进入b面 // print("BLog") // self.completionBlock = { // DispatchQueue.main.async { // [weak self] in // guard let self = self else {return} // //停止计时器 // timer.isPaused = true // //加载完毕,判断并跳转 // accessAppdelegate.switch_positive() // } // } // }else { // print("ALog") // //打开A面 // self.completionBlock = { // DispatchQueue.main.async { // [weak self] in // guard let self = self else {return} // //停止计时器 // timer.isPaused = true // //加载完毕,判断并跳转 // accessAppdelegate.switch_aSide() // } // } // } // } // }else { // print("ALog") // //打开A面 // completionBlock = { // DispatchQueue.main.async { // [weak self] in // guard let self = self else {return} // //停止计时器 // timer.isPaused = true // //加载完毕,判断并跳转 // accessAppdelegate.switch_aSide() // } // } // } // } //启动计时器 timer.isPaused = false self.completionBlock = { DispatchQueue.main.async { [weak self] in guard let self = self else {return} //停止计时器 timer.isPaused = true //加载完毕,判断并跳转 accessAppdelegate.switch_positive() //获取首页 MPPositive_BrowseLoadViewModel.shared.reloadBrowseLists() } } } deinit { //销毁计时器 timer.invalidate() timer = nil NotificationCenter.default.removeObserver(self) } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) MP_AnalyticsManager.shared.launch_pvAction() } //计时器执行事件 @objc fileprivate func timerActionClick(_ link:CADisplayLink) { if maxTimes > currentTimes { //未加载完 currentTimes += 0.05 let value = currentTimes/maxTimes DispatchQueue.main.async { [weak self] in guard let self = self else {return} //设置进度条 progressView.setProgress(value) } }else { if completionBlock != nil { completionBlock!() } } } }