Pytanie Dlaczego Xcode kopiuje niezmienione zasoby podczas budowania na urządzeniu?


Pracuję z raczej dużym, ciężkim dla zasobów projektem dla iOS i nie mogę nie zauważyć, że Xcode kopiuje setki zasobów (tekstur, spritsheets, plików dźwiękowych, itp.), Które nie zmieniły się od ostatniego czas, który zbudowałem na urządzeniu. Sprawia, że ​​kodowanie jest naprawdę powolne, gdy każda kompilacja zajmuje 2-4 minuty, aby wyświetlić się na urządzeniu.

Czy istnieje sposób, aby Xcode rozpoznał, że robi zbędne rzeczy lub pisze skrypt, który pozwala mu być bardziej inteligentnym w przekazywaniu zasobów do urządzenia?

PS Rozumiem, że nie może być żadnych wbudowanych funkcji "dołączania" dla aplikacji. Mam nadzieję, że tak nie jest.


12
2017-10-06 20:11


pochodzenie




Odpowiedzi:


Możesz spróbować dodać kolejny cel do projektu i nazwać go "bez zasobów". Wyklucz wszystkie ciężkie zasoby z tego celu. Pierwszy raz musisz uruchomić aplikację ze wszystkimi celami zasobów, a następnym razem użyj celu "bez zasobów". Jeśli dodałeś coś do projektu, powinieneś użyć pierwszego celu.


3
2017-10-06 21:30





System iOS obsługuje tylko instalowanie pełnych pakietów aplikacji, które są podpisane na urządzeniu. Proces wdrażania instalacji debugowania na urządzeniu jest taki.

  1. Skompiluj zmieniony kod źródłowy i znak binarny
  2. Alpha wstępnie pomnaża obrazy PNG
  3. Utwórz folder zawierający zasoby aplikacji i plik binarny w środku
  4. Podpisz zawartość folderu i utwórz plik ZIP z folderem i podpisem
  5. Skopiuj plik ZIP (.ipa) na urządzenie

Niestety, wyobrażam sobie, że czas spędzany jest w punkcie 3 i 4, w którym tworzona jest każda kompilacja. Nie widziałem żadnego sposobu, aby to przyspieszyć. Jeśli masz wiele, wiele obrazów PNG, możesz spróbuj powiedzieć Xcode, aby pominąć Krok 2.

Podejście NeverBe brzmi jak świetny pomysł, jeśli twoja aplikacja może pozwolić ci nie uwzględniać wielu zasobów przez większość czasu, który rozwijasz. Alternatywnie można mieć drugi zestaw znacznie mniejszych / fałszywych zasobów, które można włączać i wyłączać.


3
2017-10-06 21:40





Czasami XCode naprawdę umieszcza niezmienione zasoby w pakietach. Zwykle, gdy zmieniasz pliki według Findera, nie XCode.

Utwórz projekt -> Wyczyść, aby dokonać całkowitej przebudowy


0
2017-10-06 20:24