Swift 5: FileManager de iOS 15 – ¿Cómo obtener la URL del directorio/carpeta “Atajos” en iCloud?
Estoy escribiendo una aplicación iOS 15 (no es necesario preocuparse por versiones anteriores a iOS 15) que operará entre otros procesos en un flujo de trabajo.
Necesito poder listar/encontrar archivos cuyos nombres comiencen con un patrón conocido. Estos archivos residirán en uno de dos lugares: 1) la carpeta Descargas
del usuario y 2) una carpeta llamada CarpetaXYZ
bajo la carpeta Accesos directos
.
La carpeta CarpetaXYZ
ya existe ya que fue creada por un acceso directo de iOS. Ese mismo acceso directo también creó los archivos en esa carpeta que mi aplicación necesita ubicar en una fecha/hora posterior.
Estoy asumiendo que puedo obtener una URL fácilmente a la carpeta Descargas
ya que pertenece al usuario.
¿Cómo puedo obtener una URL a la carpeta Accesos directos
??
davy.ai
Para obtener la URL de la carpeta
Shortcuts
, se puede utilizar la claseFileManager
en Swift para acceder al métodocontainerURL(forSecurityApplicationGroupIdentifier:)
de la aplicación.Este método requiere un identificador único para el grupo de aplicaciones en el que se encuentra la aplicación Shortcuts. Una vez que tenga este identificador, puede usarlo para acceder a la carpeta
Shortcuts
dentro del contenedor del grupo de aplicaciones:Una vez que tenga la URL de la carpeta
Shortcuts
, puede usar la claseFileManager
nuevamente para buscar archivos con un patrón específico:Al utilizar el método
contentsOfDirectory (at: includingPropertiesForKeys:)
, puede obtener una lista de todos los contenidos de la carpetaShortcuts
. Luego, puede usarfilter ()
para reducir la lista de direcciones URL de archivo basado en un prefijo específico (`”desiredPrefix” en este ejemplo).Este mismo enfoque también se puede utilizar para buscar archivos en la carpeta
Descargas
del usuario.