2015-01-12 15 views
9

W mojej aplikacji miałem folder z obrazami, z których otrzymywałem nazwy do użycia jako klucze do Słownika. Przeniosłem teraz wszystkie obrazy do katalogu zasobów i utworzyłem grupy dla odpowiednich folderów. Kod używający FileManager nie działa, ponieważ nie może znaleźć żadnych folderów (ze względu na to, że zasoby są kompilowane do pliku .car).Jak mogę uzyskać nazwy wszystkich obrazów w grupie katalogu zasobów?

Jak mam się do tego zbliżyć?

+0

Jak na moje pytanie, które skomentowałeś. Nie możesz. – Fogmeister

+0

@Fogmeister Tak, to prawda .. Ale sprawdź moją odpowiedź na obejście. – Dionysis

Odpowiedz

16

Więc (po sugestią Matt) tutaj jest to, co robiłam:

stworzyłem RunScript zbudować fazy uruchomienia przed kompilacją

enter image description here

i używane skrypt, aby utworzyć plik txt z Nazwy plików, które mogę następnie wykorzystać w czasie wykonywania

#!/bin/sh 
>./your_app_folder/fileNames.txt 
for FILE in ./your_app_folder/Images.xcassets/actions/*; do 
echo $FILE >> ./your_app_folder/fileNames.txt 
done 
+3

W ciągu 48 godzin możesz zaakceptować własną odpowiedź zamiast mojej. Powinieneś to zrobić. Nie obrażę się wcale! To nie ma znaczenia, ale chodzi o to, że jest to naprawdę dobre rozwiązanie, a potomność zasługuje na to, by uznać to rozwiązanie za rozwiązanie, które będzie zaznaczone. Wykonałeś tutaj pracę, nie ja. – matt

+0

Ah. Doskonała odpowiedź w rzeczy samej. Nie zadziałałoby to w moim przypadku, ponieważ kolejność obrazów nie jest taka sama jak kolejność alfabetyczna. Podoba mi się ta odpowiedź. – Fogmeister

+0

@matt Hi matt :) Zrobię to. Dziękuję Ci! – Dionysis

7

Masz dwie możliwości:

  • nie rób tego. Przejdź bezpośrednio do folderu z obrazami.

  • Podaj klucze w inny sposób. Jeśli nie chcesz zakodować ich w kodzie, możesz utworzyć plik tekstowy. Ale oczywiście będziesz musiał aktualizować ten plik tekstowy podczas dodawania/usuwania obrazów.

Zauważysz, że nie powiedziałem, że możesz magicznie introspekować katalog aktywów. To dlatego, że nie możesz.

+1

Możesz, istnieją pewne wstępne informacje [tutaj] (https://github.com/davepeck/iOS-artwork) Ale absolutnie NIE powinien nawet o tym myśleć. Właściwa droga prawie na pewno powróci do twojego systemu plików. –

+0

@David Dobra informacja! Ty i ja używamy różnych znaczeń słowa "puszka" :))) – matt

+0

@ David dziękuje :) Poszedłem na drugą opcję, ale stworzył fazę uruchamiania skryptu uruchamiania ze skryptem bash, aby programowo utworzyć plik tekstowy. Jest to możliwe, ponieważ przed kompilacją folder xcassets jest dostępny normalnie. – Dionysis

Powiązane problemy