투케이2K

98. (ios/swift) 빌드 타겟 , 버전 변경 및 AppDelegate , SceneDelegate 분기 처리 실시 본문

IOS

98. (ios/swift) 빌드 타겟 , 버전 변경 및 AppDelegate , SceneDelegate 분기 처리 실시

투케이2K 2022. 1. 9. 17:14

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[방법 설명]

 

[소스 코드]

import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        print("")
        print("===============================")
        print("[AppDelegate >> didFinishLaunchingWithOptions]")
        print("[설명 : 앱 프로세스 완료 및 앱 실행 실시]")
        print("===============================")
        print("")
        
        // [스레드 시간을 발생시켜 로딩화면 지연 실시 - 3초]
        Thread.sleep(forTimeInterval: 3.0)
        
        return true
    }

    // MARK: UISceneSession Lifecycle
    // MARK: [iOS 특정 버전 이상 사용 선언 : ex - 13.0 이상 사용]
    @available(iOS 13.0, *)
    func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
        print("")
        print("===============================")
        print("[AppDelegate >> configurationForConnecting]")
        print("[설명 : Scene 만들기 위한 구성 객체 반환 : 스토리보드 , info]")
        print("===============================")
        print("")
        return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
    }

    // MARK: [iOS 특정 버전 이상 사용 선언 : ex - 13.0 이상 사용]
    @available(iOS 13.0, *)
    func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
        print("")
        print("===============================")
        print("[AppDelegate >> didDiscardSceneSessions]")
        print("[설명 : Scene 구성 객체 해제 실시]")
        print("===============================")
        print("")
    }

}

 

 

 

import UIKit

// MARK: [iOS 특정 버전 이상 사용 선언 : ex - 13.0 이상 사용]
@available(iOS 13.0, *)
class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        print("")
        print("===============================")
        print("[SceneDelegate >> willConnectTo]")
        print("[설명 : UI창 선택적 구성 및 제공된 UI창에 Scene 연결]")
        print("===============================")
        print("")
        
        guard let _ = (scene as? UIWindowScene) else { return }
    }

    func sceneDidDisconnect(_ scene: UIScene) {
        print("")
        print("===============================")
        print("[SceneDelegate >> sceneDidDisconnect]")
        print("[설명 : 시스템에 의해서 Scene 해제 : background 상태 및 session 삭제]")
        print("===============================")
        print("")
    }

    func sceneDidBecomeActive(_ scene: UIScene) {
        print("")
        print("===============================")
        print("[SceneDelegate >> sceneDidBecomeActive]")
        print("[설명 : Scene 활성화 및 사용자 이벤트에 응답 실시]")
        print("===============================")
        print("")
    }

    func sceneWillResignActive(_ scene: UIScene) {
        print("")
        print("===============================")
        print("[SceneDelegate >> sceneWillResignActive]")
        print("[설명 : Scene 활성 상태 해제 및 사용자 이벤트에 대한 응답 중지]")
        print("===============================")
        print("")
    }

    func sceneWillEnterForeground(_ scene: UIScene) {
        print("")
        print("===============================")
        print("[SceneDelegate >> sceneWillEnterForeground]")
        print("[설명 : Scene 포그라운드 실행]")
        print("===============================")
        print("")
    }

    func sceneDidEnterBackground(_ scene: UIScene) {
        print("")
        print("===============================")
        print("[SceneDelegate >> sceneDidEnterBackground]")
        print("[설명 : Scene 백그라운드 실행]")
        print("===============================")
        print("")
    }

}

 
반응형
Comments