2015-01-12 2 views
9

В моем приложении у меня была папка с изображениями, из которых я получал имена, которые нужно использовать в качестве ключей к Словарю. Теперь я переместил все изображения в каталог активов и создал группы для соответствующих папок. Код с использованием FileManager больше не работает, так как он не может найти никаких папок (из-за того, что данные компилируются в файл .car).Как получить все имена изображений в группе каталогов активов?

Как мне подойти к этому?

+0

Согласно моему вопросу, который вы прокомментировали. Вы не можете. – Fogmeister

+0

@Fogmeister Да, это правда. Но проверьте мой собственный ответ на обходной путь. – Dionysis

ответ

16

Так (по предложению Мэтта) вот что я сделал:

Я создал RunScript построить фазу для запуска перед компиляцией

enter image description here

и использовал скрипт для создания txt файла с имена файлов, которые я могу использовать во время работы

#!/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

Через 48 часов вы можете принять свой собственный ответ вместо моего. Вы должны это сделать. Я не буду обижаться! Не то чтобы это важно, но, на мой взгляд, это действительно хорошее решение, и потомство заслуживает того, чтобы рассматривать его как решение, которое будет показывать галочка. Вы сделали здесь работу, а не я. – matt

+0

Ах. Отличный ответ. Это не сработало бы в моем конкретном случае, так как порядок изображений не совпадает с порядком в алфавитном порядке. Мне нравится этот ответ. – Fogmeister

+0

@matt Привет матовый :) Я сделаю это. Спасибо! – Dionysis

7

У вас есть два варианта:

  • Не делай этого. Идите прямо, используя папку изображений.

  • Поставка ключей другим способом. Если вы не хотите жестко закодировать их в самом коде, вы можете создать текстовый файл. Но, конечно, вам придется сохранить этот текстовый файл при добавлении/удалении изображений.

Вы заметите, что я не сказал, что вы могли бы волшебным образом изучить каталог активов. Это потому, что ты не можешь.

+1

Вы можете, есть предварительная информация [здесь] (https://github.com/davepeck/iOS-artwork). Но вы абсолютно НЕ должны думать об этом. Правильный путь - это почти наверняка вернуться к подходу вашей файловой системы. –

+0

@David Хорошая информация! Вы и я используем разные значения слова «can» :))) – matt

+0

@ David спасибо, ребята :) Я действительно пошел на второй вариант, но создал фазу сборки сценария запуска с помощью скрипта bash для программного создания текстового файла. Это возможно, так как до компиляции папка xcassets доступна как обычно. – Dionysis

Смежные вопросы