2015-09-23 9 views
6

Prima di iOS 9, la nostra dimensione IPA era di circa 6 MB. Dopo aver archiviato ed esportato il nostro IPA tramite Xcode 7, il nostro IPA è aumentato a circa 17 MB. Dopo ulteriori indagini, abbiamo scoperto che l'attivazione dell'opzione "Bitcode" nelle impostazioni di esportazione è ciò che ha causato il grande salto di file.L'abilitazione di Bitcode per iOS 9 aumenta la dimensione dell'IPA 3x, è questa la dimensione nell'app store?

La mia domanda è questa: se abilitiamo questa opzione, la nostra dimensione IPA sarà di 17 MB nel negozio? Oppure Apple fa qualcosa con il bundle per renderlo all'incirca delle stesse dimensioni di prima (6 MB).

Non ci sono molte informazioni su Bitcode in questo momento e vorrei essere informato prima di inviarlo al negozio. 6 MB e 17 MB sono abbastanza importanti per essere preoccupati.

+0

non è l'idea di ridurre le dimensioni app sui dispositivi, non l'app store? – trojanfoe

+1

Bene, la tua app include il codice bit con questa opzione attivata, quindi ha senso che aumenti le dimensioni. Suppongo che il bitcode non venga incluso nel file che gli utenti scaricheranno dall'app store, ma non posso confermarlo. – dan

+3

Questo è quello che voglio sapere. Non sto rilasciando con bitcode se questo significa che i miei utenti devono sedersi lì e scaricare un'app che è 3x di ciò che dovrebbe essere. Probabilmente perderei i download. Più piccolo è meglio. Potrei preoccuparmi di meno di quanto spazio occupa sui server Apple. Perchè avvitali. – FrostRocket

risposta

12

Bitcode è una rappresentazione intermedia di un programma compilato. Abilitandolo aumenterai la dimensione di build (ipa) sul fronte dello sviluppatore.

iOS può essere eseguito su diverse CPU (i386, x86_64, arm, arm64, ecc.), Se si desidera eseguire il programma su qualsiasi configurazione iOS, il programma deve contenere codice oggetto per ciascuna piattaforma. Quando si esegue un programma, il sistema operativo legge il "Table Of Contents" e cerca una slice corrispondente alla CPU del sistema operativo. Ad esempio, se si esegue il sistema operativo su x86_64, il SO caricherà il codice oggetto per x86_64 in una memoria ed eseguirà il programma.

Attualmente tutte le app sull'App Store contengono codice oggetto per CPU arm e arm64. Inoltre, le librerie oi framework proprietari di terze parti contengono codice oggetto per i386, x86_64, arm e arm64, quindi è possibile utilizzarli per testare l'app sul dispositivo e/o sul simulatore.

Come funziona il codice bit? Quando si invia un'app (incluso il Bitcode), il 'BlackBox' di Apple lo ricompila per ogni piattaforma supportata e rilascia qualsiasi codice di oggetto 'inutile', quindi AppStore ha una copia dell'app per ogni CPU. Quando l'utente finale desidera installare l'app, installa solo la versione per un determinato processore, senza roba inutilizzata.

Il bitcode potrebbe consentire di risparmiare fino al 50% di spazio su disco per programma.

Refere: http://lowlevelbits.org/bitcode-demystified/

Problemi correlati