Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

408
Visualizações
FileManager.default.fileExists dice que el directorio de documentos no existe

FileManager.default.contentsOfDirectory afirma que el directorio de documentos no existe, aunque claramente existe. Estoy usando Swift 4.2 en mi iPhone SE real con iOS 12.1.2

Estoy leyendo el contenido del directorio de downloads en mi aplicación usando lo siguiente:

 do { let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] let downloadedContents = try FileManager.default.contentsOfDirectory(at: documentsURL, includingPropertiesForKeys: nil) print(downloadedContents) } catch { print("Error while enumerating contents: \(error.localizedDescription)") }

Esto imprime lo siguiente, diciéndome que existe un archivo en el directorio de documentos:

 [file:///private/var/mobile/Containers/Data/Application/698F8D51-92AF-4BAB-A212-0A0982090550/Documents/example-file/]

(Moví el archivo allí desde el directorio de cachés después de descargar una compra desde la aplicación, pero no creo que sea relevante para esta pregunta).

Más adelante en mi código, quiero verificar si el archivo se descargó. Estoy usando lo siguiente:

 let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0] let path = URL(fileURLWithPath: "example-file", relativeTo: documentsURL) var isDir : ObjCBool = false if FileManager.default.fileExists(atPath: path.standardizedFileURL.absoluteString, isDirectory: &isDir) { if isDir.boolValue { return true } else { return false // file exists but is not directory } } else { return false // file does not exist at all }

Pero esto siempre devuelve falso, aunque contentsOfDirectory mostró que existe.

Durante la depuración, también probé:

 let fileManager = FileManager.default let documentsURL = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0] po FileManager.default.fileExists(atPath: documentsURL.standardizedFileURL.absoluteString)

Pero esto también devuelve falso. Ahora estoy bastante seguro de que solo estoy usando los métodos fileExists incorrectamente.

¿Alguien puede detectar lo que estoy haciendo mal?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Resulta que uno debería usar documentsURL.path , en lugar de cualquier tipo de URL.

La ruta comienza con /var/mobile... mientras que las URL comienzan con file:///var...

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda