iOS, tvOS 및 iPadOS 디바이스에서 테스트용으로 언리얼 엔진 애플리케이션의 디버깅 빌드를 실행하려면 Xcode 를 실행하는 macOS 디바이스가 필요합니다. 하지만 빌드를 완전히 패키징하고 완료하려면 언리얼 에디터를 사용하여 콘텐츠를 쿠킹해야 합니다. 이러한 요구 사항을 충족시키기 위해서는 패키징 및 실행을 모두 한 번에 수행하는 대신 Xcode로 돌아가서 실행하기 전에 특별한 워크플로에 따라 디버깅용으로 빌드를 준비해야 합니다.
이 페이지에서는 이러한 워크플로에 대해 살펴보고 에디터 빌드를 먼저 만들지 않고도 디버그 빌드를 실행하는 방법을 포함하여 이러한 프로세스를 간소화하기 위해 언리얼 엔진에서 제공하는 툴에 대해 설명합니다.
1. 필수 구성
iOS용 디버깅 워크플로에 필요한 요구 사항은 다음과 같습니다.
-
Xcode가 설치된 macOS 머신. macOS 및 Xcode는 모두 iOS용 개발 요구 사항을 충족하는 최신 상태여야 합니다.
-
애플리케이션의 코드 서명 인증서 및 프로비저닝 프로파일. 이러한 요구 사항을 충족하지 못하면 iOS 디바이스에 대한 빌드 디플로이가 실패합니다. 이 프로세스에 대한 자세한 내용은 iOS 프로비저닝을 참고하세요.
-
애플리케이션에 대한 Xcode 프로젝트(
.xcodeproj
). 아직 없으면 프로젝트의.uproject
파일을 찾아 우클릭하고 Generate Xcode Project 를 선택합니다. -
에디터 빌드 생성을 건너뛰려면 빌드에 주입할 수 있도록 다른 컴퓨터에서 쿠킹된 데이터가 필요합니다. 이 데이터는 프로젝트의 Binaries/iOS 또는 Binaries/tvOS 폴더에 포함되어 있어야 합니다.
2. 워크플로 요약
iOS, tvOS 또는 iPadOS에서의 디버깅 워크플로는 다음과 같습니다.
-
iOS/tvOS용 콘텐츠를 쿠킹합니다. macOS 머신에서 이 작업을 직접 수행하거나 별도의 컴퓨터를 사용할 수도 있습니다.
-
디버깅 준비(Prepare for Debugging) 명령을 사용하여 빌드 중 생성된 Xcode 페이로드(.IPA)에 쿠킹된 데이터를 주입합니다.
-
Xcode에서 .IPA를 사용하여 빌드를 생성하고 macOS 머신에서 빌드를 실행합니다.
3. iOS용 콘텐츠 쿠킹
Xcode는 디버깅 빌드를 생성하고 실행할 수 있지만 콘텐츠는 쿠킹할 수 없습니다. 따라서 별도의 머신에서 쿠킹된 콘텐츠를 임포트하거나 언리얼 에디터를 빌드하고 이를 사용하여 macOS 머신에서 콘텐츠를 쿠킹해야 합니다.
3A. 별도의 머신에서 쿠킹된 콘텐츠 임포트
이미 빌드에 사용할 수 있는 쿠킹된 콘텐츠가 있으면 언리얼 에디터 빌드와 콘텐츠 쿠킹을 건너뛸 수 있습니다. 팀이 빌드 팜 같은 빌드 리소스를 공유했거나 소스 컨트롤 시스템에서 프로젝트 바이너리를 호스팅하는 경우, 대부분은 이러한 단계를 건너뛸 수 있습니다. 이러한 파일은 Binaries/iOS 또는 Binaries/tvOS 폴더에 있습니다.
쿠킹된 파일을 프로젝트에 수동으로 가져오려면 다른 머신에서 .IPA를 복사하여 프로젝트의 Binaries/iOS 또는 Binaries/tvOS 폴더에 붙여 넣습니다.
3B. macOS 머신에서 콘텐츠 쿠킹
macOS 머신에서 콘텐츠를 쿠킹하려면 다음 단계를 따릅니다.
-
언리얼 에디터에서 프로젝트를 엽니다. 언리얼 엔진의 소스 빌드를 사용하는 경우 Xcode에서 빌드해야 합니다.
-
플랫폼(Platforms) 드롭다운에서 다음 옵션 중 하나를 사용합니다.
-
iOS 및 iPadOS:
-
플랫폼 > iOS > 콘텐츠 쿠킹(Cook Content)
-
플랫폼 > iOS > 프로젝트 패키징(Package Project)
-
-
tvOS:
-
플랫폼 > tvOS > 콘텐츠 쿠킹
-
플랫폼 > tvOS > 프로젝트 패키징
-
-
또한 RunUAT.command
스크립트를 사용하여 명령줄에서 BuildCookRun
명령을 실행할 수 있습니다. 쿠킹 전용 명령의 예시는 다음과 같습니다.
RunUAT.sh BuildCookRun -project=[ProjectName] -platform=iOS -build -cook -stage -pak -package -skipbuild
자세한 내용은 빌드 작업 및 콘텐츠 쿠킹을 참고하세요.
4. 디버깅 준비
디버깅 준비 명령은 이전에 쿠킹된 데이터를 Xcode에서 생성한 빌드에 주입하여 Xcode를 사용하여 타깃 디바이스에서 실행하는 데 사용할 수 있는 .IPA 파일을 생성합니다. 이 경우, 두 가지 측면에서 프로젝트의 디버깅 파이프라인이 간소화됩니다.
-
디버깅 준비 시 Xcode 프로젝트를 다시 환경설정하지 않아도 디버깅 빌드 생성이 자동으로 처리됩니다.
-
소수의 Mac만으로 진행되는 프로젝트의 경우, 다른 머신에서 쿠킹된 데이터를 임포트할 수 있습니다. 이 경우, 언리얼 에디터를 빌드하거나 사용하는 것을 건너뛰고 Xcode에서 간단히 빌드를 실행할 수 있습니다.
디버깅 준비 명령을 사용하려면 언리얼 에디터에서 플랫폼 드롭다운 메뉴를 사용하여 실행하거나 언리얼 자동화 툴(Unreal Automation Tool, UAT) 의 턴키 명령줄 에서 실행할 수 있습니다. 아래에서는 두 프로세스를 자세하게 살펴봅니다.
이 명령은 현재 macOS 디바이스에서 기본으로 생성된 빌드에 대해 작동되며, Windows의 원격 Mac 빌드 워크플로는 지원하지 않습니다. 이 기능은 이후 출시 버전에서 제공될 예정입니다.
4A. 명령줄을 사용한 디버깅 준비
사용하려는 프로젝트 이름과 함께 턴키 명령줄에서 WrangleContentForDebugging
명령을 사용하여 디버깅 준비를 실행할 수 있습니다. 이 명령이 따라야 하는 포맷의 예시는 다음과 같습니다.
RunUAT.command Turnkey -command=WrangleContentForDebugging -project=[name of your .uproject file]
4B. 플랫폼 메뉴를 사용한 디버깅 준비
언리얼 에디터에서 다음 옵션을 클릭하여 디버깅 준비를 실행할 수 있습니다.
-
플랫폼 > iOS > 디버깅 준비
-
플랫폼 > tvOS > 디버깅 준비

5. Xcode에서 프로젝트 실행
-
애플리케이션의 Xcode 프로젝트를 엽니다.
-
타깃 디바이스를 My Mac 에서 타깃 iOS 또는 tvOS 디바이스로 변경합니다.
-
Product > Perform Action > Run 을 클릭하거나 키보드 단축키 Command+R 을 사용합니다. 그러면 디버깅 준비로 생성된 .IPA를 사용하여 빌드가 생성됩니다.
이러한 단계를 완료하면 프로젝트가 빌드되고 디바이스에서 실행됩니다. 여기에서 중단점, 로그 및 LLDB 명령을 사용하여 프로젝트를 디버그하고 런타임에서 정보를 조사할 수 있습니다.
6. 디버깅을 위해 프로젝트를 수동으로 리빌드하기
디버깅 준비 명령을 사용할 수 없는 경우, 다음 단계에 따라 Xcode에서 디버깅을 위해 프로젝트를 수동으로 리빌드할 수 있습니다. 이 워크플로를 사용하려면 먼저 프로젝트를 쿠킹 및 패키징해야 합니다.
-
애플리케이션의 Xcode 프로젝트를 엽니다. Xcode의 메인 메뉴에서 Product > Scheme > Edit Scheme 을 선택합니다.
-
Run 카테고리를 클릭하고 Build Configuration 을 DebugGame 으로 변경합니다.
언리얼 엔진의 소스 코드 빌드를 사용하는 경우, Debug 환경설정을 사용하여 엔진 코드를 디버깅할 수 있습니다.
-
타깃 디바이스를 My Mac 에서 연결한 iPhone 으로 변경합니다.
-
Build and Run 버튼을 클릭하여 Xcode에서 프로젝트 빌드를 시작하고 디바이스에서 실행합니다.
이렇게 하면 디버깅 준비 워크플로와 동일한 결과가 수행됩니다.
7. Xcode 디버깅 툴 및 LLDB
Xcode 디버깅 기능을 사용하는 방법에 대한 자세한 내용은 Apple 개발자 설명서 Xcode로 디버깅하기를 참고하세요.
LLDB에 대한 자세한 내용은 Apple 설명서 아카이브에서 LLDB 시작하기 페이지를 참고하세요.