UDN
Search public documentation:

UnrealiPhonePackagerKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

모바일 홈 > iOS Provisioning 개요 > iPhonePackager 툴

iPhonePackager 툴


문서 변경내역: Michael Noland 작성. Jeff Wilson 수정. 홍성진 번역.

개요


iPhonePackager 는 UE3 어플리케이션을 iOS 하드웨어 디바이스에서 실행되도록 패키징하는 데 사용되는 툴입니다. Signing Certificate 나 Mobile Provision 같은 관련 파일의 환경설정과 설치는 물론 연결된 디바이스로의 deploy(배치) 작업도 처리해 줍니다.

명령줄 인터페이스


명령줄에 인수를 붙이지 않고 툴을 실행시키면 그래픽 어플리케이션으로 실행되며, 다음과 같은 형식으로 인수를 붙일 수도 있습니다:

  • iPhonePackager Command GameName Configuration [ switches ] [ RPCCommand ]

  • 용례:
    • Command - 툴의 주요 모드입니다.
    • GameName - 패키징할 게임 디렉토리(예: UDKGame) 이름입니다.
    • Configuration - 패키징할 게임의 빌드 환경설정 입니다. (예: Debug, Release, Shipping)
    • [ switches ] - 패키징 프로세스의 여러 양상을 제어하는 옵션 (공백으로 구분하며 - 로 시작하는) 스위치 목록입니다.
    • [ RPCCommand ] - 일부 (rpc 및 deploy) 명령에 사용되는 옵션 인수입니다.

Command:

  • packageapp - 패키징할 파일을 모아 원격 맥으로 전송하고 어플리케이션 디렉토리를 생성합니다만, IPA를 생성하거나 파일을 PC로 되복사하지는 않습니다. 이 모드는 원격 맥에 RPCUtility가 설치되어 있어야 하며, 맥에서 심도 깊은 디버깅을 위해 Xcode 와 함께 사용하도록 고안된 것입니다.
  • repackageipa - 패키징할 파일을 모아 IPA로 만들지만, PC에서만 그렇게 합니다. 이 모드는 예전에 packageipa 로 생성된 stub(토막) 파일이 필요합니다. 어플리케이션을 Code Signing 하기 위해 -sign 과 함께 사용할 수 있습니다.
  • packageipa - 패키징할 파일을 모아 원격 맥으로 전송하고 IPA를 생성한 다음, 그것을 되전송합니다. 원격 맥에 RPCUtility가 설치되어 있어야 합니다. -createstub 과 함께 사용하여 나중에 repackageipa 와 함께 사용할 토막을 만들 수 있습니다. (아이폰을 대상으로 한 UE3.sln 컴파일에 사용되는 디폴트 모드는 packageipa -createstub 입니다.)
  • install - 이전에 생성된 IPA를 로컬 머신에 연결된 모든 iOS 디바이스에 deploy(배치)시킵니다. iTunes가 설치된 상태여야 합니다. IPA 이름은 <GameName> 및 <Configuration> 에 따라 자동으로 선택되든지, 명령줄의 부가 인수를 통해 전달된 경우 명시적인 이름을 사용하든지 합니다. (예를 들어 "iPhonePackager deploy UDKGame Release C:\foo.ipa" 라 하면 <installpath>\Binaries\IPhone\Release-iphoneos\UDKGame\UDKGame.ipa 가 아닌 C:\foo.ipa 에 설치합니다.)
  • resigntool - Re-Sign Tool 을 직접 실행합니다.
  • certrequest - Generate Certificate Request Tool 을 직접 실행합니다.
  • gui - Configuration Wizard / 툴 목록을 띄웁니다. Unreal iOS Configuration Wizard 부분을 참고하십시오.

옵션 스위치:

  • -interactive - -sign 와 함께 사용하면, 다음의 환경설정 범주가 모두 충족되지 않은 경우 Configuration Wizard 가 실행됩니다:
    • Mobile Provision 이 <InstallPath>\<GameName>\Build\IPhone 에 존재
    • 일치하는 Signing Certificate 설치
    • <InstallPath>\<GameName>\Build\IPhone\<GameName>Overrides.plist 에 덮어쓴 PList 존재
      이 파일들의 제공, 또는 애플에서 Provision 과 Certificate 를 구하기 위한 CSR 요청 생성 작업은 Configuration Wizard 를 통해 쉽게 할 수 있습니다.
  • -verbose
    • 패키징에 포함될 개별 파일을 전부 나열하는 등, 좀 더 자세한 출력을 켭니다.
  • -network
    • 패키징된 IPA가 네트워크 파일 로딩에 사용될 것임을 지정하는 데 사용합니다. (-distribution 와는 호환되지 않습니다.)
  • -compress=best
  • -compress=fast
  • -compress=none
    • IPA 제작시의 압축 정도를 조절합니다. 개발 동안에는 -compress=none 옵션으로 PC에서의 압축 시간과 iOS 디바이스에서의 압축해제 시간을 줄여 반복처리를 빠르게 할 수 있습니다. 앱 스토어 제출용으로 크기를 줄이려 할 때에는 -compress=best 를 사용하면 됩니다.
  • -distribution
    • 앱 스토어 배포용 빌드시 사용합니다. Signing 동질성 선택, 출력 IPA 이름(Distro_GameName.ipa)을 조절합니다.
  • -sign
    • PC에서 패키징 도중 Code Signing 을 합니다. 원격 맥에서 패키징할 때는 항상 Code Signing 됩니다.
  • -strip
    • 실행파일에 심볼을 벗길지 여부를 제어합니다. 맥에서의 원격 패키징 작업시에만 관여합니다.
  • -createstub
    • 맥에서의 원격 패키징 작업이 모든 콘텐츠를 포함시킬지, 필수 콘텐츠만 포함시킬 지를 제어하며, PC 에 반환되는 .ipa (또는 .stub) 파일의 이름을 정합니다. 이 옵션은 -distribution 과 호환되지 않습니다.

#GUI

Unreal iOS Configuration Wizard


Unreal iOS Configuration Wizard 는 iPhonePackager 툴에 대한 그래픽 인터페이스입니다. 어플리케이션 패키징, Development Certificate 정보로 어플리케이션 Signing , iOS 디바이스에 패키지 deploy 등등 iPhonePackager 의 모든 기능을 직관적인 시각 인터페이스로 접해볼 수 있습니다.

Unreal iOS Configuration Wizard 접하기

Unreal iOS Configuration Wizard 는 에디터나 시작 메뉴 또는 Unreal Frontend 에서도 실행시킬 수 있습니다.

UnrealiOSConfigurationWizard.jpg

iOS 디바이스로 처음 deploy 하러 갈 때 자동으로 실행되며, 그 이후 내부 데이터를 변경하려는 경우 수동으로 실행시켜 줘야 합니다.

에디터에서 실행하기

iOS Provisioning 환경설정 단계라면, 툴바의 Start this Level on iPhone (아이폰에서 이 레벨 시작) 버튼을 클릭하면 Unreal iOS Configuration Wizard 가 실행됩니다.

StartThisLevelOniPhone.jpg

작은 콘솔 창이 나타난 다음 Configuration Wizard 가 뜹니다.

시작 메뉴에서 실행하기

Unreal iOS Configuration Wizard 는 윈도우의 시작 메뉴에 있는 바로가기를 통해 언제든 실행시킬 수 있습니다. Unreal Development Kit > [UDK 버전] > Tools 에서 찾을 수 있습니다.

configwizard_startmenu.jpg

이 바로가기를 클릭하면 iOS Provisioning 이 개발 도중 필요한 경우, 초기 설정이나 업데이트할 수 있는 환경설정 툴이 열립니다.

UFE에서 실행하기

Unreal iOS Configuration Wizard 는 Unreal Frontend 내에서 ipp_ufe_launch_button.png 버튼을 클릭하여 바로 실행시킬 수 있습니다.

ipp_ufe_launch.png

이 버튼을 클릭하면 iOS Provisioning 이 개발 도중 필요한 경우, 초기 설정이나 업데이트할 수 있는 환경설정 툴이 열립니다.

Configuration Wizard 인터페이스

Unreal iOS Configuration Wizard 인터페이스는 탭 모음집으로 구성되어 있으며, 각각은 Provisioning 과 deploy 과정의 다양한 부분에 대해 특화된 기능이 포함되어 있습니다.

인터페이스에는 항상 사용가능한 버튼이 둘 포함되어 있습니다:

버튼 설명
ipp_cancel_button.png 진행중인 패키징 프로세스를 중단하고, Configuration Wizard 를 닫습니다.
ipp_package_button.png 진행중인 패키징 프로세스는 계속하고, Configuration Wizard 를 닫습니다.

Configuration Wizard 의 탭에 대한 설명은 아래와 같습니다.

New User 탭

New User 탭에는 예전에 iOS 어플리케이션을 개발한 적이 없는 개발자를 위한 툴이 담겨 있습니다.

ipp_new_tab.png

버튼 설명
ipp_new_create_certkey_button.png Generate Certificate Request 창을 엽니다.
ipp_new_import_provision_button.png 애플의 개발자 웹사이트에서 내려받은 Provisioning 프로파일을 가져옵니다.
ipp_new_import_cert_button.png 애플의 개발자 웹사이트에서 내려받은 Development Certificate 와 키 쌍을 가져옵니다.
ipp_new_edit_plist_button.png Info.plist 수정 창을 엽니다.

Already a Registered iOS Developer 탭

Already a Registered iOS Developer 탭에는 기존에 언리얼을 사용했든 다른 방법을 사용했든, iOS 어플리케이션 개발 경험이 있어 이미 Development Certificate 와 Provisioning 프로파일이 있는 개발자용 툴이 담겨 있습니다.

ipp_existing_tab.png

버튼 설명
ipp_new_import_provision_button.png 애플의 개발자 웹사이트에서 내려받은 Provisioning 프로파일을 가져옵니다.
ipp_new_import_cert_button.png 애플의 개발자 웹사이트에서 기존에 내려받은 Development Certificate 와 키 쌍, 또는 Keychain Access 에서 내보낸 .p12 파일을 가져옵니다.
ipp_new_edit_plist_button.png Info.plist 수정 창을 엽니다.

Advanced Tools 탭

Advanced Tools 탭에는 IPA Signing , 설치, 배포용 툴이 담겨 있습니다.

ipp_advanced_tab.png

버튼 설명
ipp_advanced_installipa_button.png 패키징된 게임(IPA)을 연결된 iOS 디바이스 전부에 설치합니다.
ipp_advanced_resign_button.png Signing ToolRe-Signing Tool 탭을 엽니다.
ipp_advanced_provcert_button.png Signing ToolProvisions and Certs 탭을 엽니다.
ipp_advanced_other_button.png Signing ToolDeployment Tools 탭을 엽니다.

Tool 창

Generate Certificate Request 창

Generate Certificate Request 창은 iOS 어플리케이션 Signing 용 키 쌍, 애플 개발자 웹사이트에서 Certificate 를 생성하는 데 사용되는 Certificate 요청, 등을 생성하는 창입니다.

ipp_gencert_window.png

단계 설명
Email Address 애플 iOS 개발자 계정에 관련된 이메일 주소입니다.
Common Name Certificate 에 관련된 이름입니다.
  • ipp_createcert_genkey_button.png
  • ipp_createcert_usekey_button.png
  • 키 쌍 파일을 새로 생성합니다.
  • 기존 키 쌍 파일을 가져옵니다.
ipp_createcert_gencert_button.png Development Certificate 생성을 위해 애플 개발자 사이트에 올릴 Certificate 요청 파일(.csr)을 생성합니다.

Customize Info.plist 창

Customize Info.plist 창은 Info.plist 파일의 내용물을 수정하는 데 사용되는 창입니다.

ipp_editplist_window.png

항목 설명
Bundle Display Name iOS 디바이스의 홈 화면에서 앱 아이콘 아래 직접 표시되는 이름입니다. 간결한 이름으로 해야 지정된 공간에 잘리지 않고 들어맞게 됩니다. (예: UDN iOS Game)
Bundle Name 앱을 식별하는 데 사용되는 응축된 이름입니다. 16자 미만이어야 합니다. (예: UDNiOSGame)
Bundle Identifier 예전에 애플 개발자 웹사이트에서 만든 앱 ID의 번들 식별자와 일치해야 합니다. (예: com.EpicGames.UDNiOSGame)

버튼 설명
ipp_editplist_find_button.png 수동으로 편집할 수 있도록 Info.plist 파일이 표시되는 파일 탐색기를 엽니다.
ipp_editplist_save_button.png 위 항목의 정보를 Info.plist 파일에 저장합니다.

Signing 툴

Signing 툴은 탭 모음집으로, 각각에는 특화된 기능이 있습니다. 각 탭과 그 기능 설명은 아래와 같습니다.

Re-Signing Tool

Re-Signing Tool 탭은 특정 패키징된 게임(IPA 파일)의 Provisioning 프로파일, Certificate , Info.plist 를 빠르고 쉽게 변경할 수 있는 기능을 제공하는 탭입니다.

ipp_resigntool_tab.png

Input IPA

  • Re-Signing 할 입력 패키징 게임 파일을 설정합니다.

Choose Mobile Provision

  • Use existing embedded.mobileprovision - IPA와 관련된 provision 프로파일을 변경하지 않습니다.
  • Specify Mobile Provision file - 현재 Provisioning 프로파일을 대체시킬 provision 프로파일을 설정합니다.

Choose Signing Certificate

  • Search for a matching certificate - 설치된 Certificate 중 IPA를 Signing 하는 데 사용된 Certificate 와 일치하는 것을 찾은 다음, IPA Re-Signing 에 그것을 사용합니다.
  • Specify an explicit certificate - 현재 Certificate 를 대체할 Certificate 를 설정합니다.

Adjust Info.plist

  • Leave Info.plist unchanged - IPA의 현재 Info.plist 를 변경하지 않습니다.
  • Common Modifications - 가장 흔한 Info.plist 부분의 대체를 허용합니다.
    • CFBundleDisplayName - 현재 번들 표시 이름을 대체하는 데 사용할 문자열을 설정합니다.
    • CFBundleIdentifier - 현재 번들 식별자를 대체하는 데 사용할 문자열을 설정합니다.
  • Full Editing - IPA의 Info.plist 파일에 대한 내보내기, 수동 편집, 리임포트 등을 허용합니다.
    버튼 설명
    ipp_resigntool_export_button.png IPA의 현재 Info.plist 를 수동 편집 가능한 파일로 내보냅니다.
    ipp_resigntool_import_button.png IPA의 현재 Info.plist 를 대체할 Info.plist 파일을 가져옵니다.

Output Settings

  • Compress Modified files? - 체크하면 변경된 파일은 압축됩니다.

버튼 설명
ipp_resigntool_createipa_button.png 입력 IPA 및 지정된 조정 사항을 사용하여 Re-Signing 된 IPA를 만듭니다.

Provisions and Certs

Provisions and Certs 탭은 현재 설치된 Provisioning 프로파일과 Certificate 를 표시하고, 추가적인 Provisioning 프로파일과 Certificate 를 가져옵니다.

ipp_provcert_tab.png

버튼 설명
ipp_provcert_refresh_button.png Installed Provisions 목록을 새로고칩니다. 목록을 새로고칠 때까지 새로이 설치된 provision 및 Certificate 는 표시되지 않습니다.
ipp_provcert_import_cert_button.png 새 Certificate 를 가져와 설치합니다.
ipp_provcert_import_prov_button.png 새 Provisioning 프로파일을 가져와 설치합니다.

Deployment Tools

ipp_deployment_tab.png

버튼 설명
ipp_deployment_rescan_button.png 연결된 iOS 디바이스를 다시 훑어 Connected Devfices 목록을 새로 채웁니다.
ipp_deployment_installipa_button.png 모든 연결된 디바이스에 IPA를 설치합니다. 어플리케이션이 이미 디바이스에서 실행중인 경우, 설치 완료 전에 강제 종료됩니다. 그러나 디바이스가 idle (빈둥) 상태라면 (실행중인 3D 어플리케이션이 없다거나 하면) 설치는 더욱 빠르게 진행됩니다.
ipp_deployment_unistallipa_button.png 모든 연결된 디바이스에서 IPA 설치를 해제합니다.
ipp_deployment_backup_button.png Documents 디렉토리의 모든 파일을 [설치 경로]\[게임명]\iOS_Backups\[디바이스명] 으로 백업합니다.
  • [설치 경로]: 하위 경로 또는 UDK 설치 루트
  • [게임명]: 백업시키려는 게임명 (전형적으로 UDKGame)
  • [디바이스명]: 백업되는 연결 디바이스 이름 (예: 'EGK iPad')
로그 파일이나 (.memlk 파일 또는 fps 차트같은) 프로파일링 데이터를 디바이스에서 내리면 매우 좋습니다.
ipp_deployment_checkipa_button.png 입력된 디바이스 ID가 IPA와 관련되어 있는지 확인합니다.
ipp_deployment_checkprov_button.png 입력된 디바이스 ID가 Mobile Provision 과 관련되어 있는지 확인합니다.

IPP 툴을 통해 아이폰에서 파일 받는 방법:

  • /binaries/iPhone/ 에서 IPP.exe 실행
  • Deployment Tools 탭에서 디바이스를 선택하고 Backup Documents 클릭
  • 디바이스에서 사용한 IPA 위치로 이동. 예를 들어 Release UDKGame 쿠킹을 했다면 IPA 는: \Binaries\IPhone\Release-iphoneos\UDKGame\UDKGame.ipa
  • 파일이 저장되는 위치는 \UnrealEngine3\UDKGame\iOS_Backups\
  • 그런 다음 프로파일링 파일을 GameplayProfiler.exe 같은 연결프로그램으로 열면 됩니다.