Я пытаюсь создать массив URL-адресов для всех ресурсов в подкаталоге моего приложения для iOS.Кажется, я не могу найти правильный путь, я хочу получить URL-адреса, даже если я не знаю имен (т.е. я не хочу жестко кодировать имена файлов в коде).
Ниже приведен снимок экрана иерархии. Я пытаюсь получить все файлы в папке «test»:
Любая помощь очень важна, я попыталсяиспользовать файловый менеджер и связывать основной путь, но пока не радует.
Это единственный код, который у меня есть на данный момент:
let fileManager = FileManager.default
let path = Bundle.main.urls(forResourcesWithExtension: "pdf", subdirectory: "Files/test")
print(path)
Я также пробовал этот код, но он печатает все ресурсыЯ не могу указать подкаталог:
let fm = FileManager.default
let path = Bundle.main.resourcePath!
do {
let items = try fm.contentsOfDirectory(atPath: path)
for item in items {
print("Found \(item)")
}
} catch {
// failed to read directory – bad permissions, perhaps?
}
Исходя из ответа @vadian, папки были изменены из виртуальных групп в реальные папки.Используя следующий код, я смог получить список ресурсов:
let fileManager = FileManager.default
let path = Bundle.main.resourcePath
let enumerator:FileManager.DirectoryEnumerator = fileManager.enumerator(atPath: "\(path!)/Files/test")!
while let element = enumerator.nextObject() as? String {
if element.hasSuffix("pdf") || element.hasSuffix("jpg") { // checks the extension
print(element)
}
}