앱 배포
앱 배포 하기
AppGuard SDK 적용을 완료한 IPA를 AppStore에 심사제출 및 배포를 하기 위해서는 최종적으로 AppGuard Manager에서 AppGuard Sign 을 적용해야합니다. IPA 위변조 탐지 기능이 정상적으로 수행되기 위해서는 AppGuard Sign이 반드시 적용되어야 합니다.
IPA에 AppGuard Sign을 적용하지 않을 경우, 보안정책에 의하여 App이 비정상 종료될 수 있습니다.
AppGuard Sign
AppGuard Manager의 [Sign Register] 을 선택하고, [Sign Register Application] 버튼을 클릭합니다.

AppGuard Manager에 등록하고자 하는 IPA파일을 클릭하여, [IOS Sign Register] 창에 Drag & Drop 합니다.

AppGuard Manager의 [IOS Sign Register] IPA 파일 업로드 완료 후 하단의 [Sign Register] 버튼을 클릭합니다.

AppGuard Manager 서명작업이 완료 창을 확인 후 닫기 버튼을 클릭합니다.

AppGuard Manager에 등록 작업이 완료되면 아래와 같이 등록 내용을 확인 할 수 있으며, Down 버튼을 클릭하여 등록이 완료된 IPA를 다운로드합니다.

IPA 코드 서명 및 배포
AppGuard Manager에 AppGuard Sign을 적용한 IPA는 고객사의 배포용 인증서로 코드 서명이 필요합니다.
당사에서는 고객사의 인증서를 사용한 코드 서명의 편의를 제공하기 위해 iparesign.sh 스크립트를 제공하고 있습니다.
코드 서명을 수행할 폴더를 만들고 AppGuard Sign이 적용된 IPA 파일과 iparesign.sh 파일을 복사합니다.

터미널을 실행하고, 코드 서명을 수행할 폴더로 이동합니다. 아래와 같이 명령어를 입력하여 진행합니다.
$ cd [iparesign.sh 위치 경로]
$ ./iparesign.sh --ipa [/path/to/your_app_appguarded.ipa]
코드 서명 진행 시 단계별 진행 로그를 확인할 수 있습니다. 아래 로그와 같이 정상적으로 수행되었는지 확인합니다.
1. Check if an ipa file exists
[success] "QATestGame_appguarded.ipa"
2. unzip ipa package
[success] "QATestGame_appguarded.ipa"
. . .
10. codesign the app
/Users/inca/Downloads/iparesign/resigncompleted/Payload/xCode_1402_TestApp.app: replacing existing signature
[success] codesign the app
11. zip the package
[success] "/Users/inca/Downloads/iparesign/resigncompleted/QATestGame_appguarded_resigned.ipa"
(this ipa file has to upload at appstoreconnect.apple.com)
============= resign completed =============
inca@c2211-001Macmini iparesign %
iparesign.sh 가 정상적으로 수행되었다면, 코드 서명이 적용된 resigncompleted/your_app_appguarded_resigned.ipa 파일이 생성됩니다.
해당 파일을 [Transporter]를 사용하여 AppStore에 심사 제출 시 사용할 수 있습니다.
iparesign 상세 설명
iparesign.sh 는 고객사의 인증서를 통하여 IPA의 코드 서명을 쉽게 적용할 수 있도록 제공되는 Shell Script 입니다.
iparesign.sh --ipa path [--entitlements path] [--profile path] [--identity "Your Signing Identity"] [--out path]
| 옵션 | 설명 |
|---|---|
--ipa | 코드 서명할 IPA를 지정하기 위한 옵션입니다. |
--entitlements | entitlements 파일을 지정하기 위한 옵션입니다. |
--profile | 코드 서명에 사용할 profile을 지정하기 위한 옵션입니다. |
--identity | 코드 서명에 사용할 Signing Identity를 지정하기 위한 옵션입니다. |
--out | 코드 서명이 적용된 IPA의 생성 위치를 지정하는 옵션입니다. |
iparesign.sh 를 사용하여 코드 서명을 하기 위해서는 PC에는 배포용 인증서가 설치되어 있어야 합니다.