IPA (formato di file)

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
IPA
Estensione.ipa
SviluppatoreApple
TipoFile archivio
Estensione diZIP, JAR

Un file IPA (iPhone application[1] o iOS app package[2]) è un file archivio contenente un'applicazione per il sistema operativo iOS.[3] I file IPA consistono un archivio ZIP con una particolare struttura.[4]

La maggior parte dei file .ipa non può essere installata su iPhone Simulator perché non contiene un binario per l'architettura x86, avendone solo uno per l'architettura ARM dei cellulari.[5] Per eseguire applicazioni sul simulatore, sono richiesti file di progetto originali che possono essere aperti utilizzando Xcode SDK. Tuttavia, alcuni file .ipa possono essere aperti sul simulatore estraendo e copiando il file .app che si trova nella cartella Payload. Alcune semplici app sono in grado di funzionare sul simulatore con questo metodo.

L'ipa è un formato de facto usato da Apple e non ci sono specificazioni. Vi è una forma di Digital rights management nel formato per controllare la ridistribuzione a un singolo ID Apple.[6] Prima di iTunes 12.7 (settembre 2017), gli utenti avevano accesso diretto ai file .ipa sotto forma di download su App Store.[7]

Struttura di un file .ipa[modifica | modifica wikitesto]

Un IPA ha una struttura integrata che iTunes e App Store possono riconoscere. L'esempio seguente mostra la struttura di un IPA:[8]

/Payload/
/Payload/Application.app/
/iTunesArtwork
/iTunesArtwork@2x
/iTunesMetadata.plist
/WatchKitSupport/WK
/META-INF

Come mostrato sopra, la cartella Payload è ciò che contiene tutti i dati dell'app. Il file iTunes Artwork è un'immagine PNG da 512 × 512 pixel, contenente l'icona dell'app da mostrare in iTunes e nell'app App Store su iPad. iTunesMetadata.plist contiene varie informazioni, che vanno dal nome e dall'ID dello sviluppatore, all'identificatore del pacchetto, alle informazioni sul copyright, al genere, al nome dell'app, alla data di pubblicazione, alla data di acquisto, ecc.

È comune ma non documentato utilizzare un file JPEG per iTunesArtwork.[9]

Dal 2017, Apple usa LZFSE invece degli algoritmi Zip registrati negli IPA. Il campo "metodo di compressione" in questo caso è impostato su 99.[10]

La firma del codice viene gestita nella directory del bundle .app. La cartella META-INF contiene solo i metadati del programma utilizzato per creare l'IPA.[11]

Eseguibili .ipa non firmati[modifica | modifica wikitesto]

Un .ipa senza firma può essere creato copiando la cartella con l'estensione .app dalla cartella Products dell'applicazione in Xcode in una cartella denominata Payload e comprimendo quest'ultima utilizzando il comando zip -0 -y -r myAppName.ipa Payload/.

È quindi possibile installare file .ipa non firmati su dispositivi jailbroken iOS utilizzando software di terze parti. AppSync è lo strumento per l'installazione di tali app homebrew. Simile al caso dell'hacking delle console di gioco, si utilizza questa installazione per pirateria, contro i desideri dello sviluppatore dello strumento:[12] alcune comunità sotterranee si formano attorno all'acquisto di un'app e quindi alla condivisione della sua versione non firmata senza DRM.

Note[modifica | modifica wikitesto]

  1. ^ (EN) Compiling an iPhone application installer (IPA) file, su help.adobe.com, Adobe.
  2. ^ (EN) Line-of-business app versioning, su learn.microsoft.com, Microsoft, 6 marzo 2023.
  3. ^ (EN) Reducing your app’s size, su Apple Developer Documentation, Apple.
  4. ^ (EN) Doing basic optimization to reduce your app’s size, su Apple Developer Documentation, Apple.
  5. ^ reincubate.com, https://reincubate.com/support/dmge/open-ipa-file-on-windows/.
  6. ^ Ask Different, https://apple.stackexchange.com/a/48236.
  7. ^ Stack Overflow, https://stackoverflow.com/a/41165422.
  8. ^ Copia archiviata (PDF), su owasp.org. URL consultato il 23 luglio 2020 (archiviato dall'url originale il 22 dicembre 2017).
  9. ^ theiphonewiki.com, https://www.theiphonewiki.com/wiki/IPA_File_Format#iTunesArtwork.
  10. ^ Copia archiviata, su sskaje. URL consultato il 23 luglio 2020 (archiviato dall'url originale il 29 luglio 2021).
  11. ^ Copia archiviata, su Raz. URL consultato il 23 luglio 2020 (archiviato dall'url originale il 14 luglio 2020).
  12. ^ cydia.akemi.ai, https://cydia.akemi.ai/?page/net.angelxwind.appsyncunified.
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica