IPA, генерируемый быстрым, настолько велик, что около 5 МБ

Я только что создал простой проект, используя быстрый язык, а затем скомпилирую и архивирую его для создания файла .ipa. Файл IPA настолько велик, что он составляет около 5 МБ.

Это правильно (без проблем)? когда я создаю его в Objective-C, это всего лишь около 500 кб.

Ответ 1

Да, это правильно. Библиотеки, содержащие весь язык Swift, должны быть встроены в IPA. Эти библиотеки являются частью приложения, а не частью системы, поскольку Swift должен работать даже с обратной совместимостью, отчасти потому, что он постоянно изменяется (независимо от системных обновлений) и частично для работы с iOS 7 (где система никогда не слышала о Swift). И они размером около 5 МБ.

Ответ 2

Чтобы расширить матовый ответ, здесь цитата из журнала Swift по совместимости:

Вы можете доверять тому, что ваше приложение будет работать в будущем. [...] Это возможно, потому что Xcode встраивает небольшую библиотеку Quicktime runtime в пакет приложений. Поскольку библиотека встроена, ваше приложение использует согласованную версию Swift, которая запускается в прошлых, настоящих и будущих выпусках ОС.

Итак, если ваша новейшая версия приложения была построена с Xcode 6.0, а пользователь вашего приложения работает под управлением iOS 8.1, а к вашему приложению вносятся изменения в Swift, ваше приложение не будет прерываться из-за обновления iOS, Если ваше приложение просто использовало системные библиотеки, оно могло бы.

Это позволяет разработчикам Swift быстрее итерации без необходимости создавать обратную совместимость между каждой версией.

Дополнительное предупреждение:

Пока обеспечивается совместимость со временем выполнения приложений, язык Swift будет продолжать развиваться, а бинарный интерфейс также изменится. Чтобы быть в безопасности, все компоненты вашего приложения должны быть построены с той же версией Xcode и компилятора Swift, чтобы обеспечить их совместную работу.