| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- //
- // SceneDelegate.swift
- // WisdomCampusApk
- //
- // Created by 方楚豪 on 2021/11/21.
- //
- import UIKit
- import MMKV
- class SceneDelegate: UIResponder, UIWindowSceneDelegate {
- var window: UIWindow?
- func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
- // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
- // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
- // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
- guard let _ = (scene as? UIWindowScene) else { return }
- }
- func sceneDidDisconnect(_ scene: UIScene) {
- // Called as the scene is being released by the system.
- // This occurs shortly after the scene enters the background, or when its session is discarded.
- // Release any resources associated with this scene that can be re-created the next time the scene connects.
- // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
- }
- func sceneDidBecomeActive(_ scene: UIScene) {
- // Called when the scene has moved from an inactive state to an active state.
- // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
- }
- func sceneWillResignActive(_ scene: UIScene) {
- // Called when the scene will move from an active state to an inactive state.
- // This may occur due to temporary interruptions (ex. an incoming phone call).
- }
- func sceneWillEnterForeground(_ scene: UIScene) {
- // Called as the scene transitions from the background to the foreground.
- // Use this method to undo the changes made on entering the background.
- }
- func sceneDidEnterBackground(_ scene: UIScene) {
- // Called as the scene transitions from the foreground to the background.
- // Use this method to save data, release shared resources, and store enough scene-specific state information
- // to restore the scene back to its current state.
- print("进入到后台")
- }
- static func getCurrentWindow() -> UIWindow? {
- let keyWindow = UIApplication.shared.connectedScenes
- .map({ $0 as? UIWindowScene })
- .compactMap({ $0 })
- .first?.windows.first
- return keyWindow
- }
- func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
- guard let url = URLContexts.first?.url else {
- return
- }
- if url.scheme != nil && url.scheme! == "lancoowsc" {
- let urlComponents = NSURLComponents(string: url.absoluteString)
- let queryItems = urlComponents?.queryItems
- if queryItems != nil {
- for item in queryItems! {
- if item.name == "toUrl" {
- MMKV.default()!.set(item.value!, forKey: "scheme_to_url")
- }else {
- var milliStamp : String {
- let timeInterval: TimeInterval = Date().timeIntervalSince1970
- let millisecond = CLongLong(round(timeInterval*1000))
- return "\(millisecond)"
- }
- MMKV.default()!.set("\(milliStamp)_\(String(describing: item.value!))", forKey: item.name)
- }
-
- }
- }
- }
-
- }
- }
|