/ / Biblioteki Swift zawarte dwukrotnie w IPA - xcode, swift, ipa

Biblioteki Swift zawarte dwukrotnie w IPA - xcode, swift, ipa

Odkryłem, że wszystkie biblioteki Swift(libswiftCore.dylib, libswiftCoreGraphics.dylib, ...) istnieją dwa razy w IPA. Po dekompresji IPA istnieje jedna wersja tych bibliotek w folderze SwiftSupport i te same pliki ponownie w Payload / Frameworks.

O ile się dowiedziałem, folder SwiftSupport jestzawsze genertowane przez Xcode, gdy budowany jest projekt Swift. Ale skąd się biorą biblioteki Swift w Payload / Frameworks i jak mogę się ich pozbyć?

Odpowiedzi:

2 dla odpowiedzi № 1

Myślę, że jeśli twój kod już używa Swift, tynie ustawiaj flagi "Wbudowana zawartość zawiera kod Swift" w Opcjach budowania na NIE, w przeciwnym razie Xcode doda biblioteki, ponieważ sądzi, że używasz niektórych frameworków z szybkim kodem


2 dla odpowiedzi nr 2

Mam ten sam problem. Czytałem kilka odpowiedzi, które sugerują, że nie jest to wielka sprawa i muszę powiedzieć, że wygląda na to, że nie jest.

Moja aplikacja zawiera 3 cele - główna aplikacja i 2 dzisiajrozszerzenia. Kiedy tworzę archiwum jego rozmiar to krzyczący 126 MB. Większość z nich to biblioteki pomocnicze Swift, które w moim przypadku mają około 45 MB i są uwzględniane dwukrotnie.

Jednakże, gdy sprawdzam rozmiar binarny podczas lotu testowego, wynosi on 23,6 MB. Teraz to wciąż dużo, biorąc pod uwagę, że moja aplikacja jest prostym narzędziem.

Jednak nie jest to zbyt wiele, jeśli weźmieszpamiętaj, że należy włączyć biblioteki Swift. Do tej pory chciałbym powiedzieć, że chociaż te biblioteki są zawarte dwukrotnie w IPA, nie są one uwzględniane dwukrotnie w rzeczywistej wersji binarnej.

To oczywiście nie odpowiada na oryginalne pytanie i niecierpliwie czekam, aż ktoś wymyśli dokładne rozwiązanie, ale może być pomocne.


1 dla odpowiedzi nr 3

Odkryłem, że korzystanie z wartości "Osadzona zawartość zawiera Swift" przyniosło dobre wyniki i było kluczowe dla mojej aplikacji z rozszerzeniem Apple Watch, aby pomyślnie przejść weryfikację.

Napisałem tutaj odpowiedź na temat szczegółów poprawki Apple Watch.