본문으로 이동

.ipa

위키백과, 우리 모두의 백과사전.
IPA
파일 확장자.ipa
개발애플
포맷 종류패키지 포맷
다음의 컨테이너모바일 앱
다음으로부터 확장Zip, JAR

.ipa 파일은 iOS/iPadOS 앱을 저장하는 iOS 및 iPadOS 애플리케이션 아카이브 파일이다. 각 .ipa 파일에는 바이너리가 포함되어 있으며 iOS, iPadOS 또는 ARM 기반 macOS 장치에만 설치할 수 있다. .ipa 확장자를 가진 파일은 확장자를 .zip으로 변경하고 압축을 풀어 압축을 풀 수 있다.

대부분의 .ipa 파일은 x86 아키텍처용 바이너리가 포함되어 있지 않고 휴대폰 및 태블릿의 ARM 아키텍처용 바이너리만 포함되어 있기 때문에 아이폰 시뮬레이터에 설치할 수 없다.[1] 시뮬레이터에서 애플리케이션을 실행하려면 엑스코드 SDK를 사용하여 열 수 있는 원본 프로젝트 파일이 필요하다. 그러나 일부 .ipa 파일은 Payload 폴더에 있는 .app 파일을 추출하고 복사하여 시뮬레이터에서 열 수 있다. 일부 간단한 앱은 이 방법을 통해 시뮬레이터에서 실행할 수 있다.

ipa는 애플에서 사용하는 사실상의 형식이며 이에 대한 사양이 없다. 단일 애플 ID에 대한 재배포를 제어하는 형식으로 디지털 권한 관리 형태가 존재한다.[2] 아이튠즈 12.7(2017년 9월) 이전에는 사용자가 앱 스토어 다운로드 형식으로 ipa 파일에 직접 접근할 수 있었다.[3]

.ipa 파일의 구조

[편집]

IPA에는 아이튠즈 및 앱 스토어가 인식할 수 있는 구조가 내장되어 있다. 아래 예는 IPA의 구조를 보여준다.[4]

/Payload/
/Payload/Application.app/
/iTunesArtwork
/iTunesArtwork@2x
/iTunesMetadata.plist
/WatchKitSupport/WK
/META-INF

위에 표시된 것처럼 Payload 폴더에는 모든 앱 데이터가 포함되어 있다. iTunes 아트워크 파일은 512×512 픽셀 PNG 이미지로, iTunes 및 iPad의 App Store 앱에 표시되는 앱 아이콘이 포함되어 있다. iTunesMetadata.plist에는 개발자 이름과 ID, 번들 식별자, 저작권 정보, 장르, 앱 이름, 출시 날짜, 구매 날짜 등 다양한 정보가 포함되어 있다.

iTunesArtwork에 JPEG 파일을 사용하는 것이 일반적이지만 문서화되지 않았다.

Apple은 2017년부터 IPA에 등록된 Zip 알고리즘 대신 LZFSE를 사용해 왔다. 이 경우 "압축 방법" 필드는 99로 설정된다.[5]

코드 서명은 .app 번들 디렉터리에서 처리된다. META-INF 폴더에는 IPA를 생성하는 데 사용된 프로그램에 대한 메타데이터만 포함된다.[6]

같이 보기

[편집]

각주

[편집]
  1. “How to open an IPA file on Windows”. Reincubate. 2019년 4월 8일에 확인함. 
  2. “itunes – How does iOS app DRM work, exactly?”. 《Ask Different》. 2012. 
  3. Clover, Juli (2017년 9월 12일), 《Apple Releases iTunes 12.7 With Major Changes, Including No Built-In App Store》 (영어), MacRumors, 2024년 3월 8일에 확인함 
  4. “Reverse Engineering iOS Applications” (PDF). ARXAN. 2014. 2017년 12월 22일에 원본 문서 (PDF)에서 보존된 문서. 2019년 4월 8일에 확인함. 
  5. “unzip with lzfse support”. 《sskaje》. 2017년 8월 23일. 2021년 7월 29일에 원본 문서에서 보존된 문서. 2023년 3월 21일에 확인함. 
  6. “Pulling apart an iOS App”. 《Raz》. 2017년 12월 29일. 2020년 7월 14일에 원본 문서에서 보존된 문서. 2020년 3월 4일에 확인함.