안녕하세요. 김과자입니다.
알면알수록 ... 시리즈 두번째 순서입니다.
잘 모르신다면 아래를...
2020/08/29 - [HELLO_WORLD/애플_IOS] - 알면 알수록 헷갈리는 IOS 환경 #1 - 인증서와 프로비저닝(코드서명)
ios 개발을 하면서 맨날 해도 헷갈리는 그것!
몇가지? 다양한 배포 방법에 대해서 알아보겠습니다.
거짓말 조금 보태서 인증서와 사이닝, 그리고 배포까지 이해하면 ios 개발 반은 먹고 들어가는거죠.
테스트를 위한 배포 방법에는 4가지 정도의 플랜이 있습니다.
- 개발용 테스트
- 애드혹 (adhoc)
- 테스트플라이트
- 엔터프라이즈
이와 같은 배포 방식을 왜 알아야하는가? 하는 의문이 들수 있습니다.
단편적인 예를 들어보겠습니다. 사내에서 개발을 하는데 소스작업을 마무리 하고 이제 테스트를 해야합니다.
안드로이드는 apk 를 말아서?(빌드해서) 파일로 전달하면 각자의 기기 혹은 테스트 기기에서 받아서 테스트를 합니다.
아이폰은 상황이 좀 다릅니다. ipa 자체로 설치가 불가하기 때문이죠.(탈옥안한 정상적인 상태)
그리하여 개발자는 약 4가지의 테스트 방법을 잘 설명한뒤 가장 합당한 방식으로 배포를 하게됩니다.
개발용테스트 방식외에 나머지는 배포용 인증서(distribution)가 설치 되어있다는 가정하에 진행할수 있습니다.
개발용 테스트(가내수공업빌드)
이 방법을 통해 테스트 할수 있다면 꼭 이걸로 하시길 추천 합니다. 이 방법은 별거 없습니다. usb 연결 하시고 기기 꼽고 빌드(런)하시면 됩니다. 이방식의 단점은 테스트 기기의 갯수 만큼 가내수공업 빌드의 수고로움이 커진다는 겁니다. (2-3대까지만 이걸로 하시길...)
주의사항은 개발용 빌드시에는 반드시 auto signning으로 사이닝 하셔야 합니다. 그게 아니라면 개발자 센터에서 테스트할 기기별로 uuid를 등록 하고 프로파일을 다시 받아서 셋팅하는 아주 귀찮은일이 생깁니다.
애드혹 (adhoc) 방식
이 방법을 사용할 수 있다면 꼭 이방법으로...(또???)
애드혹 방식 (over the air) 은 단순합니다. 테스트기기의 uuid를 등록하고 배포하고 해당 기기에서 테스트 합니다.
(100대까지 등록 가능하지만 등록된 기기를 지우려면 계정을 연단위 결재할때에만 지울수 있습니다)
순서를 살펴보죠.
overtheair : 펌웨어 업데이트의 방식 중 하나. 컴퓨터에 연결하지 않고 Wi-Fi 등을 사용하여 무선으로 펌웨어를 업데이트 하는 기술을 말한다.
- 개발완료
- 테스트기기의 uuid를 수집
- 해당 uuid를 등록(개발자 센터)
- 빌드후 export 하여 드랍박스 등의 서버에 업로드
- 해당 기기에 받아서 테스트
간략하게 정리해보았습니다만 이안에 많은 과정이...
다음기회에 상세하게 알아보겠습니다.
테스트 플라이트(베타테스트)
테스트 플라이트 방식의 장점은 uuid 를 수집 하지 않아도 된다는 점 입니다.
그 대신 이메일을 받으시면 됩니다.
???...
테스트 플라이트 방식은 내부배포와 외부배포 방식이 있는데요.
내부 배포는 이메일(애플id) 을 받아서 초대하는 방식 입니다. 초대하고 수락하고 설치하는 과정이 필요하죠.
외부배포 방식은 이메일은 필요없구요. 해당 빌드 업로드후 설치 링크를 전달하는 방식입니다. 외부에 베타 테스트를 위한 방식이라고 볼수 있겠습니다. 꽤나 좋아 보이지만 이방법은 간략한 앱심사를 통과 해야합니다.
테스트 플라이트 방식을 활용하면 앱 설치 등 통계치를 관리 하고 모니터링 할 수 있습니다. 그야말로 베타 테스트로 제격이죠.
애플테스트플라이트방식https://developer.apple.com/kr/testflight/
엔터프라이즈방식
돈만 있다면 이방식을 사용하세요. 거짓말이 아닙니다.
uuid 등록이며 이메일 초대 어쩌구 하는게 다 필요없습니다. 배포하면 테스트를 원하는 모두에게 설치가 가능하죠.
엔터프라이즈 방식은 편리하긴 하지만 원래 사내 배포 용으로 만들어진 서비스 라서 해당 계정으로는 스토어 배포가 불가능 합니다. 당연히 동일한 번들아이디로 사용이 안되구요. 연간 비용이 한화 약 30만원정도 합니다. 신청과정도 굉장히 번거롭습니다. 배포 빌드 시에는 adhoc 방식과도 매우 유사하게 배포 됩니다.(over the air)
엔터프라이즈 계정은 당연히 일반적인 배포 인증서로는 사용이 불가합니다.
엔터프라이즈 배포용 인증서와 프로파일이 필요합니다.
결론
오늘은 몇가지 복잡한 배포 방식에 대해서 훑어 보았습니다. 안드로이드와 다르게 배포파일 하나 전달하는데도 꽤나 복잡한데요. 현장에서 주로 사용하는 방법은 애드혹이나 테스트 플라이트를 많이 사용합니다. 엔터프라이즈 배포는 일반적이진 않습니다. 이중으로 비용이 들기 때문이죠. 상황에 맞는 배포 방법을 찾으셔서 스트레스 없는 즐코딩 하세요^^
다음편에서는 하나하나 상세하게 알아보겠습니다. 😃
'개발 코딩 정보 공유 > 애플 iOS 스위프트 Xcode' 카테고리의 다른 글
IOS NavigationContorller를 활용한 화면 이동 방법 (0) | 2021.11.12 |
---|---|
IOS 스토리보드로 ViewController를 이용한 화면 이동 하기 (0) | 2021.11.10 |
IOS Segue와 ViewController를 사용한 화면 전환 (0) | 2021.11.09 |
IOS 권한체크와 로직처리 (0) | 2021.11.08 |
알면 알수록 헷갈리는 IOS 환경 1 - 인증서와 프로비저닝(코드서명) (2) | 2020.08.29 |