Difference between revisions of "IPA File Format"

From The iPhone Wiki
Jump to: navigation, search
(clarification)
m
Line 24: Line 24:
 
# Create a folder named <code>Payload</code>
 
# Create a folder named <code>Payload</code>
 
# Place your <code>.app</code> folder in it
 
# Place your <code>.app</code> folder in it
# Create a 512x512 JPEG version of your icon
+
# Create a 512x512 JPEG version of your icon (see [[#iTunesArtwork|above section]])
 
# Save it as <code>iTunesArtwork</code> (no extension)
 
# Save it as <code>iTunesArtwork</code> (no extension)
 
# Create your <code>[[iTunesMetadata.plist]]</code> and save it
 
# Create your <code>[[iTunesMetadata.plist]]</code> and save it

Revision as of 00:06, 23 March 2013

IPA file icon from iTunes 11

An IPA archive is the de facto way to package applications for iOS. The extension has no official definition, but is commonly called iPhone Application by the iOS community. The file is just a renamed ZIP archive. Although any computer with a ZIP archive reader can extract an IPA, PNG images (e.g. the app's icon files) are typically in a proprietary variant of the PNG format instead of the standardized PNG format, and the application binary is encrypted (DRM) which prevents examination of the binary.

Contents

As an IPA file is just a renamed ZIP archive, its structure is available from PKWARE.

iTunesArtwork

As per Technical Q&A QA1686, the iTunesArtwork file should be a PNG image. However, Apple, among many other developers, contradict this by using JPEGs instead.

Examination of nearly any iTunesArtwork file with a hex editor can be used to confirm this. If the file's first two bytes are ff d8 (hex), the file is a JPEG. If the first 8 bytes are 89 50 4e 47 0d 0a 1a 0a (hex), the file is a PNG.

Usage

Apple uses the IPA format for packaging iOS aplications. iTunes can be used to install their contents on a device, provided the included files are signed. Developers can use the IPA format for Ad Hoc Distribution of their apps.

Creation

IPA files are typically created through Xcode, but may be created manually:

  1. Build application
  2. Locate the .app folder
  3. Create a folder named Payload
  4. Place your .app folder in it
  5. Create a 512x512 JPEG version of your icon (see above section)
  6. Save it as iTunesArtwork (no extension)
  7. Create your iTunesMetadata.plist and save it
  8. "ZIP" the contents
    • iTunesArtwork
    • iTunesMetadata.plist
    • Payload/

See Also

External Links

  • Apple Question & Answers QA1686 - App Icons on iPad and iPhone