123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- //
- // TSLaunchVC.swift
- // TSLiveWallpaper
- //
- // Created by 100Years on 2024/12/20.
- //
- import Alamofire
- import UIKit
- class TSLaunchVC: UIViewController {
- var dismissHandler: (() -> Void)?
- // 定时器
- private var timer: DispatchSourceTimer?
- // 闪屏页剩余显示时长
- #if DEBUG
- private var remindTimeInterval: TimeInterval = 2.0
- #else
- private var remindTimeInterval: TimeInterval = 2.0
- #endif
- override func viewDidLoad() {
- super.viewDidLoad()
- setupLaunchScreenView()
- addNotifiy()
-
- // if AppDelegate.isFirstInstallApp() {//首次安装需要等待网络权限弹窗
- // startTimer()
- // }else if TSDBHistory.isMigrationUserDefaultsHistory{ //迁移UserDefaultsHistory数据到数据库
- // TSDBHistory.migrationUserDefaultsHistory {
- // self.enterApp()
- // }
- // }else {
- // self.enterApp()
- // }
-
- if AppDelegate.isFirstInstallApp() {//首次安装需要等待网络权限弹窗
- startTimer()
- }else if TSDBHistory.isMigrationUserDefaultsHistory{ //迁移UserDefaultsHistory数据到数据库
- TSDBHistory.migrationUserDefaultsHistory { [weak self] in
- guard let self = self else { return }
- remindTimeInterval = 1.0
- startTimer()
- }
- }else {
- remindTimeInterval = 1.0
- startTimer()
- }
- }
- func addNotifiy() {
- TSNetworkTool.shared.startListenNetStatus { status, manager in
- switch status {
- case .reachable:
- manager?.stopListening()
- break
- default:
- break
- }
-
- PurchaseManager.default.requestProducts()
- }
- }
- func enterApp() {
-
- dismissHandler?()
-
- // AppDelegate.showEveryDayPopPurchase { vc in
- // if let vc = vc {
- //// self.navigationController?.pushViewController(vc, animated: true)
- // self.present(vc, animated: true)
- // }else{
- // self.dismissHandler?()
- // }
- // }
-
- // DispatchQueue.main.async {
- // self.dismissHandler?()
- // }
- }
-
- private func startTimer() {
- if timer == nil {
-
- var maxTime:Int = 0 //200*10=2s 200 *10*3 =6s
- timer = DispatchSource.makeTimerSource(queue: DispatchQueue.global())
- timer?.schedule(deadline: .now(), repeating: .milliseconds(200))
- timer?.setEventHandler(handler: { [weak self] in
- // App活跃时,计时有效;如网络授权弹窗唤起时,计时失效
- DispatchQueue.main.async {
- guard let self = self else {
- return
- }
-
- guard UIApplication.shared.applicationState == .active
- else {
- dePrint("倒计时:!= active")
- maxTime += 1
- if maxTime > 30 {
- dePrint("超过最大倒计时进入 app")
- self.timer?.cancel()
- self.timer = nil
- self.enterApp()
- }
-
- return
- }
-
- self.remindTimeInterval -= 0.2
- dePrint("倒计时:\(self.remindTimeInterval)")
- if self.remindTimeInterval <= 0 {
- self.timer?.cancel()
- self.timer = nil
- self.enterApp()
- }
- }
- })
- timer?.resume()
- }else{
- self.enterApp()
- }
- }
-
-
- // private func setupLaunchScreenView() {
- // // 获取 LaunchScreen.storyboard 的视图控制器
- // let storyboard = UIStoryboard(name: "LaunchScreen", bundle: nil)
- // guard let launchVC = storyboard.instantiateInitialViewController() else {
- // debugPrint("无法加载 LaunchScreen 的初始视图控制器")
- // return
- // }
- //
- // // 获取 LaunchScreen 的视图
- // guard let launchView = launchVC.view else {
- // debugPrint("无法获取 LaunchScreen 的视图")
- // return
- // }
- //
- // // 设置 launchView 的 frame 为当前视图的 bounds
- // launchView.frame = UIScreen.main.bounds
- //
- // // 将 launchView 添加到 TSLaunchVC 的视图中
- // view.addSubview(launchView)
- // }
-
-
- private func setupLaunchScreenView() {
- let imageView = UIImageView(frame: UIScreen.main.bounds)
- imageView.contentMode = .scaleAspectFill
- imageView.image = UIImage(named: "launch2")
- view.addSubview(imageView)
- }
- }
|