앱의 고유 식별 코드로 앱스토어에 등록될 때 주민등록번호 처럼 단 하나만 존재할 수 있습니다. 기본 상태는 Organization Identifier + Product Name으로 자동생성됩니다. 관례적으로 도메인의 역순으로 작성하며 예를들어 com.AuthorName.APPName과 같이 쓰입니다.
Apple은 앱 개발의 디자인 및 기능 구성 방법에 대한 가이드라인을 제공하면서 기획 및 심사에 있어서 지침과 일관성을 통해 기준이 있습니다.
UIKit의 컴포넌트를 사용하여 구축되며 아키텍쳐, 인터렉션, 디바이스 기능, 디자인 등 명료하고 차별성과 깊이를 가진 앱을 구성하는데 이를 참고하고 제작하면 보다 대부분의 iOS 사용자에게 익숙한 환경을 제공합니다.
애플 환경에서 실행되는 애플리케이션의 유저 인터페이스를 제공하는 코코아 터치 프레임워크의 하위 키트입니다. UI 관련한 대부분이 포함되어 일관성있는 View를 제공합니다.
ex. UIButton, UILable, UITextField, UIViewController
안드로이드에서 스플래시 스크린이라고도 하며, 앱이 구동될 때 메인 뷰를 불러오는 동안 빈 화면을 보여주지 않기 위해 짧게 노출되는 시작 화면입니다.
AppDelegate 내부 launchOptions 함수에 sleep(delayTime : Int) 키워드를 통하여 화면에 노출되는 시간을 조절이 가능합니다.
앱이 실행되었을 경우 시작 지점을 지정하는 개체로 스토리보드에서 확인이 가능합니다.
만약 작업 중 사라졌을 경우 Storyboard 내 Controller의 Attribute Inspector 탭에서 View Controller-is Initial View Controller 를 체크하여 다시 설정할 수 있습니다.
실제로 코드로 구현된 엔트리 포인트는 swift 기반의 iOS 프로젝트에서도 C언어에서 사용되는 main() 메서드와 동일하게 @main
의 도움으로 존재하지만, UIKit 프레임워크가 이를 숨겨서 관리하므로 개발자가 직접 볼수는 없다는 것이다.
🔗 @main 과 커스텀 엔트리 포인트
🔗 Entry Point (@main)
ios-sim 은 ios 시뮬레이터에서 iOS 앱을 실행할 수 있는 command-line 유틸리티로 이를 통해 Xcode를 열지 않고 자동화된 테스트와 같은 기능을 사용할 수 있습니다.
다양한 버전과 기기의 시뮬레이터를 설정하여 실행할 수 있으며 동일한 프로젝트라도 버전에 따른 UI 차이가 발생하기도 합니다.
속성 어노테이션을 전반부에 선언하여 해당 버전에서 사용 여부를 명시를 통해서 버전에 대한 대응을 해야합니다. iOS 13 부터 사용되기 시작한 프레임워크 형식의 변경사항이 있으므로 버전 대응에 대하여 고려하여 프로젝트를 설계할 때 AppDelegate, SceneDelegate를 알맞게 수정해야합니다.