He estado yendo hacia atrás en el Git de la historia para encontrar la causa de un gigantesco archivo de cambio de tamaño, pero la única razón por la que puedo encontrar es el cambio de Xcode 6 a Xcode 7 GM.
He encontrado que estos son los top 10 tamaño del archivo de los contribuyentes en un .ipa
creado a partir del Archivo de operación en un Comunicado de configuración de compilación:
$ unzip -lv Roger\ Release.ipa | sort -k +3nr | head
41802768 Defl:N 16887199 60% 09-14-15 23:47 dc24cdc1 Payload/Roger.app/Frameworks/libswiftCore.dylib
41802400 Defl:N 16886076 60% 09-06-15 18:33 f939ea6a SwiftSupport/iphoneos/libswiftCore.dylib
11184032 Defl:N 5915625 47% 09-14-15 23:48 6ceac4a2 Payload/Roger.app/Roger
6399584 Defl:N 2670275 58% 09-14-15 23:47 0ac52d3f Payload/Roger.app/Frameworks/libPhoneNumber_iOS.framework/libPhoneNumber_iOS
5410384 Defl:N 2334189 57% 09-14-15 23:47 7a8cb03f Payload/Roger.app/Frameworks/Alamofire.framework/Alamofire
4521904 Defl:N 2292789 49% 09-14-15 23:47 95da0882 Payload/Roger.app/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit
4731552 Defl:N 1926357 59% 09-14-15 23:48 e05337de Payload/Roger.app/Frameworks/libswiftFoundation.dylib
4731168 Defl:N 1925355 59% 09-06-15 18:33 19a5c3c4 SwiftSupport/iphoneos/libswiftFoundation.dylib
2659232 Defl:N 1232897 54% 09-14-15 23:47 1a53a401 Payload/Roger.app/Frameworks/AFNetworking.framework/AFNetworking
1196624 Defl:N 545343 54% 09-14-15 23:47 19a063cb Payload/Roger.app/Frameworks/Bolts.framework/Bolts
Por mucho, el más grande de los archivos son los dos (ligeramente diferentes) libswiftCore.dylib
ficheros, que suman un total de más de 32 MB. En el paquete construido por Xcode 6 estos dos archivos ascendieron a sólo 3 MB.
Así que la pregunta #1: ¿por Qué el Swift archivos del núcleo de allí dos veces? (Contenido incrustado Contiene el Código Swift se establece en No).
Y la pregunta #2: ¿Qué pasó? ¿Por qué el Swift núcleo aumento de tamaño de 15 MB? Es esta permanente?
Algunas notas adicionales:
- Este es un proyecto que fue totalmente Objective-C, pero ahora es sobre todo Swift. La Define el Módulo de configuración está establecida en Sí.
- El proyecto utiliza con CocoaPods
use_frameworks!
conjunto. - He confirmado el real tamaño de la descarga de TestFlight en múltiples dispositivos y versiones de iOS y es en el rango de 30 a 60 MB (es de suponer que la diferencia es debido a la aplicación de rebanar). Solía ser de 9 MB.