Unity 클라우드 빌드를 통해 자동으로 Unity 프로젝트를 iOS 디바이스용으로 빌드할 수 있습니다.
이 문서에서는 iOS용 프로젝트를 빌드할 때 필요한 선행 조건과 클라우드 빌드 설정을 위한 지원 컴포넌트의 생성 방식을 설명합니다. 다루는 주제는 다음과 같습니다.
iOS 앱을 개발하려면 iOS 개발자 프로그램에 참가해야 합니다. 비용은 연간 99달러이며, 이 프로그램을 이용하면 앱을 빌드하고 테스트한 후 Apple 앱 스토어에 릴리스할 수 있습니다.
참고: iOS 앱 및 Mac 앱을 개발 및 배포하려면 OS X Yosemite(v10.10)를 실행 중인 Intel 기반 Mac이 필요합니다.
iOS 개발자 프로그램에 참가하는 방법은 다음과 같습니다.
Apple 개발자 프로그램 페이지에 로그인합니다.
중요: Safari 브라우저를 사용하십시오. Chrome 또는 Firefox 브라우저를 사용하면 문제가 발생할 수 있습니다.
Enroll 버튼을 클릭합니다.
What You Need To Enroll 페이지에서 정보를 확인한 후 Start Your Enrollment 버튼을 클릭합니다.
Apple ID로 로그인합니다. 아직 Apple ID가 없으면 새로 생성합니다.
연락처 정보와 요청된 비즈니스 정보를 입력합니다.
라이선스 계약서를 읽습니다. 약관에 동의하면 동의 체크박스를 선택하고 Continue 버튼을 클릭합니다.
프로그램 구매
참고: Apple 개발자 프로그램에 액세스하려면 먼저 회원 자격을 승인받아야 합니다. Apple에서 회원 자격을 승인하는 데는 보통 24시간 정도가 소요됩니다.
프로그램 활성화
Apple 개발자 프로그램 포털에 로그인하면 왼쪽에 Program Resources 리스트가 나타납니다. Certificates, IDs & Profiles를 클릭하면 앱을 개발하고 배포하는 데 필요한 인증서, 식별자, 프로파일 및 기기를 관리할 수 있습니다.
프로비저닝 프로파일은 권한을 부여받은 개발 팀과 개발자 및 기기를 연결하고 기기를 테스트에 사용할 수 있도록 해줍니다. 애플리케이션 코드를 실행할 각 기기에 개발 프로비저닝 프로파일을 설치해야 합니다.
각 개발 프로비저닝 프로파일에는 개발 인증서, 고유 기기 식별자(UDID)와 App ID가 포함되어 있습니다.
기기를 테스트에 사용하려면 프로비저닝 프로파일에 개발 인증서를 포함해야 합니다. 하나의 기기가 여러 개의 프로비저닝 프로파일을 포함할 수 있습니다.
인증서는 앱이 개발 전용인지 앱 스토어에 릴리스할 예정인지를 결정합니다. Ad Hoc 프로덕션 인증서를 사용해야 게임의 모든 기능(예: 게임 센터 등)을 테스트할 수 있습니다.
식별자는 프로젝트 식별에 사용하는 고유 ID입니다. 기본 프로젝트 또는 첫 iOS 프로젝트인 경우 App ID를 생성해야 합니다. 이는 Unity3D 프로젝트의 Bundle ID와 거의 유사합니다.
팁: 서명 식별자 및 인증서에 대한 자세한 내용은 Apple 개발자 웹사이트의 서명 ID 및 인증서 유지관리를 참조하십시오.
기기는 프로젝트를 테스트할 iPhone, iPad, iPod 등과 같은 하드웨어입니다. 게임을 테스트할 각 기기에 대해 UDID를 검색해서 가져와야 합니다. 그런 다음 iOS 개발자 포털의 기기 섹션에 UDID를 추가하십시오.
참고: 매년 일정 수의 기기를 등록할 수 있습니다. 등록 가능한 최대 기기 개수는 멤버십 연도별로 제품군당 100개입니다. 자세한 내용은 Apple 개발자 웹사이트의 Maintaining Identifiers, Devices, and Profiles 항목에서 개발자 계정을 사용하여 기기 등록을 참조하십시오.
인증서를 만들 때는 개발 인증서(테스트 전용) 또는 프로덕션 인증서(앱 스토어를 통해 앱을 배포하는 데 사용)를 생성할지 결정해야 합니다.
팁: 프로덕션 인증서를 생성하십시오. 두 인증서 타입 모두 개발에 사용할 수 있지만 프로덕션 인증서를 사용하면 Apple 스토어를 통해 앱을 더 간편하게 릴리스할 수 있습니다.
인증서를 키체인에 추가하려면 인증서 파일을 찾은 후 더블 클릭합니다. 그러면 키체인 접근 프로그램이 실행됩니다. “인증서를 키체인에 추가하시겠습니까?”라는 메시지가 포함된 팝업이 나타나면 로그인을 선택하고 Add 버튼을 클릭합니다.
Unity 클라우드 빌드를 사용하여 앱을 생성하려면 인증서 파일을 p12 파일로 전환해야 합니다. p12 파일에는 프라이빗 키와 인증서가 포함되어 있으며 코드를 서명하는 데 사용됩니다. 일반적으로, 네이티브 Xcode로 프로젝트를 개발하는 경우 이 프로세스는 백그라운드에서 처리됩니다.
p12 파일을 생성하는 방법은 다음과 같습니다.
Mac에서 Finder를 열고 Applications/Utilities로 이동하여 키체인 접근 프로그램을 실행합니다.
왼쪽 열의 키체인에서 Login이 선택되었는지 확인합니다.
왼쪽 열의 Category에서 My Certificates가 선택되었는지 확인합니다. 메인 키체인 접근 창에서 인증서를 선택합니다.
참고: 일반적으로 인증서는 My Certificates에 있습니다. 이곳에 없다면 Certificates에서 찾아보십시오.
File menu에서 File > Export Items를 선택하거나 Export를 마우스 오른쪽 버튼으로 클릭하여 선택합니다.
File Format 드롭다운 메뉴에서 Personal Information Exchange(.p12)를 선택합니다.
참고: Category의 Keychains and My Certificates에서 Login을 선택하지 않으면 p12 옵션이 회색으로 표시됩니다.
p12 파일에 대한 암호를 생성하라는 메시지가 나타납니다.
중요: 암호를 다른 곳에 기록해두십시오. Unity 클라우드 빌드에서 iOS 빌드를 설정할 때 이 암호를 입력해야 합니다.
Apple은 앱을 설치할 각 기기에 대해 UDID를 요구합니다. 이는 개발 목적을 위해 필요합니다. 앱이 앱 스토어에서 승인되면 누구나 다운로드하여 설치할 수 있습니다. 단, 올바른 iOS 버전을 보유하고 기타 필요한 요구 사항을 충족해야 합니다.
iTunes를 사용하여 기기의 UDID를 검색해서 가져올 수 있습니다. 이 프로세스에 대한 자세한 내용은 WhatsMyUDID.com을 참조하십시오.
기본 단계는 다음과 같습니다.
기기 UDID를 찾았으면 Apple 개발자 포털에 추가해야 합니다.
각 기기에 대해 이 단계들을 반복합니다.
iOS 인증서를 생성했으므로, 이제 App ID를 생성할 수 있습니다.
Apple 개발자 포털의 왼쪽 열에서 App ID를 클릭합니다.
Register iOS App IDs 창의 오른쪽 상단에 있는 추가 버튼(+)을 클릭합니다.
App ID 등록에 대한 자세한 내용은 식별자, 기기 및 프로파일 유지관리를 참조하십시오.
Continue 버튼을 클릭합니다.
Confirm your App ID 페이지에서 입력한 정보를 확인하고 Submit 버튼을 클릭합니다.
다음 단계에서는 .mobileprovision 파일을 생성합니다. .mobileprovision 파일은 p12 인증서, App ID를 결합하고 앱을 테스트할 기기의 UDID를 식별합니다.
생성된 .mobileprovision 파일을 데스크톱 컴퓨터에 다운로드합니다.
iOS 클라우드 빌드를 설정하려면 다음 항목이 필요합니다.
기본 iOS 사용이라면 이 프로세스로도 충분합니다. Xcode 프레임워크가 포함된 프로젝트의 경우에는 추가 설정 작업을 수행해야 합니다.
Xcode 프레임워크를 수동으로 추가하려면 Xcode Manipulation API를 사용하십시오. 이 API는 Unity iOS 팀에서 유지관리되며, 외부 Xcode 프레임워크를 관리할 수 있도록 해줍니다.
이 API를 사용하는 Unity 프로젝트 예제는 BitBucket에서 UpdateXcodeProject 예제 프로젝트를 참조하십시오. 이 예제를 사용하여 테스트하거나 학습할 수 있습니다.
예제 프로젝트의 플러그인 중 하나는 외부 Xcode 프로젝트 조작 DLL입니다. 이 DLL은 Unity의 Bitbucket 저장소에서 제공되는 소스 빌드 제품입니다. Xcode 프로젝트 조작 기능을 포함할 때 사용하는 가장 선호하는 방식은 C# 소스 코드 파일을 프로젝트의 Assets/Editor 폴더에 복사하는 것입니다.
Xcode Manipulation API를 사용하는 방법에는 다음의 두 가지가 있습니다.