IPA (formato di file)

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da IPA (formato))
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