Tamaño de compilation iOS con Swift 3 y pods

Acabo de notar cocoapods con Swift aumenta el tamaño de construcción, sin embargo, cuando uso las mismas bibliotecas manualmente, el tamaño de construcción es normal.

Creé un proyecto en blanco con algunos pods y el tamaño de construcción va a los 10 MB y el file .app es de alnetworkingedor de 40 MB.

También me doy count de que mi file .app contiene todos mis frameworks de cocoapods (alnetworkingedor de 37 MB) al ver "Contenido del package". introduzca la descripción de la imagen aquí

Mi podfile con estos pods

pod 'Alamofire', '~> 4.4'

pod 'SwiftyJSON'

pod 'IQKeyboardManagerSwift'

pod 'ActionSheetPicker-3.0'

pod 'Kingfisher'

pod 'JKNotificationPanel'

Mis preguntas son

  1. ¿Por qué mi file .app contiene todo el marco, supongo que solo ocurre con Swift y cocoapod (corrígeme si estoy equivocado)?
  2. ¿Cómo podemos networkingucir el tamaño de la construcción utilizando cocoapods con Swift?

Gracias por adelantado

Si utiliza las bibliotecas como bibliotecas estáticas, el linker puede excluir las partes de ellas que no usa de la compilation. Lo mismo no es cierto para los frameworks. Entonces, si acaba de hacer una aplicación con esas bibliotecas y no las utilizó, no se includeán en absoluto, por lo que no es una comparación equitativa.

Cuando le preguntas por qué tu aplicación contiene todos los frameworks de trabajo, supongo que te refieres a los de rápido time de ejecución y no a las dependencies que explícitamente pediste en cocoapods. Todas las aplicaciones rápidas tienen el time de ejecución incluido, al less hasta que el time de ejecución se vuelva lo suficientemente estable (cambia muy a menudo hoy en día), y luego el SO del teléfono contendrá algunas versiones de él y no tendremos que includelo en la aplicación.

Además, no te aterra el tamaño de la aplicación. El tamaño real de la aplicación que descarga el usuario es mucho menor. Puedes verlo en la pestaña de actividad de iTunesConnect y luego elegir tu compilation, una vez que la hayas cargado obviamente. He visto aplicaciones que suben a 120 Mb o más a iTunesConnect y luego la descarga final al usuario es de 20 a 30 MB.

Edite después de get más información: Dijo que está comparando arrastrar las fonts de bibliotecas en su proyecto vs cocoapods, y hay una clara diferencia aquí: si agrega los files fuente de la biblioteca no es lo mismo que agregar el marco comstackdo para la biblioteca . Si agrega las fonts, muchas de las cosas no utilizadas se optimizarán, lo que afectará al tamaño. Ejemplo de esto es cuando una biblioteca incluye una categoría que la biblioteca en sí no está utilizando. A less que se utilicen algunos indicadores del linker, la categoría se optimiza y no funciona en la aplicación utilizando la biblioteca (puede search all_load si desea más información). Cuando se usan frameworks, nada se optimiza, pero esto no sucede debido a Cocoapods. Puede usar frameworks sin Cocoapods, y debe get exactamente los mismos resultados con respecto al tamaño.