본문 바로가기
모바일/IOS

[IOS] mac OS를 이용하여 IPA 파일 설치

by DeokWoo 2020. 3. 16.

■ 환경 구성

- mac OS (10.15)

- 탈옥된 아이폰 6S(64bit)

 

Cydia Impactor를 통해 기기에 IPA를 설치 시 Xcode 7.3 에러 발생으로 인해 설치가 되지 않는다. (개발자 애플ID가 필요한다고 나오는데 개발자 애플 ID 만드는 과정이 매우 복잡하다.) IPA 파일 설치 방법에 대해 여러 시도를 하던 중 mac OS를 통해 IPA 파일 설치가 가능한 것을 확인하였다.

 

1. Xcode 11설치

- Safari 클릭 후 URL 주소창에 입력한다.(https://developer.apple.com/download/more/) 애플 id 로그인 페이지가 나오면 로그인 하고 접속한다. 검색 창에 Xcode 11 검색 후 Xcode 11.xip 클릭하면 자동으로 다운로드 된다. Xcode 마다 호환하는 버전이 있으니 확인하고 설치해야 된다. 

(https://developer.apple.com/documentation/xcode_release_notes)

 

XCode 파일 다운로드 화면

 

2. Xcode를 통한 ipa 파일 설치 과정

 

- 설치가 모두 완료되면 Xcode 실행 후 Create a new Xcode proect 메뉴 클릭

 

Xcode 프로젝트 생성 화면

 

- [iOS Application - Single View App] 클릭 후 Next 버튼 클릭

 

프로젝트 생성 화면

 

- 프로젝트 이름 생성하고(Product Name, Organization Name , Organization identifier) Next 

버튼 클릭

 

프로젝트 옵셩 생성 화면

 

- 프로젝트 경로를 설정해주고 (무난하게 Desktop으로 설정) Create 버튼 클릭

 

 

- 지정한 경로에 Xcode 폴더 생성 확인

 

 

- USB 케이블을 통해 PC와 아이폰 기기 연결 시 VMware에서 메세지 창 하나가 나타날 것이다.(아이폰을 어디에다가 연결할 것인지) VMware에서 작업을 해야하기 때문에 [Connect to a virtual machine - mac0S 10.15 - OK] 버튼 클릭 

 

 

- 연결이 정상적으로 성공하였으면 [Xcode - Window - Devices and Simulators] 메뉴로 들어가면 좌측 상단에 연결한 기기가 보일것이다. 가끔씩 정상 과정을 거쳐도 기기 연결이 되지 않을때가 있는데, 그럴때는 Vmware Shut down Guest 한 뒤 [Settings - USB Controller] 에서 USB 2.0으로 변경 후 옵션 모두 체크한 뒤 다시 시작해서 해결했다. 이 경우에도 기기 연결이 안 될 시에는 인터넷 검색으로 해결해야 될 것 같다. 

 

VMware- 아이폰 연결 성공 화면

 

- 기기 연결도 정상적으로 됐으니 그 다음은 코드 서명 작업을 해야한다. Apple 앱 스토어에서 설치한  앱 혹은 테스트를 위해 별도로 빌드한 앱은 코드 서명을 해야 ios 기기에서 실행할 수 있다. IOS 앱 진단을 할 때 PC에서 복호화 작업을 한 IPA파일의 바이너리를 그대로 기기 내 설치된 앱 폴더의 바이너리랑 교체할 시 앱이 실행되지 않았다. 그 이유가 복호화 한 앱의 코드 서명 작업이 이루어지지 않았기 때문이라는 걸 알게되었다. 이러한 이유로 코드 서명 작업은 IPA 설치를 위해 필수로 이루어져야 하는 과정이다. 지금부터 그 과정을 설명할려고 한다.

먼저, Xcode 최상단 ■ 오른쪽 부분에 연결된 기기 선택 후 [Signing & Capabilities]메뉴 내 Team - Add an Account...를 클릭한다.

 

서명 계정 추가 화면

 

- 애플 계정 정보를 입력한다.

 

애플 계정 등록 화면

 

- 정상적으로 계정이 등록된 것을 확인한 후 화면을 종료한다.

 

애플 계정 정상 등록 화면

 

- 정상적으로 완료되었을 때, Team 입력란에 자신의 계정정보가 들어가 있을것이다. 자신의 계정정보 클릭 시 정상적으로 서명 인증이 완료된 것을 확인할 수 있다.

 

서명 인증 정상 완료 화면

 

- iOS App Signer 앱을 통해 설치할 IPA 파일의 서명을, 자신이 등록한 계정의 인증서로 서명하는 작업을 하게 해준다.

Safari 접속한 뒤 ,  https://dantheman827.github.io/ios-app-signer/ 접속한 후 앱을 다운로드 받는다. 다운로드가 완료되면 앱을 실행해준다. Input File - ipa 파일 선택 / Provisionnig Profile - Re-Sign Only 에서 자신이 만든 Profile 선택 후 Start 버튼을 누르면 저장 경로를 설정하라는 창이 나온다. 설정 경로 지정하고 Save 버튼 클릭한다.

 

IOS App SIgner을 통해 앱 서명 화면

 

- 앱 서명 작업시 서명 error 메세지가 출력되면서 앱 서명이 안되는 경우가 있는데, 그럴때는 [Finder - Go - Utilities - Keychain Access] 메뉴 진입 후 login 내 설치된 Name을 확인하면 자신이 만든 서명 키(iPhone Developer)가 2개가 생성되어 있을것이다. 그 중 먼저 설치된 서명 키 삭제 후 재 실행 시 정상적으로 서명 작업이 완료할 수 있다.

 

Keychain Access 내 자신이 만든 서명 키 중복 확인 화면

 

- 서명 작업을 완료하면 [Window - Devices and Simulators] 메뉴로 진입한 후 하단  + 버튼을 눌러서 서명 작업을 마친 ipa 클릭 시 Installed Apps 목록에 정상적으로 설치된 것을 확인할 수 있다.

 

서명 작업을 마친 IPA가 기기에 설치됐을 시 화면

 

- 기기에서 설치한 앱 실행 시 신뢰할 수 없는 개발자 메세지 창이 하나 출력될텐데 [일반 - 프로파일 및 기기 관리] 메뉴에서 개발자 앱 클릭 후 신뢰 설정을 해 주면 정상적으로 앱이 실행된다.

 

앱 설치 후 개발자 앱 신뢰 설정 화면