모바일 개발에서 가장 위험한 메시지
Source: Dev.to
Overview
모바일 앱을 개발한다면, 최소 한 번은 다음과 같은 메시지를 본 적이 있을 겁니다:
“Hey… the build isn’t installing.”
그 순간 하루가 망가집니다. 원인을 찾아보게 되죠:
- 프로비저닝 프로파일이 만료됐을 수도 있습니다.
- 테스터의 UDID가 포함되지 않았을 수도 있습니다.
- iOS 버전이 너무 오래됐을 수도 있습니다.
- 개발자 모드가 활성화되지 않았을 수도 있습니다.
- 앱 서명이 잘못됐을 수도 있습니다.
이제 거의 아무 정보도 없는 상태에서 다른 사람의 폰에 설치 실패를 디버깅해야 하고, 보통 가장 안 좋은 시점에 이런 일이 발생합니다. 익숙하신가요?
The Problem Nobody Talks About
오늘날 모바일 개발에는 놀라운 툴링이 있지만, 테스트 빌드를 배포하려는 순간 다시 금방 깨지기 쉬운 상황이 됩니다. iOS ad‑hoc 빌드를 성공적으로 설치하려면 필요한 모든 조건이 충족되어야 합니다. 하나라도 빠지면 설치가 실패합니다—대부분 테스터가 이미 빌드를 다운로드한 뒤에 말이죠.
Most Build Distribution Tools Don’t Solve This
대부분의 툴은 파일 공유에 초점을 맞춥니다: IPA 파일을 업로드하고 테스터가 다운로드합니다. 개발자가 실제로 신경 쓰는 질문, “이 빌드가 대상 디바이스에 설치될까?” 에는 거의 답하지 못합니다. 문제가 생기면 개발자는 탐정이 됩니다.
After Hitting This Problem Too Many Times…
다운로드 후에야 설치 실패를 알게 되는 것이 왜 불편한지 궁금해졌습니다. 모바일 빌드 파일을 파싱하고, 설치를 시도하는 디바이스와의 제약 조건을 비교하는 실험을 해봤습니다. 그 아이디어는 결국 Relio라는 작은 프로젝트로 발전했으며, 테스터가 다운로드하기 전에 빌드가 설치될 수 있는지를 예측합니다.
What This Project Taught Me
Relio를 만들면서 우리는 여전히 앱 주변 인프라와 씨름하고 있다는 것을 깨달았습니다. 모바일 배포 생태계의 많은 부분이 여전히 놀라울 정도로 수동적입니다.
Curious How Other Teams Handle This
현재 다른 모바일 팀들과 이야기를 나누며 그들이 빌드 배포를 어떻게 처리하는지 이해하려고 합니다. 내부 툴을 사용하는 팀도 있고, 맞춤형 워크플로우를 가진 팀도 있습니다. 여러분은 이 문제를 어떻게 해결하고 있는지 공유해 주세요.