[iOS/swift] iOS 앱의 동작원리

728x90
반응형

iOS 앱을 개발하기 전에, 먼저 swift로 개발하는 iOS 앱이 어떤 방식으로 작동하는지 알아보았다.

 

📌 iOS 앱의 구성

먼저 iOS Application은 Custom CodeSystem Framework로 구성되어 있다. 

커스텀 코드는 사용자가 원하는 기능과 UI를 구현하는 부분이고,

시스템 프레임워크는 사용자가 편집할 수 없는, 시스템이 작동하는 기반 환경을 제공하는 부분이다.

 

 

📌 iOS 앱의 동작 원리

swift에서 run을 시켰을 때 앱이 동작하는 방식은 다음과 같다.

UIApplicationMain


UIApplicationMain은 어플리케이션 객체와 이에 대한 델리게이트를 생성하고, 이벤트 사이클을 만드는 함수이다.

이 함수는 시스템 프레임워크와 커스텀 코드를 엮어 앱 객체를 생성하는 프로세스 핸들링을 하고, UI와 기능을 읽어 구현하고, 이벤트 루프를 실행하기 때문에 앱 그 자체로 볼 수 있다.

스위프트에서는 이 함수가 메인 함수에 해당한다.

 

 

AppDelegate.swift


AppDelgate 는 UIApplication의 권한을 위임받아 커스텀 코드와 상호작용하여 코드를 실제 뷰와 컨트롤러로 보여지게 하고, 동작하게 한다. 앱이 실행되는 동안 유지되며, 앱이 종료되면 소멸하고, 단 한 개의 인스턴스만 생성한다.

 

  1. @main 어노테이션이 표시된 클래스(AppDelegate에 있음)가 델리게이트로 지정되어 실행된다.
  2. application(_:didFinishLaunchingWithOptions:) 메소드가 호출된다. : 앱이 실행되는 시점에 처리해야 할 내용을 여기에 작성하면 된다.
  3. 이벤트 루프 실행: 작성된 커스텀 코드들이 실행된다.
  4. 앱이 종료될 때, 앱에 대한 메모리 제거를 위해 applicationWillTerminate(_:) 메소드를 호출한다. : 앱이 종료되는 시점에 처리해야 할 내용을 여기에 작성하면 된다.

 

 

 

 

https://2unbini.github.io/📂%20all/swift/UIKit-2/

728x90
반응형