내부 배포용 엔터프라이즈 배포 방법
앱스토어에 배포하려 하였으나 정책 등으로 인해 배포가 불가능한 경우, 엔터프라이즈 방식으로 배포가 가능하다. (단, 엔터프라이즈 계정 필요)
1. Xcode에서 Archive 진행 후 오른쪽 Distribute App 선택
2. Enterprise 선택 후 Next 선택
3. All compatible device variants 선택 및 Additional Options 체크 후 Next 선택
manifest 파일이 있어야 배포할 수 있다.
4. 3개의 URL에 아무 값이나 입력 후 Next 선택
App, Image URL을 입력해야 하지만, 어차피 나중에 수정하므로 지금은 아무 URL이나 입력해도 된다.
5. 배포용 인증서와 In House용 프로비저닝 프로파일을 선택한 후 Next 선택
6. 대기. 평소 Adhoc, AppStore용 배포할때는 기다리는 시간이 이렇게 길지 않았던 것 같은데, 엔터프라이즈 배포 할때는 시간이 굉장히 오래 걸렸다..
큰 프로젝트가 아닌데도 10분 정도? 큰 프로젝트는 대략 20~30분이 소요되었다.
7. 생성 완료. Export 선택하여 폴더 선택하면 끝.
8. Export된 폴더 확인
이 중에서 실질적으로 사용하는 파일은 manifest.plist 파일과, Apps 폴더의 앱이름.ipa 파일이다.
9. 드롭박스에 ipa 파일과 아이콘 이미지 업로드
업로드 된 ipa, 아이콘 이미지 선택 후 '공유' > 링크 만들기 > 링크 복사
10. manifest.plist 파일 수정
- Root > items > item 0 > assets > Item0/Item1/Item2 오픈 후 url 변경. 4번에서 복사한 링크를 넣는다.
- Item0은 드롭박스 IPA 파일이 존재하는 링크 입력
Item1, Item2는 드롭박스 아이콘 이미지 링크 입력
단, 링크를 넣을 때 복사되는 링크 형식을 변경해야 한다.
https://www.dropbox.com/~ 형식을 https://dl.dropboxusercontent.com/~ 형식으로 변경
dl.dropboxusercontent.com (복사해서 쓰세요)
추가로, https 형식만 사용이 가능! - 링크 뒤에 ?dl=0 형식 삭제
링크 형식을 변경하는 이유는, 애플에서 해당 링크를 막기 때문이다. - Root > items > Item 0 > thinned-assets 삭제
12. 드롭박스에 manifest.plist 파일 업로드
13. html 작성
a href 값에 아래와 같은 형식으로 입력한다.
itms-services://?action=download-manifest&url=plistitms-services://?action=download-manifest&url=Menifest.plist링크
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>IPA 다운로드</title>
</head>
<body>
<ul>
<li><a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/abc/manifest.plist">다운로드</a></li>
</ul>
</body>
</html>
14. html 사용해서 ipa 설치
*** 참고) 드롭박스 링크 만드는 방법 ***
1. 업로드한 파일 위에 마우스를 올리면 보이는 공유 버튼 선택
2. 오른쪽 하단 링크 만들기 선택
3. 링크 복사하여 사용
'iOS > Swift + Objective-c' 카테고리의 다른 글
[Swift] log에 date, file name, function name, line 쉽게 출력하는 방법 (0) | 2020.10.12 |
---|---|
[iOS] Xcode 주석으로 자동 개발 문서 만드는 방법 (jazzy) (0) | 2020.07.24 |
[iOS] Adhoc 용 IPA 생성 및 배포 (2) | 2020.03.10 |
[iOS] Push Notification (APNS) example (0) | 2020.03.06 |
[iOS] 프레임워크 시뮬레이터 아키텍처 삭제 (platform doesn't have any non-simulator SDKs) (0) | 2020.03.06 |