[iOS] 아이폰 ipa 다운로드 링크 방법 (plist 파일 작성방법)

[iOS] 아이폰 ipa 다운로드 링크 방법 (plist 파일 작성방법)

아이폰으로 접속한 특정 웹페이지에서 ipa 파일을 다운로드 및 설치하게 하려면 어떻게 해야할까?

전체적인 이해를 돕기 위해 안드로이드 먼저 알아보자.

1. 안드로이드 apk 파일 다운로드 링크 방법


안드로이드의 앱 설치파일 확장자는 apk 다. apk 파일은 html 상에서 a 태그로 링크를 걸면 안드로이드 기기에서 해당 링크 클릭 시 apk 파일을 다운로드 받을 수 있고, 이어서 앱을 설치할 수 있다.

예를 들어 <a href=”https://특정도메인/test.apk“>클릭</a> 이라고 html 을 작성했다면 안드로이드 기기에서 “클릭” 버튼을 눌렀을 때 apk 파일 다운로드 및 설치가 잘 이루어진다는 뜻이다.

2. 아이폰 ipa 파일 다운로드 링크 방법

한편, 아이폰의 앱 설치파일 확장자는 ipa 다. ipa 파일은 안드로이드와 달리, html 상에서 a 태그로 링크를 걸어도 소용없다. 아이폰에서 해당 링크 클릭 시 ipa 파일을 다운로드 받을 수 없고, 설치를 진행할 수 없다.

예를 들어 <a href=”https://특정도메인/test.ipa“>클릭</a> 이라고 html 을 작성했다면 아이폰에서 “클릭” 버튼을 눌렀을 때 ipa 파일 다운로드 및 설치는 진행되지 않는다.

아이폰에서 특정 링크를 클릭 시 ipa 파일을 다운로드 및 설치하려면, 우선 plist 라는 확장자로 파일을 작성해야 한다. plist 파일을 만들고, 해당 plist 파일 안에 ipa 정보를 입력해야 한다. 그리고 a 태그에는 itms-services 라는 프로토콜로 plist 를 링크시켜야 한다.

예를 들어 plist 를 다운받을 수 있는 주소가 https://특정도메인/test.plist 라면, a 태그는 다음과 같이 작성한다.

<a href=”itms-services://?action=download-manifest&url=https://특정도메인/test.plist“>

그리고 plist 확장자 파일은 아래 예시와 같이 작성한다.

test.plist 예시

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version=”1.0″>
<dict>
    <key>items</key>
    <array>
        <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string>https:// 특정도메인/test.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>kr.co.ddoc.project</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>테스트앱</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

1. <key>url</key> 다음에 위치한 <string> 태그 내용으로는 ipa 파일의 URL 경로를 입력한다.

2. <key>bundle-identifier</key> 다음에 위치한 <string> 태그 내용으로는 ipa 파일의 해당하는 앱 패키지명을 입력한다.

3. <key>title</key> 다음에 위치한 <string> 태그 내용으로는 앱의 제목을 입력한다.

여기서 주의할 점은 plist 파일을 바라보는 URL이 https 프로토콜을 사용해야 한다는 점이다.

참고로 웹서버(ex : 아파치 웹서버) 또는 WAS(ex : 톰캣) 에 SSL 인증서를 입히면 http 프로토콜로 동작하던 사이트가 https 프로토콜로 동작한다.

만약 업로드할만한 마땅한 서버가 없거나 https 인증서를 입힐 상황이 안된다면 드랍박스(dropbox)라는 웹사이트를 이용할 수 있다. 드랍박스에 파일 업로드 및 다운로드 링크를 만드는 방법은 아래 글을 참고하면 된다.

드랍박스(dropbox) 파일 다운로드 주소 만드는 방법 : https://blog.naver.com/bb_/221581346975