¿Por qué las actualizaciones de iOS App Store se instalan completamente desde cero?

Apple ha hablado sobre esto varias veces en el pasado. Estas son algunas de las razones:
1. Las solicitudes se firman en función de TODOS los contenidos de la solicitud. Significado de recursos y compilado binario. Incluso cuando los recursos son exactamente iguales, se firman de manera diferente en diferentes versiones porque OTROS elementos han cambiado. Esto es principalmente por razones de seguridad para evitar la manipulación de las IPA.

2. Sería difícil reemplazar correctamente los activos que se han modificado con el mismo nombre de archivo. Los desarrolladores notan que cuando están probando, los activos NO se eliminan y reemplazan por completo y, a menudo, tienes problemas en los que un archivo de cambios no se reemplaza y requiere que desinstales / reinstales la aplicación. No querrás que eso suceda en producción.

3. Simplemente hay demasiadas variables que pueden cambiar en el binario compilado y, en la mayoría de los casos, de un tamaño relativamente pequeño (sin recursos), por lo que no tendría sentido analizar el binario actual, comparar cambios y simplemente reemplazar los cambios. Cualquier cantidad de cosas podría haber cambiado, como la versión del SDK, las variables precompiladas, las bibliotecas, la fuente misma, etc.

4. Finalmente, tenga en cuenta que si tiene muchas versiones anteriores, tendrá que lidiar con la actualización desde diferentes versiones. Esto podría ser un gran desastre bastante rápido. Observe cómo algunos programas de escritorio requieren actualizaciones de una versión específica. Terminaría teniendo más datos descargados en el proceso incremental que una sola descarga completa.

A partir de iOS7, la actualización puede ser más pequeña que la aplicación completa. Consulte Reducción del tamaño de descarga para las actualizaciones de la aplicación iOS