.ipa

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

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

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

.ipa 파일의 구조 
IPA에는 아이튠즈 및 앱 스토어가 인식할 수 있는 구조가 내장되어 있다. 아래 예는 IPA의 구조를 보여준다.
/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로 설정된다.

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

같이 보기 
 apk (파일 포맷)

아카이브 포맷
파일 확장자