티스토리 뷰

반응형

Apple 정책으로 인한 AppStore 배포를 거부한 경우 있으신가요?

배포는 해야하는데 Apple에서는 거부하면 배포 못하는게 아닐지 걱정할 수 있는데요. Apple에서는 '엔터프라이즈(Enterprise)' 계정이 있으면 자체적으로 다운 받을 수 있도록 제공하고 있습니다.

준비사항

다음과 같은 과정으로 내부 배포용 앱을 준비합니다.

1. 엔터프라이즈(Enterpirse) 계정 준비
2. 앱 배포 시 Enterprise로 선택합니다.
3. 빌드 완료 후 export 된 ipa 파일 정보를 갖고있는 Manifest.plist 준비합니다.
4. 배포할 서버에 .ipa와 .plist 을 등록합니다.

1. 엔터프라이즈 계정 준비

내부 배포용 앱을 만들기 위해서는 우선 엔터프라이즈(Enterprise) 계정이 있어야합니다.

엔터프라이즈 계정 준비 방법 을 참고하여 계정 준비합니다.

2. Enterprise 빌드

앱 배포 시 Enterprise 빌드를 선택하여 빌드 진행합니다.


빌드 완료 후 Export을 통하여 원하는 곳에 ipa을 생성할 수 있습니다.

3. export 된 ipa 파일 정보를 갖고있는 Manifest.plist 준비

export 된 ipa 파일 정보를 갖고있는 Manifest.plist 준비해야합니다.

Manifest.plist 을 생성한 후 안의 내용은 다음과 같이 작성합니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0.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>[다운받을 수 있는 .ipa 확장자 파일 URL]</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>[bundle-identifier]</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>[title]</string>
</dict>
</dict>
</array>
</dict>
</plist>

[ ] 안의 내용은 [ ]빼고 해당 값에 맞춰서 변경 합니다.

[다운받을 수 있는 .ipa 확장자 파일 URL]
[bundle-identifier]
[bundle-identifier]

4. 배포할 서버에 .ipa와 .plist 을 등록

1) 배포할 서버에 .ipa와 .plist을 등록합니다.

2) 등록한 .plist을 HTML 의 <a> 로 지정합니다.

3) 사용자가 버튼을 눌렀을 때 .plist을 실행하게 되며 앱을 설치할 수 있도록 진행됩니다.

정리

Apple의 정책으로 안한 외부 배포가 아닌 내부 배포로 진행할 경우 엔터프라이즈(Enterprise) 계정으로 .ipa을 생성하여 배포하는 것을 알아봤습니다.

Android apk 빌드와 마찬가지로 Apple에서는 .ipa을 생성한다는 것으로 이해할 수 있는데요. 다양한 앱을 보다 편하게 배포 할 수 있도록 응원합니다.



반응형

'프로그래밍 > iOS' 카테고리의 다른 글

iOS Shared Extention App Build Issue  (0) 2019.01.04
[SWIFT] 메일 보내는 방법 알아보자  (0) 2018.12.21
[SWIFT]클로저  (0) 2018.10.24
iOS 인앱 평가 추가하기  (0) 2018.08.22
FCM Notification 구현해보자  (0) 2018.08.20
댓글