Быстрые библиотеки дважды включались в ПНД

Я обнаружил, что все библиотеки Swift (libswiftCore.dylib, libswiftCoreGraphics.dylib,...) существуют дважды в IPA. После распаковки IPA в папке SwiftSupport и одних и тех же файлах снова есть одна версия библиотек тезисов внутри области Payload/Framework.

Насколько я узнал, папка SwiftSupport всегда генерируется Xcode при создании Swift-проекта. Но откуда берутся библиотеки Swift в Payload/Frameworks и как я могу избавиться от них?

Ответы

Ответ 1

Я думаю, что если ваш код уже использует Swift, у вас нет установленного флажка "Встроенное содержимое содержит Swift-код" в Build Options для NO, иначе Xcode добавит библиотеки, потому что он считает, что вы используете некоторые фреймворки с быстрым кодом

Ответ 2

У меня такая же проблема. Я прочитал некоторые ответы, которые предполагают, что это не большая проблема, и я должен сказать, что похоже, что это не так.

Мое приложение содержит 3 цели - основное приложение и 2 современных расширения. Когда я создаю архив, его размер составляет 86 МБ. Большинство из них - это библиотеки поддержки Swift, которые в моем случае составляют около 45 МБ, и они включены дважды.

Однако, когда я проверяю бинарный размер через тестовый полет, он составляет 23,6 МБ. Теперь это еще много, учитывая, что мое приложение - простая утилита.

Однако, это не так уж много, если учесть, что библиотеки Swift должны быть включены. До сих пор я бы сказал, что, хотя эти библиотеки включены дважды в IPA, они не включаются дважды в фактический двоичный файл.

Это, очевидно, не отвечает на исходный вопрос, и я также с нетерпением жду, когда кто-нибудь придумает точное решение, но это может быть полезно.