IPA File Internals
Also known as: ipa structure, inside an ipa, ipa internals
An IPA (.ipa) is the iOS/iPadOS app archive Apple distributes through the App Store. It is a ZIP container holding a signed `.app` bundle with the compiled binary, resources, Info.plist, and embedded provisioning and entitlement data.
- An .ipa is a ZIP archive whose Payload/ folder holds the signed .app bundle.
- The .app contains the Mach-O binary, Info.plist, asset catalogs, frameworks, and code signature.
- App Store IPAs have their binary encrypted by Apple's FairPlay DRM and are discarded after install.
What is inside an IPA
An .ipa is really a renamed ZIP archive. Unzipping it reveals a top-level `Payload/` directory containing a single `YourApp.app` bundle. That `.app` is the actual application: the compiled Mach-O binary, the Info.plist, image and storyboard assets (often packed into `Assets.car`), localized `.lproj` folders, and any frameworks under `Frameworks/`.
The bundle also carries signing material: an `embedded.mobileprovision` profile and a `_CodeSignature/` directory. The app's entitlements — capabilities like photo-library or iCloud access — are baked into the code signature, not stored as a separate readable file. Apps from the App Store additionally have their binary encrypted by Apple's FairPlay DRM.
How it maps to an installed app
When iOS installs the app, the `.app` bundle lands in a read-only, randomized container, while writable data (Documents, Library, caches) goes into a separate data container. The IPA itself is not kept around after install. Over time the app's data container fills with app cache, temp files, and downloaded media — which is what users see as an app's storage in Settings > General > iPhone Storage.
Because the OS sandboxes each app, a cleaner such as Cleanor cannot reach inside another app's bundle. Instead it targets what is user-visible and clearable: duplicate photos, similar photos, large videos, and purgeable caches, rather than the immutable IPA contents.