투케이2K

27. (TWOK/UTIL) [Ios/Swift] AppDelegate - 애플리케이션 프로세스 관리 클래스 본문

투케이2K 유틸파일

27. (TWOK/UTIL) [Ios/Swift] AppDelegate - 애플리케이션 프로세스 관리 클래스

투케이2K 2022. 3. 27. 21:00

[설 명]

프로그램 : Ios / Swift

설 명 : 애플리케이션 프로세스 관리 클래스

 

[소스 코드]

 

import UIKit
import AVFoundation

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    
    
    // MARK: - [클래스 설명]
    /*
    // -----------------------------------------
    1. 애플리케이션 딜리게이트
    // -----------------------------------------
    */
    
    
    
    
    
    // MARK: - [빠른 로직 찾기 : 주석 로직 찾기]
    // -----------------------------------------
    // [SEARCH FAST] : [프리퍼런스 값 초기화 실시]
    // [SEARCH FAST] : [푸시 알림 뱃지 카운트 초기화]
    // [SEARCH FAST] : [빌드 타입 확인 실시]
    // -----------------------------------------
    
    
    
    
    
    // MARK: - [전역 변수 선언 실시]
    var window: UIWindow? // [ios 13 미만 버전 제어 위해 선언]



    
    
    // MARK: - [앱 프로세스 완료 및 앱 실행 실시]
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        print("")
        print("====================================")
        print("[AppDelegate >> didFinishLaunchingWithOptions]")
        print("-------------------------------")
        print("설 명 :: 앱 프로세스 완료 및 앱 실행 실시")
        print("====================================")
        print("")
        
        // -----------------------------------------
        // [SEARCH FAST] : [프리퍼런스 값 초기화 실시]
        S_Preference().proccessCreateClear()
        // -----------------------------------------
        
        
        // -----------------------------------------
        // [SEARCH FAST] : [푸시 알림 뱃지 카운트 초기화]
        // UIApplication.shared.applicationIconBadgeNumber = 0
        // -----------------------------------------
        
        
        // -----------------------------------------
        // [LaunchScreen 로딩화면 지연 실시 - 3초]
        // Thread.sleep(forTimeInterval: 3.0)
        // -----------------------------------------
        
        
        // -----------------------------------------
        // [SEARCH FAST] : [빌드 타입 확인 실시]
        #if DEBUG
            print("")
            print("====================================")
            print("[AppDelegate >> didFinishLaunchingWithOptions]")
            print("-------------------------------")
            print("설 명 :: ", "빌드 타입 확인 실시")
            print("-------------------------------")
            print("빌드 타입 :: ", "DEBUG 실행")
            print("====================================")
            print("")
        #else
            print("")
            print("====================================")
            print("[AppDelegate >> didFinishLaunchingWithOptions]")
            print("-------------------------------")
            print("설 명 :: ", "빌드 타입 확인 실시")
            print("-------------------------------")
            print("빌드 타입 :: ", "RELEASE 실행")
            print("====================================")
            print("")
        #endif
        // -----------------------------------------

        
        // -----------------------------------------
        return true
        // -----------------------------------------
    }



    
    
    // MARK: - [Scene 만들기 위한 구성 객체 반환 : 스토리보드 , info]
    @available(iOS 13.0, *)
    func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
        print("")
        print("====================================")
        print("[AppDelegate >> configurationForConnecting]")
        print("-------------------------------")
        print("설 명 :: Scene 만들기 위한 구성 객체 반환 : 스토리보드 , info")
        print("====================================")
        print("")

        return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
    }

    
    
    
    
    // MARK: - [Scene 구성 객체 해제 실시]
    @available(iOS 13.0, *)
    func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
        print("")
        print("====================================")
        print("[AppDelegate >> didDiscardSceneSessions]")
        print("-------------------------------")
        print("설 명 :: Scene 구성 객체 해제 실시")
        print("====================================")
        print("")
    }
    
    
    
    
    
    // MARK: - [애플리케이션 사용자가 작업 태스크 날린 이벤트 감지]
    func applicationWillTerminate(_ application: UIApplication) {
        print("")
        print("====================================")
        print("[AppDelegate >> applicationWillTerminate]")
        print("-------------------------------")
        print("설 명 :: 애플리케이션 사용자가 작업 태스크 날린 이벤트 감지")
        print("====================================")
        print("")
        
        // -----------------------------------------
        // [SEARCH FAST] : [프리퍼런스 값 초기화 실시]
        // -----------------------------------------
        // [앱 종료 시 프리퍼런스 데이터 초기화]
        S_Preference().mainFinishClear()
        // -----------------------------------------
        // [프로세스 종료 시 프리퍼런스 데이터 초기화]
        S_Preference().proccessFinishClear()
        // -----------------------------------------
    }
    
    
    
    
    
    // MARK: - [디바이스 화면 세로 모드 고정 실시]
    func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
        print("")
        print("====================================")
        print("[AppDelegate >> supportedInterfaceOrientationsFor]")
        print("-------------------------------")
        print("설 명 :: 디바이스 화면 세로 모드 고정 실시")
        print("====================================")
        print("")
        
        // [세로 방향 고정]
        return UIInterfaceOrientationMask.portrait
    }
    

} // [클래스 종료]

 

반응형
Comments