.ipa

Một tệp .ipa  là tệp lưu trữ ứng dụng iOS và iPadOS lưu trữ ứng dụng iOS/iPadOS. Mỗi tệp .ipa bao gồm một tệp nhị phân và chỉ có thể được cài đặt trên thiết bị iOS, iPadOS, hoặc thiết bị macOS dựa trên ARM. Các tệp có phần mở rộng .ipa có thể được giải nén bằng cách thay đổi phần mở rộng thành .zip và giải nén.

Phần lớn các tệp .ipa không thể cài đặt lên Giả lập iPhone bởi vì chúng không chứa nhị phân cho kiến trúc x86, Kiến trúc ARM của điện thoại di động và máy tính bảng. Để chạy các ứng dụng trên trình giả lập, các tệp dự án gốc có thể được mở bằng Xcode SDK.Tuy nhiên, một số tệp .ipa có thể được mở trên trình mô phỏng bằng cách giải nén và sao chép tệp .app được tìm thấy trong thư mục Payload. Một số ứng dụng đơn giản có thể chạy trên trình mô phỏng thông qua phương pháp này.

ipa là một định dạng thực tế được Apple sử dụng và không có thông số kỹ thuật nào về nó. Nó là một dạng của quản lý quyền kĩ thuật số tồn tại ở định dạng để kiểm soát việc phân phối lại cho một ID Apple duy nhất. Trước iTunes 12.7 (tháng 9 năm 2017), người dùng có quyền truy cập trực tiếp vào các tệp ipa dưới dạng tải xuống App Store.

Cấu trúc của một tệp .ipa 

IPA có cấu trúc tích hợp sẵn để iTunes và App Store có thể nhận ra.
Ví dụ dưới đây cho thấy cấu trúc của một tệp IPA:

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

Như danh sách ở trên, thư mục Payload là nơi chứa tất cả dữ liệu ứng dụng. Tệp iTunes Artwork có độ phân giải 512×512 pixel ở định dạng PNG, chứa biểu tượng của ứng dụng để hiển thị trong iTunes và ứng dụng App Store trên iPad. Tệp iTunesMetadata.plist chứa nhiều thông tin khác nhau, từ tên và ID của nhà phát triển, số nhận dạng gói, thông tin bản quyền, thể loại, tên ứng dụng, ngày phát hành, ngày mua, v.v.

Việc sử dụng tệp JPEG cho  là phổ biến nhưng không có giấy tờ . .

Kể từ năm 2017, Apple đã sử dụng LZFSE thay vì thuật toán Zip đã đăng ký trong IPA. Trường "compression method" trong trường hợp này đặt thành 99.

Việc code signing (ký mã) được xử lý trong thư mục gói .app. trong thư mục .app . TThư mục META-INF chỉ chứa metadata về chương trình nào đã được sử dụng để tạo IPA.

Các tệp thực thi .ipa chưa được ký  

Một tệp .ipa chưa được ký (Unsigned) có thể được tạo bằng cách sao chép thư mục có phần mở rộng .app từ thư mục Products của ứng dụng trong Xcode đến một folder gọi là Payload và nén sau bằng lệnh zip -0 -y -r myAppName.ipa Payload/.

Sau đó có thể cài đặt tệp .ipa chưa được ký trên thiết bị iOS đã được jailbreak sử dụng phần mềm bên thứ ba. AppSync là công cụ để cài đặt các ứng dụng homebrew. Tương tự như trường hợp hack game console, mọi người được biết là sử dụng cài đặt này để vi phạm bản quyền, trái với mong muốn của nhà phát triển công cụ: một số cộng đồng ngầm hình thành xung quanh việc mua một ứng dụng và sau đó chia sẻ phiên bản không có chữ ký và không có DRM của ứng dụng đó.

Tham khảo

Archive formats
Filename extensions