Difference between revisions of "IPA File Format"

From The iPhone Wiki
Jump to: navigation, search
(Working on rewriting the page)
Line 1: Line 1:
 
[[Image:IPAFile.png|thumb|IPA File Icon from ''[[iTunes]] 11'']]
 
[[Image:IPAFile.png|thumb|IPA File Icon from ''[[iTunes]] 11'']]
A '''IPA''' archive is the de facto way to package applications for [[iOS]]. The name has no ''official'' definition, but is commonly called ''iPhone Application'' by the [[iOS]] community. The file is just a renamed [[wikipedia:ZIP|ZIP]] archive. Although any computer with a ZIP archive reader can extract an IPA, the images the file are typically saved as [[Apple PNG]] instead of the standardized [[wikipedia:PNG|PNG]] format. In addition, the application binary is encrypted with [[Digital Rights Management|DRM]] which hinders the ability to examine the binary.
+
A '''IPA''' archive is the de facto way to package applications for [[iOS]]. The name has no ''official'' definition, but is commonly called ''iPhone Application'' by the [[iOS]] community. The file is just a renamed [[wikipedia:zip (file format)|ZIP]] archive. Although any computer with a ZIP archive reader can extract an IPA, the images the file are typically saved as [[Apple PNG]] instead of the standardized [[wikipedia:Portable Network Graphics|PNG]] format, and the application binary is encrypted with [[Digital Rights Management|DRM]] which hinders the ability to examine the binary.
   
== Structure ==
+
== Contents ==
  +
As an IPA file is just a renamed [[wikipedia:zip (file format)|ZIP]] archive, its structure is available from [http://www.pkware.com/documents/casestudies/APPNOTE.TXT PKWARE].
The basic structure of an IPA file is as follows;
 
   
*/iTunesArtwork
+
* iTunesArtwork
*/[[iTunesMetadata.plist|iTunesMetadata.plist]]
+
* [[iTunesMetadata.plist]]
*/Payload/
+
* Payload/
**''ApplicationName''.app/
+
** ''ApplicationName''.app/
  +
*** (various application files)
***''ApplicationName''
 
***Various other application files
 
   
== Use ==
+
== Usage ==
  +
Apple uses the IPA format for packaging [[iOS]] aplications. [[iTunes]] can be used to install their contents on a [[iDevice|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:
  +
# Build application
  +
# Locate the <code>.app</code> folder
 
Apple uses the IPA format for [[iOS]] applications in iTunes. Developers use the IPA format typically for Ad Hoc Distribution of apps to beta testers, IPAs can be created through [[Xcode]]. This requires an Apple Developer or Enterprise account if you want to distribute to non-[[Jailbreak|jailbroken]] devices.
 
Apple uses the IPA format for [[iOS]] applications in iTunes. Developers use the IPA format typically for Ad Hoc Distribution of apps to beta testers, IPAs can be created through [[Xcode]]. This requires an Apple Developer or Enterprise account if you want to distribute to non-[[Jailbreak|jailbroken]] devices.
   

Revision as of 17:44, 21 March 2013

IPA File Icon from iTunes 11

A IPA archive is the de facto way to package applications for iOS. The name 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, the images the file are typically saved as Apple PNG instead of the standardized PNG format, and the application binary is encrypted with DRM which hinders the ability to examine the binary.

Contents

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

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

Apple uses the IPA format for iOS applications in iTunes. Developers use the IPA format typically for Ad Hoc Distribution of apps to beta testers, IPAs can be created through Xcode. This requires an Apple Developer or Enterprise account if you want to distribute to non-jailbroken devices.

How to create

IPAs can be created either by hand or through Xcode's Product -> Archive (this requires an App Developer or Enterprise account) and can later be viewed through Organizer -> Archives. To create an IPA hand, build your application and locate the .app file for it. Create a root folder, inside this folder create another folder called 'Payload' and place your application in here. Next, create a 512x512 image for your icon, call it iTunesArtwork and place it in the root folder. Create an iTunesMetadata.plist file and place it in the root folder as well. ZIP the contents of the root folder and not the root folder itself, i.e. select the items inside the root folder and not the root folder itself. Use the following ZIP command to properly create IPA files;

zip -u -y -r -n .jpg:.JPG:.jpeg:.png:.PNG:.gif:.GIF:.Z:.gz:.zip:.zoo:.arc:.lzh:.rar:.arj:.mp3:.mp4:.m4a:.m4v:.ogg:.ogv:.avi:.flac:.aac IPAFileName.ipa ./*