[iOS] 브라우저에서 IPA 배포하기 (B2B, Enterprise)

1. 개요

  • ios-deploy
  • Xcode
  • TestFlight 혹은 AppStore
  • Dropbox
  • 별도 서버 구축 

아이폰에서 ipa 설치를 위한 방법은 크게 5가지 정도로 나눌 수 있습니다.

in-house 앱을 불특정 다수에게 배포가 필요한 상황이라면 4번 혹은 5번 방식을 사용할 수 있습니다.

 
오늘은 그 중 5번 방법을 활용해 ipa 파일을 배포하는 방법에 대해 알아보도록 하겠습니다.

2. 서버 준비

2-1. apache httpd

사용자가 접속할 수 있는 웹 서버를 열어주도록 합니다.
2021.10.22 - [OS/Mac] - [Mac] apache httpd로 웹 서버 구동하기

 

[Mac] apache httpd로 웹 서버 구동하기

1. brew 설치 2021.10.13 - [OS/MacOS] - [MacOS] Homebrew 설치 및 사용법 [MacOS] Homebrew 설치 및 사용법 1. Homebrew(홈브류)란? 단순하게 패키지 관리자라고 할수도 있고 더 풀어보자면 macOS에서 소프트웨..

dvlpr-chan.tistory.com

2-2. ngrok

ngrok를 이용하여 로컬 웹 서버를 외부로 열어주도록 하겠습니다.

별도의 서버가 있다면 생략 가능한 부분입니다.

2021.10.13 - [Back-End/Node.js] - [Node.js] 외부망에서 로컬호스트 접속하기(ngrok)

 

[Node.js] 외부망에서 로컬호스트 접속하기(ngrok)

1. ngrok 란? 외부망(public)에서 localhost에 접근하기 위해서는 포트포워딩 과정이 필요한데 이 과정을 간소화해주는 작업을 ngrok에서 할수 있습니다. 이것을 ngrok에서는 Secure tunnels to localhost 라..

dvlpr-chan.tistory.com

3. ipa 준비

아카이브 단계에서 Include manifest for over-the-air installation 항목을 체크합니다.

App URL에 2-1에서 설정한 경로를 지정합니다.

저는 테스트를 위해 /usr/local/var/www/ipa/test/test.ipa 경로를 지정하였습니다.

입력을 완료했다면 해당 경로에 export 합니다.

ipa와 함께 manifest.plist 파일도 함께 생성이 됩니다.
manifest.plist 내용

4. 서버 설정

<meta charset="utf-8">
<div">
	<a href="itms-services://?action=download-manifest&url=https://8491-218-55-79-254.ngrok.io/ipa/test/manifest.plist"
	style="font-size: 10rem;">Install</a>
</div>

외부에서 접속하기 위해 html 화면을 간단하게 하나 작성합니다.

저의 경우 localhost:8080/ipa/test.html 경로에 작성하였습니다.

itms-services://?action=download-manifest&url= 뒤에 3번에서 생성한 manifest.plist의 ngrok url을 삽입합니다.

 

itms-services 프로토콜을 통해 접속한 아이폰 유저는 해당 plist의 ipa 경로를 바라보고 다운로드가 진행될 것입니다.

5. 설치

위 과정을 모두 마쳤다면 앱 설치를 위한 준비가 모두 완료되었습니다.

이제 ~ipa/test.html URL로 아이폰에서 접속 후 Install 버튼을 클릭하면 설치가 진행됩니다.