본문 바로가기

개발 코딩 정보 공유/애플 iOS 스위프트 Xcode

사내 배포라면? ios 엔터프라이즈 배포! 를 이용하자.

ios 엔터프라이즈 배포 방법에 대해

 

소개

안녕하세요. 김과자 입니다.

사실 ios 배포는 개발자에게 부담이 또하나의 큰 작업 입니다.

방법도 다양하고 내용도 복잡합니다. 아직도 매번 헷갈리고 있습니다 😭

지난 글을 통해 여러가지 배포 방법에 대해서 확인해보았는데요.

오늘은 그중에서도 엔터프라이즈 계정을 이용한 배포 방법에 대해서 작성해 보겠습니다.

 

본문

엔터프라이즈 계정 가입 필요!

너무나도 당연하지만 엔터프라이즈 멤버쉽에 가입이 되어있어야 합니다. 엔터프라이즈 계정은 일반 마켓, 스토어에 배포 하지 않는 사내, 혹은 조직내의 배포만을 위한 장치라고 생각하면 됩니다. 만약 사용중에 스토어에 배포 하고 싶어도 해당 계정으로는 배포 할수 없습니다.

만약 마켓 이나 스토어 배포를 원한다면 해당 계정을 따로 만들어야 합니다.

개발자 기업 프로그램 (엔터프라이즈 계정)

해당 멤버쉽은 돈만 있으면 다 가입할수 있는 것은 아닙니다. 엔터프라이즈 계정에 가입하기 위해서는 아래의 해당 조건이 충족 되어야 합니다. 

  • 100명 이상의 직원
  • 법인 사업자 일것
  • 사내 배포용으로 쓸것
  • 매년 결재 비용을 지불할것

지난 글과도 이어질수 있다고 생각하는부분은 우선 법인으로 계정을 생성해야 합니다.

2023.06.07 - [개발 코딩 정보 공유/애플 iOS 스위프트 Xcode] - 골치아픈 애플 개발자 법인등록에 대해서 알아보자

각종 절차를 거쳐서 계정에 가입했다고 치고 다음으로 넘어가겠습니다.

 

빌드하기

1. Xcode 를 열고 Product > Clean Build Folder 를 우선 해주겠습니다.

 

 

product > archive 로 이동

2. 그리고 나서 앱 타겟으로 가서 버전을 확인합니다. 빌드후 앱을 구분짓는 버전이 됩니다.

 

버전을 체크 해준다

 

3. 다시 Product > 로 진입해서 Archive 를 클릭합니다.

 

아카이빙중

상단에 해당 progress가 표시되고 수초뒤 organize 메뉴가 등장합니다.

배포할 해당 앱버전을 선택하고 distribution 을 클릭합니다.

배포하겠습니다...
귀찮게도...여러가지 방법이 있다.

엔터프라이즈를 선택합니다. 그리고 다음 다음 쭉쭉 진행하세요.

 

none 으로 두고 진행
아무거나 넣어준다
그냥 두고 진행

 

위에 매니페스트 파일등록에 필요한 URL 지정은 'https' 로 시작하기만 하면 뭐든 상관없습니다. 아래에서 어짜피 수정하기 때문입니다.

 

 

export로 최종 경로로 ipa 파일을 추출한다

 

이렇게 해서 경로지정후 'export' 해주시면 됩니다.

 

배포

추출된 ipa파일

 

 

 

해당 폴더에 ipa 파일이 떨궈졌을텐데요. 엔터프라이즈 배포를 위해서는 'https' 를 가진 서버호스팅 즉 조직내의 서버공간이 필요합니다.

저희는 테스트니까 없으므로...  가장 흔한 방법인 드랍박스(dropbox)를 이용해보겠습니다.

우선 드랍박스에 가입을 해주시구요. 자신의 저장소로 이동합니다.

드랍박스에는 3가지 파일을 업로드 해야합니다.

 

1. AAA.ipa 파일

2. manifest.plist 파일

3. index.html 파일

 

위의 순서대로 업로드를 해주겠습니다.

업로드는 드래그앤 드랍으로

해당 ipa 파일을 끌어다 놓습니다. 그렇게 업로드를 하시고 공유 링크를 통해 주소를 복사해주세요.

복사한 주소를 아래와 같이 변경해서 붙혀넣어주세요.

'https://dl.dropboxusercontent.com/s/asdf234234/AAA.ipa'

 

manifest 예제

<?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://dl.dropboxusercontent.com/s/pang7q4jl5jxn6e/AAA.ipa</string>
				</dict>
				
			</array>
			<key>metadata</key>
			<dict>
				<key>bundle-identifier</key>
				<string>com.aaa.bbb.ccc</string>
				<key>bundle-version</key>
				<string>1.0.0</string>
				<key>kind</key>
				<string>software</string>
				<key>platform-identifier</key>
				<string>com.apple.platform.iphoneos</string>
				<key>title</key>
				<string>AAA app</string>
			</dict>
		</dict>
	</array>
</dict>
</plist>

bundle-identifier, bundle-version 등도 한번씩 확인하고 저장합니다.

또한 이미지 파일등이 필요없어서 수정하였습니다.

그리고 다시 드랍박스에 올려주겠습니다.

 

마찬가지로 manifest 또한 공유 주소를 복사합니다. 그리고 마지막으로 index 파일을 하나 작성해주세요.

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
</head>
<body>
	<ul>
		<li>
			<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/wk2bo77dmchv6fn/manifest.plist">다운로드</a>
		</li>
	</ul>
</body>
</html>

 

복사한 링크를 아래와 같은 형태로 작성하시고 생성한 index.html 에 붙혀넣습니다.

'itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/asdf234sdff/manifest.plist'

 

그리고 다시 업로드 해주겠습니다. 최종적으로 드랍박스에 올라간 파일은 3개가 되었습니다.

이렇게 하시고 마지막으로 올라간 index.html 의 링크를 유저들에게 전달합니다.

잘 안되시면 링크를 타고 들어가서 index.html 파일을 자신의 디바이스 경로에 다운로드 받고

열어서 설치(a 태그) 텍스트를 눌러주시면 됩니다. 설치가 시작되고...

설정 > 일반 > VPN 기기관리 > 해당 인증서 > 신뢰하기 까지 진행해주신후 

설치를 해주시면 됩니다. 

 

결론

주의 사항은 반드시 메니페스트의 버전, id 값 확인하시고 링크 주소도 순서대로 진행하시어야 

저 같은 삽질의 과정을 거치지 않습니다 😅