[Unity] 모바일 빌드
iOS 빌드
- Xcode 프로젝트
- 유니티 빌드시 Xcode 프로젝트가 생성됨
- Mac에서 Xcode를 이용하여 Build -> Archive를 해야함
- Replace / Append 모드
- 기존의 Xcode 프로젝트 변동 사항 유지를 위한 Append 모드 제공
- ipa 빌드
- 유니티에서 바로 ipa빌드 불가
iOS 빌드 주의사항
- IL2CPP 필수
- 64비트 단말기 대응
- Target SDK 설정
- Device SDK (단말기용 빌드)
- Simulatro SDK (Xcode Simulator용 빌드)
- Enable Bitcode
- 향후 업데이트와 빠른 다운로드를 제공하기 위한 기술
- 앱 용량이 커지는 현상, 써드파트 라이브러리 충돌
- 가급적 No로 설정! (Xcode 프로젝트에서 설정 가능)
Android 빌드
- ADT / Gradle 프로젝트
- ADT는 eclipse 또는 ant로 빌드
- Gradle은 Android Studio 또는 gradle로 빌드
- apk 빌드
- 유니티에서 바로 apk 빌드 가능
- Android SDK, Android NDK, JDK 설정 필요
- Append 모드가 없다.
Android 빌드 주의사항
- 가급적 Gradle 사용
- ADT는 구글에서 더 이상 지원하지 않음
- 64k 참조제한, MultiDex 같은 문제는 ADT로 해결 불가능
- apk 빌드 사용 권장
- ADT / Gradle 프로젝트 생성이 없어 빌드가 빠름
- KeyStore 생성 / Signing이 유니티에서 가능하여 편함
PlayerSetting
- 플랫폼 별 빌드 세부설정
- ProjectSettings.asset 파일에 저장
- 여러 종류의 빌드를 위해 C# 스크립트 빌드 셋팅 권장
PostProcessBuild 활용
- iOS 빌드시 Append 모드의 문제점
- 모듈 수정/삭제시
- Xcode 프로젝트에 이전 내용이 그대로 남아있음
- 유니티 업데이트 시
- Xcode 프로젝트 생성방식이 변경된 경우 변경 사항 제대로 적용 안됨
- 그래서 Append 모드 이제 사용 안함
- 대신 Replace 모드 사용
- Xcode 프로젝트 설정은 Post ProcessBuild 활용
- 모듈 수정/삭제시
유니티 빌드 자동화
- Jenkins
- 무료
- 다양한 버전 관리 시스템과 빌드를 지원
- 사용자가 많아 참고자료가 풍부하다
- 플러그인이 굉장히 많다
- 꽤 많은 빌드 지식 필요
- 확장성 유연성이 뛰어남
- Unity Cloud Build
- 유니티 전용 빌드 자동화 서비스
- 유료 서비스
- 빌드 전용 맥 또는 PC 필요 없음
- 매우 간단하고 쉽게 빌드 자동화 셋팅 가능
- Jenkins 만큼, 세세하고 다양한 설정은 불가능
- 확장성에 제약이 많음
빌드 자동화를 위한 필수 Plugin 설치
- Unity3D Plugin : 유니티 빌드를 위한 플러그인
- Xcode Plugin : iOS 빌드를 위한 플러그인
- Ant Plugin / Gradle Plugin : Android 빌드를 위한 플러그인
빌드 프로세스 구성
- 빌드 전 단계
- 빌드를 하기 위한 준비 단계
- 프로젝트 설정, 소스 코드 관리, 빌드 유발, 빌드 환경
- 빌드 단계
- 실제로 빌드가 이루어지는 단계
- Unity3D, Xcode, Ant, Gradle, Shell, Maven, MSBuild
- 빌드 후 조치
- 빌드가 끝난 후 테스트, 배포, 알림 등의 작업을 하는 단계
- ftp, 아마존 S3, Test Flight 등의 배포 작업
- Email, Slack 등의 알림 작업