2017-04-07 17 views
5

Nasza aplikacja osiąga około 49 MB, a my nie jesteśmy w połowie. Tak więc zdecydowanie przekroczy limit 50 MB. Mam kilka pytań poniżej.Zbliżanie się do limitu rozmiaru - rozmiar aplikacji zegarka (limit 50 MB to ból głowy).

1) Czy w systemie watchOS możliwe są zasoby na żądanie?

2) Moje zasoby (obrazy, niestandardowe czcionki) tworzą 2 kopie, każda jest aplikacją do oglądania, a druga jest rozszerzeniem oglądania. Jak to rozwiązać?

3) Swift core i inne szybkie struktury zużywają około ~ 28 MB miejsca. czy istnieje sposób, aby to wyłączyć?

Edycja dla watchOS4 (PS mamy kod nieco wyłączony.):

Wcześniej nasza aplikacja była wielkość 44,3 MB ale kiedy generują IPA od wielkości xcode9 wzrósł do 54,5.

Odpowiedz

1

Można zdecydowanie zaoszczędzić miejsce tylko w tym zasobów w każdej aplikacji zegarka lub przedłużenia zegarka, a nie obu. W przypadku zasobów używanych w scenorysie lub odniesień nazwanych w metodach WatchKit, takich jak metoda WKInterfaceImage 's, należy przechowywać je w samej aplikacji do oglądania. W przypadku wszystkich zasobów załadowanych w kodowaniu ścieżką lub metodami UIImage, takimi jak init?(named:), należy umieścić je w rozszerzeniu WatchKit.

+0

tak, że mogłoby to możliwe, ale jeśli mam animowanie obrazy wtedy muszę dodać te obrazy w obu celach. –

+0

Dlaczego musisz dodać je do obu celów? Możesz użyć animowanych obrazów w rozszerzeniu WatchKit lub pakiecie aplikacji; jeśli chcesz użyć ich w kodzie, możesz po prostu użyć ich w kodzie za każdym razem, gdy będziesz ich potrzebować. –

0

Aby odpowiedzieć na pierwsze pytanie, tak zasoby na żądanie są dostępne dla watchOS. Zobacz też: here i here Dodatkowo, powyższy pierwszy link opisuje "krojenie", które pozwala określić zasoby do kierowania na urządzenia, zmniejszając w ten sposób całkowity ślad aplikacji.

Aby odpowiedzieć na trzecie pytanie, przejdź do ustawień projektu rozszerzenia i ustaw opcję Zawsze włączaj standardowe biblioteki Swift na "Nie".

także usunąć bibliotekę Newtonsoft.Json z projektu rozbudowy zegarka, jeśli istnieje

1

następujące rzeczy mogą pomóc zmniejszyć rozmiar:

1) Spróbuj użyć albo SWIFT lub Objective C

2) Dodaj aktywów albo w zegarku lub oglądać rozszerzeń, zgodnie z wymaganiami.

3) Włącz kod bitowy

4) Przejdź do ustawień projektu przedłużenia, a ustawione Always Osadzanie Swift standardowych bibliotek do nr.

Aktualizacja WatchOs4:

Badaliśmy wzrost wielkości w watchos4. W końcu dowiadujemy się, że dylibs zużywa pamięć.

libSwiftCode był 16.1mb w watchos3 teraz nadszedł 23.1mb

libSwiftFoundation był 6.2mb w watchos3 teraz nadszedł 9.2mb

Uwaga:

Od wielkości watchOS4 wzrosła o 25 MB, więc teraz oglądać limit rozmiaru aplikacja jest 75MB zamiast starego 50MB

Powiązane problemy