Product Name
프로젝트의 이름을 의미함. 출시될 앱의 이름과는 무관함
(iOS, UIKit) 등 애플의 고유한 정의나 한글은 오류가 발생할 가능성 존재
Team
애플에 등록된 개발자 계정이며, Appstore에 앱의 소유자가 표시됌
None인 경우 시뮬레이터는 가능하나 실제 기기에서는 빌드가 불가능하며 앱 출시 불가
Organization Identifier
Bundle Identifier에 조합되는 식별자로, 암묵적으로 웹의 도메인을 거꾸로 적는 형태로 작성
개인개발에서는 주로 com.nickname을 작성
Bundle Identifier
앱을 구분할 수 있는 고유한 식별자로, 한 번 앱스토어에 출시하면 변경 불가능!
여기서는 위 앱이 작동되는 iOS 최소 지원 버전, 디바이스 모드, 가로모드 해제 등을 설정할 수 있음
Deployment Info 에서 iOS 버전과 iPhone, iPad 지원 등을 설정할 수 있음
iPad까지 지원하게 되면 iPad 관련 업데이트도 해주어야 하기 때문
iPhone + iPad 지원 : 모두 적합한 레이아웃 형태의 앱. 단 개발 시 고려 요소 증가
출시하면 둘 다 계속 개발을 해주어야 함
iPhone 만 지원 : iPad에서도 사용은 가능하지만 iPad에서는 iPhone 레이아웃으로만 보임
출시 이후 iPhone + iPad 형태로 전환 가능
iPad 만 지원 : iPhone에서 다운 및 사용 불가능
출시 이후 iPhone + iPad 형태로 전환 가능
appDelegate.swift & SceneDelegate.swift
디바이스에 설치된 수 많은 앱이 작동하기 위해 앱 라이프사이클을 관리하는 부분이자 앱의 실행과 종료를 담당함.
iOS 13 미만의 버전에서는 AppDelegate를 사용하고, iOS 13 이상의 버전에서는 SceneDelegate를 주로 사용
ViewController.swift
씬(Scene)에 대한 로직을 담당하는 파일로, 코드가 작성될 영역
주로 씬이 많아질수록 .swift 파일이 많아짐
Asset.xcassets
앱 내 아이콘 / 이미지 소스를 관리함
아이폰 기종 별 적합한 해상도가 달라 앱에 제대로 적용하기 위해선 3개의 파일명을 가진 이미지 리소스 필요
-> 개발자가 신경쓰는게 아니라 디자인 영역이 담당하는 부분!
참고 : 안드로이드는 5가지로 구분
main.storyboard
User Interface를 구성하는 곳
LaunchScreen.storyboard
앱이 구동될 때 처음에 보여주는 시작 씬
일반적으로 앱을 로딩하는 동안 비어있는 씬을 보여주지 않기 위해 노출함
info.plist
프로퍼티 리스트로, 앱의 정보를 가지고 있음.
개인 정보 보호 및 하드웨어 권한 획득을 위한 부분을 설정하기도 함.