[ ios 개발 ] 03 . Development 프로젝트 빌드하기
[XCODE]
[ XCODE ]
앱을 ios 로 빌드하려면 두 단계를 수행해야 한다.
- Unity가 Xcode 프로젝트를 빌드한다.
- Xcode가 해당 프로젝트를 기기에 빌드한다.
XCODE는 MacOS에서 사용 할 수 있는 통합개발환경(Intergrated Development Environment , IDE)이다.
설치는 앱스토어 혹은 애플 개발자 사이트에서 가능하며 macOS 11.3 이후부터 지원한다 .
https://developer.apple.com/download/
애플 개발자 사이트에서 받을 수 있는 베타 버전은 폰 빌드까지는 문제 없지만 ,
스토어에 앱을 업로드 할때 오류가 발생 할 수 있다 한다. AppStore를 통해 최신버전을 받아 주었다 .
[실행]
맥 하단 도크에서 LaunchPad를 눌러 Xcode 아이콘을 눌러 실행
- Create a new Xcode Project : 새로운 프로젝트를 만들어 실행할 때 선택
- Clone an exissting project : 깃허브 저장소로부터 소스코드를 내려받아 작업 시 선택
- Open a project or file : 기존의 프로젝트는 파일을 열어서 작업 할 때 선택
일단은 설치까지만 진행하자 .
[빌드 - Unity Xcode 프로젝트 ]
[빌드 세팅]
ios용 빌드를 만들려면 Unity의 BuildSetting - Platform 리스트에서 ios 선택 , Switch Platform 선택
- Run in Xcode : 해당 옵션은 macOs에서 유니티를 실행할때만 보인다.LastesVersoin으로 최신버전을 선택하거나 , Other으로 특정 버전을 선택 할 수 있다 . Browse는 xcode를 찾지 못할때 보인다. (직접 탐색)
- Run in Xcode as : 릴리스 혹은 디버그 빌드로 선택이 가능하다. Release는 앱에 최적화된 버전으로 빌드가 되며, Debug는 디버깅을 돕는 추가적인 코드를 포함한채 테스팅 버전을 빌드한다.
- Symlink Unity libraries : 라이브러리를 xcode 로 카피하는대신 유니티 라이브러리를 참조한다 . 해당 옵션은 xcode 프로젝트의 사이즈를 줄여주며 , iteration 시간을 빠르게 만든다.
- Development Build : 디버그를 돕는다 . 체크시 Autoconnect Profiler, Script Debugging,Scripts Only Build 의 체크가 가능하다 . 또한 DEVELOPMENT_BUILD #define이 가능하게 한다.
- Autoconnect Profiler : 자동으로 빌드에 프로파일러를 연결한다.
- Deep Profiling : 유니티가 모든 코드를 프로파일 하고 . 모든 funcion call을 기록한다 . 다만 많은 메모리와 복잡한 코드와 연동이 안될 수 있다.
- Scripts Only Build:유니티가 스크립트만을 빌드하며 , 데이터 파일은 그전 빌드 그대로 둔다. 만약 코드만 바꾸었다면 iteratoin time을 줄여준다 . 이 설정은 빌드가 한번 이루어지고 사용이 가능하다
- Compression Method: 빌드 타임에 프로젝트의 데이터를 압축한다 . 이것은 에셋,씬,플레이어세팅,Global illumination을 포함한다 .Default 는 아무것도 하지 않는다 . LZ4는 빠른 압축 포맷으로 디벨롭먼트 빌드에 유용하다.앱의 로딩타임을 향상시킨다. LZ4HC는 LZ4의 높은 압축 버전이다 . 릴리즈 빌드에 적합한 결과를 제공한다 .앱의 로딩타임을 향상시킨다.
여기까지가 빌드세팅이다 . 일단 모두 해제.
[플레이어 세팅]
https://docs.unity3d.com/kr/2021.2/Manual/class-PlayerSettingsiOS.html#icon 참고하자 .
ProjectSetting => Player => Other Settings
Signing Team ID는 개발자 계정을 세팅하며 얻은 프로비저닝 파일을 참고하자.
우클릭 - 훑어보기를 통해 확인이 가능하다 .
Team 옆 괄호안에 번호를 입력하면 된다.
하단 Camera Usage Description부터 아래 3개의 설명은 직접 채워줘야 하는 듯 하다.
각각 카메라 사용 , 마이크 사용 , 위치 사용에 대한 설명인듯 하다.
위와 같이 해당 권한에 접근시 띄울 메시지를 정해주는 것이다 .
샘플은 다음과 같다 .
Camera Usage
- We need access to your camera to capture photos and videos for uploading and sharing within the app
Camera Usage
- We need access to your microphone to record audio for in-app voice messages and calls.
Camera Usage
- We need access to your location to provide location-based services and enhance your experience within the app.
여기까지의 과정을 거친후 빌드를 하게되면 xCode 프로젝트 파일이 생성된다.
[빌드 - XCode 가 해당 프로젝트를 기기에 빌드 ]
[설정]
xCode 파일을 열어보자 . 상단 망치모양을 눌러 빌드를 설치할 핸드폰을 설정.
연결되지 않는다면 아이폰의 설정 => 개인정보 보호 및 보안 =>개발자 모드 =>개발자 모드를 활성화.
껐다 켜야 활성화가 될것이다 .
상단의 Unity - iphone => Signing & Capabilities로 들어가준다 .
계정이 없다면 계정을 추가한다 .
상단 Automatically manage signing 클릭 , Team에서 자신의 계정으로 로그인한 후에 팀을 선택한다.
이제 상단 재생 모양 버튼을 눌러 빌드를 시작한다 .
만약 빌드가 완료되었다면 핸드폰에 설치가 될 것이다 .
만약 빌드시 신뢰할 수 없는 개발자 관련 오류가 나온다면
나의 아이폰의 설정 => 일반 =>VPN 및 기기관리 =>개발자앱을 선택후 신뢰함으로 변경하면 빌드가 정상적으로
이루어 진다 .
[추가 설정]
만약 외부 플러그인을 사용해야 한다면 Build Phases => Link Binary With Libraries 의 +를 눌러 추가해준다
예를 들어 블루투스를 사용해야 한다면 CoreBluetooth.framework를 추가하는 식이다.
출처
https://docs.unity3d.com/kr/2021.2/Manual/iphone.html