| IPA | |
|---|---|
| Filename extension | .ipa |
| Developed by | Apple Inc. |
| Type of format | Package format |
| Container for | Mobile apps |
| Extended from | zip,JAR |
A.ipa file is aniOS andiPadOS applicationzip archive file which stores an iOS/iPadOSapp in abundle format. Each .ipa file includes a binary and can only be installed on aniOS,iPadOS, or ARM-basedmacOS device. Files with the .ipa extension can be uncompressed by changing the extension to.zip and unzipping. This is only recommended when editing the app itself. Some .ipa files will not have a .app file.
Most .ipa files cannot be installed on theiPhone Simulator because they do not contain a binary for thex86 architecture, only one for theARM architecture of mobile phones and tablets.[1] To run applications on the simulator, original project files which can be opened using theXcodeSDK are required. However, some .ipa files can be opened on the simulator by extracting and copying over the .app file found in the Payload folder. Some simple apps are able to run on the simulator through this method.
IPA is ade facto format used by Apple and there are no specifications of it. A form ofdigital rights management exists in the format to control redistribution to a single Apple ID.[2] Prior to iTunes 12.7 (September 2017), users had direct access to IPA files in the form of App Store downloads. Similar to how Android uses APK files to package apps, IPA files serve as the installation format for iOS and iPadOS.[3]
An IPA has a built-in structure foriTunes andApp Store to recognize.The example below shows the structure of an IPA:[4][additional citation(s) needed]
/Payload//Payload/Application.app//iTunesArtwork/iTunesArtwork@2x/iTunesMetadata.plist/WatchKitSupport/WK/META-INF
As shown above, the Payload folder is what contains all the app data. The iTunes Artwork file is a 512×512 pixelPNG image, containing the app's icon for showing iniTunes and the App Store app on theiPad. The iTunesMetadata.plist contains various bits of information, ranging from the developer's name and ID, the bundle identifier, copyright information, genre, the name of the app, release date, purchase date, etc.
It is common but undocumented to use a JPEG file foriTunesArtwork.[citation needed]
Since 2017, Apple has usedLZFSE instead of registered Zip algorithms in IPAs. The "compression method" field in this case is set to 99.[5]
Code signing is handled in the .app bundle directory. The META-INF folder only contains metadata about what program was used to create the IPA.[6]
An unsigned .ipa can be created by copying the folder with the extension.app from the Products folder of the application in Xcode to a folder calledPayload and compressing the latter using the commandzip -0 -y -r myAppName.ipa Payload/.
It is then possible to install unsigned .ipa files oniOS jailbroken devices using third-party software.AppSync is the tool for installing such homebrew apps.AltStore and Sideloadly are tools that can also be used to install unsigned .ipa files to unjailbroken devices by using a developer account to temporarily sign the app for 7 days for testing purposes. Similar to the case of game console hacking, people are known to use this installation forpiracy, against the tool developer's wishes:[7] some underground communities form around buying an app and then sharing its DRM-free unsigned version.