Ho visto molti riferimenti Link per scoprire la connessione tra il BITCODE_ENABLE
e il .dylib
quadro, ma non riesco a ottenere un risultato positivo. Per favore qualcuno mi aiuti qual è la connessione esatta tra entrambi e menziona anche l'uso di BITCODE_ENABLE
Chiaramente.Qual è la connessione esatta tra BITCODE_ENABLE e il framework dylib?
risposta
Penso che tu stia confondendo cosa sia effettivamente il Bitcode. Il bitcode può essere utilizzato sia con framework statici sia con librerie dinamiche.
Dal Apple docs:
codice binario che è una rappresentazione intermedia di un programma compilato. Le app che carichi su iTunes Connect che contengono bitcode verranno compilate e collegate all'App Store. L'inclusione di bitcode consentirà a Apple di ottimizzare nuovamente l'app binario in futuro senza la necessità di inviare una nuova versione della tua app allo store.
La maggior parte delle librerie e dei framework sono "grassi", ovvero contengono binari aggiuntivi per supportare tutte le architetture. Ciò significa che un framework iOS potrebbe supportare armv7, armv7s e i386 (tutte le architetture di dispositivi e il simulatore).
Creazione di una libreria con bitcode consente di supportare App Thinning. Significa che solo i file binari appropriati per l'architettura su cui verrà eseguita l'applicazione vengono scaricati dall'App Store. Inoltre, come menzionato da Crazyrems nei commenti, questo ottimizzerà l'installazione dell'app e le dimensioni del download, in quanto il dispositivo scaricherà solo le risorse necessarie affinché l'applicazione possa essere eseguita su quella specifica architettura/dispositivo.
Non voglio entrare nei dettagli su LLVM IR, ma mi sento di raccomandare la lettura di questi articoli di riferimento:
Le installazioni saranno ottimizzato anche Solo l'app che è stata creata per l'architettura del telefono specifico verrà scaricata all'installazione, il che significa dimensioni di app più piccole. – Crazyrems
@Crazyrems ringrazia, ha aggiunto che come aggiornamento alla mia risposta. – JAL
Soddisfatto dalla risposta. Grazie @JAL – iMHitesh