Как найти локальный путь и разделить их с именами папок и получить путь к этим объектам - PullRequest
0 голосов
/ 16 ноября 2018

Я скачал файлы из firestore и сохранил их на локальном компьютере с их идентификаторами документов.Теперь мне нужно найти путь к этим файлам и сделать из них файл json с именами их папок (documentId)

Это моя тестовая папка , и у них уже есть идентификатор.Я проверил некоторые из кодов, подобных этому:

  let fileManager = FileManager.default
    let documentsPath1 = NSURL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0])
    let logsPath = (documentsPath1.appendingPathComponent("/testEmo/"))
    do
    {
        let fileURLs = try fileManager.contentsOfDirectory(at: logsPath!, includingPropertiesForKeys: nil)
        print("fileURLs \(fileURLs)")
 This is the printed path :  /Users/users/Library/Developer/CoreSimulator/Devices/deviceId/data/Containers/Data/Application/DeviceId/Documents/testEmo
    }
    catch let error as NSError
    {
        NSLog("Unable to create directory \(error.debugDescription)")
    }

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

Найденорешение.Если кому интересно;

do {
        let documentURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
        let Path = documentURL.appendingPathComponent("folderName").absoluteURL
        let directoryContents = try FileManager.default.contentsOfDirectory(at: Path, includingPropertiesForKeys: nil, options: [])
        for x in directoryContents {
            print("lastPathComponent \(x.lastPathComponent)")
            let path2 = Path.appendingPathComponent(x.lastPathComponent).absoluteURL
            let directoryContents2 = try FileManager.default.contentsOfDirectory(at: path2, includingPropertiesForKeys: nil, options: [])

            for x in directoryContents2 {
                print("checkdirectoryContents2 \(x.lastPathComponent)")
            }

        }

    }
    catch {
        print(error.localizedDescription)
    }
...