2012-09-24 14 views
19

Stworzyłem bibliotekę statyczną i pakiet zasobów do ponownego wykorzystania kodu i zasobów w kilku projektach.Dlaczego pakiet zasobów kopiuje pliki .png jako obrazy .tiff?

wewnątrz biblioteki statycznej Mam klasy menedżera, którego jedynym celem jest stworzenie innego UIViewControllers, którego poglądy są tworzone z .xib plików (wspólną metodą initWithNibName:bundle:).

Po utworzeniu widoku w programie Interface Builder obrazy są wyświetlane poprawnie. Jednak, kiedy uruchomić aplikację na symulatorze, otrzymuję ten błąd:

Could not load the "<image_name.png>" image referenced from a nib in the 
    bundle with identifier "com.<my_company>.<app_identifer>" 

Po godzinach mielenia, w końcu sprawdził wiązkę zasobów, i znalazłem, że .png pliki nie były w nim! Zamiast tego były tam pliki o tej samej nazwie (z wyjątkiem wersji @ 2x).

Wszystkie obrazy są uwzględnione w fazie kompilacji pakietu pod kopią zasobów pakietu, a ja użyłem obrazów w innych projektach iOS (aby nie były uszkodzone).

Czy ktoś jeszcze tego doświadczył? Czy można bezpiecznie założyć, że obrazy będą zawsze dodawane do pakietu jako . Tiff? (A jeśli tak, czy można bezpiecznie zmienić nazwę obrazu w konstruktorze interfejsu na . TIFF?) Czy robię coś niepoprawnego tutaj?

Dzięki za pomoc z góry.

+0

Tifffffff ...... –

+1

Może ten link będzie pomocne dla ciebie :) http://stackoverflow.com/questions/12244494/image- resources-for-ios – IronManGill

+0

@Gill Ten link zdecydowanie pomaga. Jeśli dodasz ją jako odpowiedź, zaakceptuję ją, aby uzyskać kredyt. Dziękuję Ci. –

Odpowiedz

21

Aby uzyskać informacje o pakietach zasobów, zobacz ten link, ponieważ ma kilka podobnych zapytań.

Conversion Resource bundle

Powiedz mi odpowiedź, która naprawdę pomógł Ci rozwiązać ten problem. Dzięki.

+6

Druga odpowiedź i komentarz do trzeciej odpowiedzi naprawdę pomogły mi rozwiązać ten problem. Zasadniczo, ponieważ pakiety są tworzone w systemie iOS przy użyciu "hacka" (modyfikującego pakiet Mac OSX), niektóre ustawienia muszą zostać zmienione, aby wszystko działało - w tym przypadku zmieniało się "łączenie grafiki wysokiej rozdzielczości" z " Nie". Dzięki Gill! –

+0

Gr8 .... Mam problem rozwiązany 2 ... dzięki za wysłanie pytania !!! : D – IronManGill

+0

Awesome. Kiedy otrzymamy legalny zasób pakietu dla systemu iOS? – MattD

14

to rozwiązało mój problem

In your bundle target Go to,

Build Settings > COMBINE_HIDPI_IMAGES and set to NO

+0

Niesamowite, dzięki – Chahal

Powiązane problemy