IPA (iOS App Store Package) ist ein Archivdateiformat zur Verteilung von Anwendungen auf iOS. Jede App, die in den App Store gelangt, durchläuft das IPA-Format: Der Entwickler erstellt das Projekt, signiert es und lädt das IPA in App Store Connect hoch. Laut Apple Developer Documentation, 2026 basiert das IPA-Format auf ZIP und enthält eine ausführbare Mach-O-Datei, Ressourcen und Signaturmetadaten.
Wichtige Punkte
IPA (iOS App Store Package) ist ein Paketformat zur Verteilung von Anwendungen auf der Apple-Plattform. Wie APK ist IPA technisch gesehen ein ZIP-Archiv, jedoch mit einer eigenen Struktur, die durch die Sicherheits- und Signaturanforderungen von iOS bestimmt wird.
Das IPA-Format erschien zusammen mit iPhone OS 2.0 im Jahr 2008 und dem App Store. Es basierte auf dem .app-Bündelformat von macOS, das zur Größenreduzierung während der Übertragung in ZIP verpackt wurde. Seitdem hat sich die IPA-Struktur nicht wesentlich verändert — nur die Signaturschemata und Metadaten haben sich weiterentwickelt.
App Store — der Hauptkanal. Ad-hoc-Verteilung — zum Testen auf einer begrenzten Anzahl von Geräten (bis zu 100). Enterprise-Verteilung — für Unternehmens-Apps ohne Veröffentlichung im Store. Entwickler verwenden IPA auch zum Testen auf echten Geräten über Xcode.
Die innere Struktur einer IPA ist ein ZIP-Archiv, das einen Payload-Ordner mit dem .app-Bündel und Metadaten enthält.
| Datei/Verzeichnis | Zweck |
|---|---|
| Payload/ | Stammordner mit dem .app-Bündel |
| Payload/App.app/ | App-Bündel: ausführbare Datei, Ressourcen, nib/storyboard |
| Payload/App.app/Info.plist | Metadaten: Bundle-ID, Versionen, Berechtigungen |
| Payload/App.app/embedded.mobileprovision | Provisioning Profile für die Installation |
| iTunesMetadata.plist | iTunes-Metadaten (optional) |
| META-INF/ | Signaturen und Hashes zur Überprüfung |
Im Payload-Ordner befindet sich das App-Bündel mit der Erweiterung .app. Dies ist keine Datei, sondern ein Verzeichnis, das iOS als Anwendung erkennt. Darin enthalten: die ausführbare Mach-O-Datei (Name stimmt mit dem Bündelnamen überein), Info.plist, Ressourcen, Bilder und lokalisierte Zeichenfolgen.
Quellcode in Swift oder Objective-C wird in Maschinencode im Mach-O-Format (Mach Object) kompiliert. Die Datei enthält die Segmente __TEXT (Code), __DATA (Daten) und __LINKEDIT (Linker-Metadaten). Moderne IPAs enthalten nur die 64-Bit-Architektur arm64.
Xcode automatisiert den IPA-Build: vom Kompilieren des Quellcodes bis zur Erstellung eines signierten Archivs, das für den Upload zu App Store Connect bereit ist.
Debug — für die Entwicklung, ohne Optimierungen. Release — für die Veröffentlichung, mit Compiler-Optimierungen. Jedes Schema definiert Kompilierungsflags, Codesigning und Entitlements. Xcode erstellt ein Archiv über Product → Archive.
// Info.plist — grundlegende Anwendungsmetadaten
<key>CFBundleName</key>
<string>MyApp</string>
<key>CFBundleIdentifier</key>
<string>com.example.myapp</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
Xcode kompiliert jede .swift- oder .m-Datei in eine Objektdatei (.o) und verknüpft sie dann zu einer einzigen Mach-O-Binärdatei. Ressourcen (Bilder, XIB, Storyboard) werden separat verarbeitet: Storyboards werden in das binäre .storyboardc-Format kompiliert, Bilder werden im Asset Catalog (.car) optimiert.
Signatur ist der komplexeste Aspekt einer IPA. Apple verlangt eine digitale Signatur für jede Anwendung, die auf einem echten Gerät ausgeführt wird. Das System überprüft das Entwicklerzertifikat, die Entitlements und die Übereinstimmung des Provisioning Profile.
Zertifikat (Development oder Distribution) — bestätigt die Identität des Entwicklers. Provisioning Profile — verknüpft das Zertifikat, die Bundle-ID und die Liste der zulässigen Geräte (für Ad-hoc). Entitlements — App-Berechtigungen (Push-Benachrichtigungen, iCloud, App Groups).
Xcode signiert jede Bibliothek und jedes Framework im .app-Bündel, dann signiert es das Bündel selbst. Das finale IPA wird auf ZIP-Archiv-Ebene signiert. Apple überprüft alle Signaturstufen während der Installation. iOS startet die Anwendung nicht, wenn auch nur eine Komponente eine ungültige Signatur hat.
// Signaturüberprüfung über das Security Framework
import Security
func checkSignature() -> Bool {
let url = Bundle.main.bundleURL
var staticCode: SecStaticCode?
guard SecStaticCodeCreateWithPath(
url as CFURL,
[], &staticCode
) == errSecSuccess else {
return false
}
return true
}
App Store Connect ist die Plattform von Apple zur Verwaltung der App-Veröffentlichung. Der IPA-Upload erfolgt über Xcode Organizer, Transporter oder die Befehlszeile mit xcrun altool.
Nach der Erstellung eines Archivs bietet Xcode Distribute App mit einer Auswahl der Methode an: App Store Connect, Ad-hoc, Enterprise oder Development. Bei Auswahl von App Store Connect gibt der Entwickler das Team an und bestätigt den Upload. Xcode überprüft die Signatur, sendet das IPA an die Apple-Server und gibt den Verarbeitungsstatus zurück.
Für CI/CD wird xcrun altool oder das neuere notarytool verwendet. Apple verlangt eine Notarisierung für macOS-Apps; für iOS ist dieser Schritt optional aber empfohlen. xcodebuild -exportArchive erstellt ein signiertes IPA, das für den Upload bereit ist.
Apple überprüft jedes IPA auf schädlichen Code, private APIs und die Einhaltung der App Store Review Guidelines. Der Überprüfungsprozess dauert zwischen 1 Stunde und 2 Tagen.
Beim Hochladen eines IPA in App Store Connect wendet Apple App Thinning an — eine Technologie, die die Binärdatei für bestimmte Geräte optimiert. Slicing entfernt Ressourcen für nicht unterstützte Auflösungen und Architekturen. On-Demand Resources ermöglicht das Laden von App-Teilen (Spiellevel, Videos) nur auf Anfrage des Benutzers. Bitcode ist eine Zwischendarstellung, die Apple ohne Beteiligung des Entwicklers für neue Architekturen neu kompilieren kann.
App Store überprüft auch die Einhaltung der Sandbox-Anforderungen durch das IPA: Die App darf nicht auf Daten anderer Apps, auf das Dateisystem außerhalb ihres Containers oder auf Hardware-Funktionen ohne ausdrückliche Benutzererlaubnis zugreifen.
TestFlight ist der offizielle Dienst von Apple zum Beta-Testen von Apps. Der Entwickler lädt das IPA in App Store Connect hoch und lädt Tester per E-Mail oder über einen öffentlichen Link ein.
Internal Testing — bis zu 100 Mitglieder des Entwicklerteams. Keine Apple-Überprüfung erforderlich. External Testing — bis zu 10.000 Tester, erfordert die Beta App Review. TestFlight verteilt Builds automatisch an Tester und sammelt Analysen.
Ein Build ist 90 Tage nach dem Upload zum Testen verfügbar. TestFlight unterstützt bis zu 100 aktive Builds gleichzeitig. Jeder Tester kann bis zu 30 Apps gleichzeitig installieren. Crashlytics integriert sich mit TestFlight, um Absturzberichte und nicht-fatale Fehler zu sammeln.
Das Erstellen eines IPA in einer CI-Umgebung erfordert einen macOS-Runner. GitHub Actions, GitLab CI und Bitrise bieten macOS-Umgebungen für iOS-Builds. Die Fastlane-Lane `build_app` automatisiert den gesamten Zyklus: Archivierung, Signatur, IPA-Export und Upload zu TestFlight. Für die Verwaltung von Zertifikaten und Profilen wird Match verwendet — ein Fastlane-Tool, das Signaturen in einem verschlüsselten Git-Repository speichert.
Entwickler stoßen auf eine Reihe charakteristischer Fehler beim Erstellen und Signieren von IPAs. Die meisten hängen mit einer falschen Konfiguration von Zertifikaten und Profilen zusammen.
Xcode findet kein Provisioning Profile, das zur Bundle-ID und zum Zertifikat passt. Lösung — aktuelle Profile in Xcode Accounts → Download Manual Profiles herunterladen oder Automatic Signing verwenden.
Dieser Fehler tritt beim Hochladen einer IPA mit einer ungültigen Architektur auf. Moderne IPAs sollten nur arm64 enthalten. Das Vorhandensein von i386 oder x86_64 in der Binärdatei führt zur Ablehnung. Lösung — Architekturen in Build Settings überprüfen und Simulator-Architekturen ausschließen.
Die IPA enthält nicht die korrekte Payload/App.app-Struktur. Apple erwartet eine genaue Hierarchie. Lösung — überprüfen, dass das Archiv einen Payload-Ordner mit einem .app-Bündel enthält, keine flache Dateiliste.
Für die Unternehmensverteilung wird das Enterprise Apple Developer Program ($299/Jahr) verwendet. Das IPA wird mit einem Enterprise-Zertifikat signiert und kann ohne Mengenbegrenzung auf jedem Unternehmensgerät installiert werden. Die Ad-hoc-Verteilung ist auf 100 Geräte pro Entwicklerkonto beschränkt ($99/Jahr). MDM (Mobile Device Management)-Systeme wie Jamf und Microsoft Intune unterstützen die Masseninstallation von Enterprise-IPAs.
Häufig gestellte Fragen
IPA verwendet das ausführbare Mach-O-Format anstelle von DEX, benötigt ein Provisioning Profile zur Installation und durchläuft eine strenge App Store-Überprüfung. APK kann im Gegensatz zu IPA ohne Vermittler direkt installiert werden (Sideloading).
Nein, die Erstellung einer IPA erfordert Xcode und Apple-Tools, die nur unter macOS verfügbar sind. Alternativen: entfernte macOS-Server (Mac mini, AWS Mac) oder Cloud-CI-Dienste (GitHub Actions mit macOS-Runner).
Eine einfache App — 5–30 MB. Eine mittelschwere App — 30–150 MB. Spiele können bis zu 4 GB erreichen. Apple begrenzt die Downloadgröße über Mobilfunknetze auf 200 MB, aber der Benutzer kann über Wi-Fi herunterladen.
Für die Ad-hoc-Installation wird Xcode oder Apple Configurator verwendet. Enterprise-Apps werden über einen internen Server mit manifest.plist verteilt. Ein normaler Benutzer kann kein IPA ohne Jailbreak oder TestFlight installieren.
Fat IPA enthält mehrere Architekturen (arm64 + x86_64) für universelle Builds. Thin IPA enthält nur eine Architektur für ein bestimmtes Gerät. Apple akzeptiert nur Thin IPAs zur Veröffentlichung — Fat-Binärdateien werden abgelehnt.
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch