mercoledì 5 aprile 2017

Apple ciofeca! Mostruoso bug di Xcode

Prima ti vantano i nuovi modelli con tanti giga di spazio in più e poi aggiornano l'ambiente di sviluppo Xcode che compila le apps con file eseguibili grossi il triplo!!

Da OpenRadar:

Esempio del bug di Xcode:
Il framework "Realm Objective-C" di iOS compilato con Xcode 8.2 è grosso circa 55 Mb comprensivo di tutte le architecture slices e bitcode.

Lo stesso codice, compilato con Xcode 8.3, produce invece un codice binario grosso circa il triplo, cioè 158 Mb inclusi 70 Mb di soli bitcode.

Ecco i passi per riprodurre il bug:

Avendo già installati Xcode 8.2.1 e 8.3:

1. git clone https://github.com/realm/realm-cocoa.git
2. cd realm-cocoa
3. git checkout v2.4.4
4. git submodule update --init --recursive
5. REALM_XCODE_VERSION=8.2.1 ./build.sh ios-dynamic
6. mv build/ios/Realm.framework Realm_Xcode821.framework
7. REALM_XCODE_VERSION=8.3 ./build.sh ios-dynamic
8. mv build/ios/Realm.framework Realm_Xcode83.framework

Confrontando Realm_Xcode821.framework with Realm_Xcode83.framework si otterranno:

1. size Realm_Xcode821.framework/Realm
55M Realm_Xcode821.framework/Realm
2. size Realm_Xcode83.framework/Realm
158M Realm_Xcode83.framework/Realm

Inoltre:

1. otool -l -arch arm64 Realm_Xcode821.framework/Realm > Realm_Xcode821_otool_arm64.txt
2. otool -l -arch arm64 Realm_Xcode83.framework/Realm > Realm_Xcode83_otool_arm64.txt
3. git diff --no-index Realm_Xcode821_otool_arm64.txt Realm_Xcode83_otool_arm64.txt

indicherà che la sezione __LLVM (bitcode) è cresciuta da 15MB a 67MB.
Apple CIOFECA!!!
 

Nessun commento:

Posta un commento