Version: 2019.1
iOS 빌드 프로세스 살펴보기
iOS 스플래시 화면 커스터마이징

Unity XCode 프로젝트 구조

iOS 플랫폼용 프로젝트를 빌드하는 경우 Unity는 XCode 프로젝트가 포함된 폴더를 만듭니다. 이 프로젝트는 앱을 기기에 배포하기 전에 컴파일하고 서명하는 데 필요하며, 앱 스토어에 게임을 배포할 수 있도록 게임을 준비하고 번들화하게 합니다.

iOS 프로젝트를 빌드하기 전에 Player 설정에서 Bundle Identifier 를 설정했는지 확인해야 합니다. 또한 게임을 기기 또는 시뮬레이터에서 실행하기 위한 SDK version 을 선택할 수 있습니다.

Classes 폴더

이 폴더는 Unity 런타임 및 Objective-C를 통합하는 코드를 담고 있습니다. 여기에 저장되어 있는 main.mmUnityAppController.mm/h와 같은 파일이 앱의 엔트리 포인트이며, 자체 AppDelegate를 UnityAppController에서 파생하여 생성할 수 있습니다. AppController.h를 포함하는 플러그인이 있다면 그 대신 간단히 UnityAppController.h를 포함하면 됩니다. Plugins/iOS 폴더에 AppController.mm/h가 있다면 이 파일을 병합하고 파일명을 바꿀 수 있습니다.

또한 InternalProfiler.h 파일은 컴파일러 조건을 정의하여 내부 프로파일러를 활성화합니다. 이 코드용 폴더는 대개 변경되지 않으며, 커스텀 클래스를 여기에 보관할 수 있습니다. Append 모드를 선택하면 이 폴더에 대한 변경 사항이 빌드 간에 보존됩니다. 하지만 이 함수는 여러 빌드 타겟을 지원하지 않으며, 고정된 구조의 Libraries 폴더를 필요로 합니다.

내부 프로파일러는 빠르고, 비간섭적이며, 기본 정보를 제공합니다.

  • 프레임 시간을 가장 많이 소비하는 서브시스템
  • .NET 힙 크기
  • 가비지 콜렉션(GC) 이벤트 횟수/지속시간 자세한 내용은 내장 프로파일러를 참조하십시오.

Data 폴더

이 폴더에는 직렬화된 게임 에셋과 .NET 어셈블리(dll 또는 dat 파일)가 전체 코드(또는 스트리핑이 활성화된 경우 메타데이터)로 들어 있습니다. machine.config 파일은 보안, WebRequest 등 다양한 .NET 서비스의 설정에 사용됩니다. 이 폴더의 콘텐츠는 빌드마다 새로 고침되며 수정해서는 안 됩니다.

Libraries 폴더

이 폴더에는 ARM 어셈블러로 변환된 .NET 어셈블리(s 파일) 또는 프로젝트가 IL2CPP를 사용하여 빌드된 경우 libil2cpp.a가 들어 있습니다. libiPhone-lib.a 파일은 Unity 런타임 정적 라이브러리이고, RegisterMonoModules.cpp는 Unity 네이티브 코드를 .NET으로 바인드합니다. 이 폴더의 콘텐츠는 빌드마다 새로 고침되며 수정해서는 안 됩니다.

기타 새로 생성되는 커스텀 폴더

커스텀 파일은 여기에 저장하면 됩니다.

그래픽 파일

아이콘과 스플래시 화면(png 파일)은 Unity-iPhone 폴더의 에셋 카탈로그에 보관됩니다. 이 파일들은 Unity에서 자동으로 관리됩니다. 시작 화면, XML 인터페이스 빌더(xib 파일) 및 스토리보드 파일은 프로젝트의 루트 폴더에 보관됩니다. Player 설정에서 설정할 수 있습니다. 커스텀 시작 이미지를 만드는 경우 Apple 휴먼 인터페이스 가이드라인을 준수해야 합니다.

프로퍼티 리스트 파일

Info.plist는 Unity의 Player 설정을 통해 관리됩니다. 이 파일은 플레이어를 빌드할 때 교체되지 않고 업데이트됩니다. 필요한 경우가 아니라면 이 파일을 수정하지 마십시오.

기타 파일

이 파일에는 XCode 프로젝트 파일(xcodeproj 파일) 및 Project Navigator 에서만 표시되는 프레임워크 링크가 포함됩니다.


  • 2018–06–14 일부 편집 리뷰를 거쳐 페이지 수정됨
iOS 빌드 프로세스 살펴보기
iOS 스플래시 화면 커스터마이징