Co to jest format pliku IPA?
.ipa (iPhone Application) to archiwum ZIP zawierające aplikację zbudowaną dla urządzeń z systemem iOS lub iPadOS, takich jak iPhone lub iPad. Plik .ipa można rozpakować za pomocą dowolnego menedżera archiwów zgodnego z formatem ZIP - zmiana nazwy na .zip wystarczy, aby przejrzeć jego zawartość - jednak plik jest dystrybuowany i używany w formie spakowanej. Wewnątrz znajduje się katalog Payload/ z pojedynczym pakietem AppName.app, zawierającym plik wykonywalny Mach-O, manifest Info.plist, zasoby aplikacji oraz folder _CodeSignature/ do weryfikacji integralności.
Pliki .ipa są instalowane na urządzeniu za pośrednictwem App Store, TestFlight lub narzędzi takich jak Xcode i Apple Configurator. Instalacja wymaga ważnego podpisu kodu Apple oraz profilu aprowizacji (provisioning profile) pasującego do urządzenia docelowego. W przeciwieństwie do starego modelu pracy w iTunes - który przechowywał aplikacje w folderze Mobile Applications/ - nowoczesna instalacja odbywa się bezpośrednio przez urządzenie lub narzędzie do zarządzania. Pliki .ipa instalują się wyłącznie na iOS i iPadOS i nie można ich uruchomić na macOS.
Od czasu iOS 9 (2015), Apple stosuje mechanizm „app thinning”, więc pobrany plik .ipa zawiera tylko fragment arm64 odpowiedni dla konkretnego urządzenia. Kompilacje z App Store są szyfrowane za pomocą FairPlay DRM; kompilacje deweloperskie i ad-hoc są jedynie podpisane. Istnieje wiele rodzajów aplikacji .ipa, w tym gry, narzędzia użytkowe i programy zwiększające produktywność.
Bezpieczeństwo
RYZYKO: HIGHPliki IPA instalowane metodą sideloadingu omijają proces recenzji Apple App Store, który jest głównym zabezpieczeniem iOS przed złośliwym oprogramowaniem. Ryzyko: narzędzia do ponownego podpisywania wymagają Twojego Apple ID (używaj haseł specyficznych dla aplikacji; cofnięte certyfikaty mogą unieruchomić aplikację), pirackie/„zmodyfikowane” pliki IPA z nieoficjalnych repozytoriów mogą zawierać malware lub kraść dane logowania, a aplikacje podpisane certyfikatami korporacyjnymi mogą zostać zablokowane przez Apple w dowolnym momencie. Wykonuj sideloading tylko ze źródeł, którym ufasz, preferuj TestFlight dla wersji beta i pamiętaj, że instalacje z darmowych kont wygasają po 7 dniach.
Szczegóły formatu
w pigułceProgramy otwierające pliki IPA
Szczegóły techniczne
specyfikacja| Format kontenera | Standardowe archiwum ZIP (format PK) |
| Magiczne bajty | 50 4B 03 04 na offsecie 0 („PK” - nagłówek lokalnego pliku ZIP) |
| Typ MIME | application/octet-stream; również application/x-itunes-ipa |
| Struktura wewnętrzna | Pakiet Payload/<AppName>.app zawierający binarny plik Mach-O, Info.plist, zasoby i _CodeSignature/ |
| Kompresja | DEFLATE dla każdego wpisu (standardowa kompresja ZIP) |
| Kolejność bajtów | Little-endian (struktura ZIP i plik wykonywalny arm64 Mach-O wewnątrz) |
| Obsługiwana architektura CPU | arm64 (odchudzone kompilacje App Store); uniwersalne archiwa deweloperskie mogą zawierać arm64e |
| DRM / szyfrowanie | FairPlay DRM w plikach binarnych z App Store (Mach-O szyfrowany w spoczynku, deszyfrowany w czasie wykonywania na podstawie Apple ID); kompilacje deweloperskie/ad-hoc: tylko podpisane, bez DRM |
| Podpisywanie kodu | Obowiązkowe; wymuszane przez _CodeSignature/CodeResources; iOS/iPadOS odrzuca niepodpisane lub zmodyfikowane aplikacje |
| Profil aprowizacji | Osadzony jako embedded.mobileprovision; określa dozwolone numery UDID urządzeń, uprawnienia (entitlements) i certyfikat podpisu |
| App thinning | Wprowadzone w iOS 9 / Xcode 7 (2015); pobrany plik .ipa jest fragmentem specyficznym dla urządzenia, a nie uniwersalnym pakietem |
| Typowy rozmiar pliku | 5 MB - 4 GB; App Store narzuca limit 4 GB na całkowity pakiet aplikacji |
| Kanały dystrybucji | App Store, TestFlight, Ad Hoc, Enterprise (wewnątrzfirmowe), Developer (przez Xcode lub Apple Configurator) |
| Platformy docelowe | Wyłącznie iOS i iPadOS; nie można zainstalować na macOS ani Androidzie |
| Deklaracje Info.plist | CFBundleIdentifier, MinimumOSVersion, UIRequiredDeviceCapabilities oraz uprawnienia walidowane w czasie instalacji |
| Wydano | 2008 (iPhone OS 2.0, with the App Store) |
| Najnowsza wersja | Current packaging via Xcode / App Store Connect (thinned .ipa per device since app thinning, iOS 9, 2015) |
| Specyfikacja | developer.apple.com |
Konwersje IPA
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki IPA.