Agregar Swift al proyecto aumenta considerablemente el tamaño. ¿Cómo y cuándo se puede evitar?

Tengo una pequeña aplicación escrita en Objective-C. Era algo así como 3 Mb de tamaño. Cuando agregué un file Swift, el tamaño de mi file creció hasta 10 Mb.

Lo que encontré es que Swift incrusta su biblioteca real en cada proyecto en el que se usa. Esto es necesario para poder ejecutar el proyecto incluso en el caso de que la biblioteca Swift cambie en el futuro.

Pero 8 megabytes es una gran carga para pequeños proyectos. ¿Tal vez hay alguna información acerca de cuándo Swift obtendrá una biblioteca estable que se incrustará en el sistema operativo?

O tal vez hay algunas banderas que se pueden agregar al proyecto que obligan al comstackdor a usar la biblioteca estándar Swift incrustada en iOS?

Swift todavía está cambiando. Por lo tanto, en este momento, el time de ejecución debe includese en todas las aplicaciones. Tal vez Apple includeá el time de ejecución Swift en iOS una vez que el desarrollo de Swift ralentice.

El código fuente Swift tuvo que ajustarse después de casi todas las versiones de Xcode desde las 6.0 betas. El time de ejecución ha cambiado al mismo time que el comstackdor. iOS no puede usar una biblioteca Swift estándar, pero tiene que usar la que fue comstackda y vinculada a la aplicación.

Mira esta explicación de Apple .

puedes confiar en que tu aplicación funcionará bien en el futuro. De hecho, puede orientar hacia atrás a OS X Mavericks o iOS 7 con esa misma aplicación. Esto es posible porque Xcode incrusta una pequeña biblioteca de time de ejecución Swift dentro del package de la aplicación. Debido a que la biblioteca está incrustada, su aplicación utiliza una versión coherente de Swift que se ejecuta en versiones del sistema operativo pasado, presente y futuro.

Si bien se garantiza la compatibilidad con la ejecución de la aplicación, el lenguaje Swift seguirá evolucionando y la interfaz binaria también cambiará.

Como Swift cambia, esos frameworks serán incompatibles con el rest de su aplicación. Cuando la interfaz binaria se estabilice en uno o dos años, el time de ejecución Swift pasará a formar parte del SO host y esta limitación ya no existirá

No usar Swift es la única forma de networkingucir el tamaño de la aplicación.

Dado que Swift 3.0 no entregará un ABI estable , esto seguirá siendo el mismo por el momento. Por lo tanto, en un año o dos probablemente se traduzca a Swift 5.0 en 2018.