2014-11-10 3 views
15

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

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

+1

Было бы неплохо, если вы оставите нас в курсе, если вы найдете что-нибудь из – chris13

+1

Некоторые подсказки можно найти здесь (Вложение содержимого с помощью Swift в Objective-C): https://developer.apple.com/library/ios/qa/ qa1881/_index.html –

+0

У меня тоже есть эта проблема, какие-либо обновления? – Bruce

ответ

2

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

+2

Ну ... попробовал это, и папка f *** держится там –

2

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

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

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

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

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

+0

Я тоже сталкиваюсь с той же проблемой, Swift библиотеки включены в два раза. Но не знаю, как противостоять ему. Если у вас есть решение, то, пожалуйста, помогите мне. благодаря – technerd

1

Я обнаружил, что игра со значением «Встроенное содержимое содержит значение Swift» дала хорошие результаты и на самом деле имела решающее значение для моего приложения с расширением Apple Watch для проверки.

I have written an answer about the details for the Apple Watch fix here.

Смежные вопросы