Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

288
Vistas
Swift - Importa y abre extensiones de archivo personalizadas

Tengo que abrir un archivo personalizado dentro de la aplicación que estoy creando, pero no estoy seguro de cómo hacerlo. El archivo importado solo contiene carpetas dentro de él que contiene un plist

por ejemplo fileName.customExtension/name uuid/name.plist

si abro la copia del archivo personalizado y pego la otra carpeta "nombre uuid" en una carpeta normal que luego importo en la aplicación, funciona bien.

por ejemplo nombre de archivo/nombre uuid/nombre.plist

Entonces, ¿cómo podría importar la carpeta con la extensión personalizada directamente en la aplicación?

Escribí el código a continuación si el archivo personalizado se coloca en la aplicación para probarlo en este momento, pero no funciona, ya que supongo que no estoy convirtiendo la extensión en una carpeta normal, sino que simplemente la elimino.

func cargar archivos importados () {

 var fileName: String = "" let documentsDirectoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! do { let fileUrls = try FileManager.default.contentsOfDirectory(at: documentsDirectoryURL, includingPropertiesForKeys: nil) for plist in fileUrls { let path: String = plist.path let file = URL(fileURLWithPath: path).lastPathComponent if file.contains(".CustomExtension"){ fileName = URL(fileURLWithPath: path).deletingPathExtension().lastPathComponent } } } catch { print("error path") } var objCBool: ObjCBool = true let mainPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]; let folderPath = mainPath + "/Folder/\(fileName)" let isExist = FileManager.default.fileExists(atPath: folderPath, isDirectory: &objCBool) if !isExist { do { try FileManager.default.createDirectory(atPath: folderPath, withIntermediateDirectories: true, attributes: nil) } catch { print(error) } } let originalDataFilePath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.appendingPathComponent("\(fileName).CustomExtension") let newDestinationPath = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first?.appendingPathComponent("Folder/\(fileName)") do { try FileManager.default.moveItem(at: originalDataFilePath!, to: newDestinationPath!) print("imported") } catch { print(error) } }

¡Si alguien pudiera guiarme en la dirección correcta, sería genial, gracias!

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La solución es usar tipos de archivos personalizados en la lista de información. Deberá agregar "UTI de tipo exportado" y "Tipos de documentos" a la Lista de información. Entonces se reconocerán sus archivos personalizados.

A continuación se muestra el tutorial que utilicé para implementarlo.

https://chariotsolutions.com/blog/post/importing-data-via-custom-file-types-in/

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda