Что на самом деле означает "разделить символы Swift" в Xcode?

При экспорте архива проекта, содержащего Swift, мы получаем возможность "разделить символы Swift". Я не видел разницы в размере приложения, хотя в проекте с одним манекеном Swift файла, что является идеальным случаем для максимального удаления.

Что это делает в точности и как оно влияет на окончательный размер приложения (.ipa)?

введите описание изображения здесь

P.S: как видно из Xcode 9 beta 6

ОБНОВЛЕНИЕ: на самом деле я могу наблюдать небольшое уменьшение размера ipa (3,4 МБ без сжатия) при просмотре конкретных вариантов устройств (не для универсального варианта)

Ответ 1

В соответствии с Xcode docs:

Новая настройка сборки Strip Swift Symbols (STRIP_SWIFT_SYMBOLS) - это включен по умолчанию. Он регулирует уровень снятия символа, так что когда связанный продукт сборки разделяется, все символы Swift удаляются. Это значительно уменьшает размеры рамок Swift. Если отсутствие символов Swift вызывает проблемы, например, при использовании dladdr(), этот параметр можно отключить. Чтобы просмотреть экспортированные символы из файла, который был удален, вместо этого используйте xcrun dyldinfo -export нм. (31306055)