Bonjour,

j'utilise des UIDocument dans mon application (une "Document-Based App") afin d'encapsuler plusieurs fichiers ainsi que des métadonnées. J'utilise une extension perso, ".nfile" afin de présenter à l'utilisateur un "package" au lieu d'un dossier, c'est aussi très utile pour les recherches sur iCloud.

Ces packages sont disposés hiérarchiquement dans le répertoire Documents de l'application (une arborescence dossier / fichiers typique à plusieurs niveaux).
J'affiche l'arborescence dans une vue afin de permettre à l'utilisateur de parcourir les dossiers et d'afficher les fichiers (les .nfile)

Mais je rencontre un petit problème pour identifier les dossiers des fichiers. En effet, ces packages sont vu par ios comme des dossiers, toutes les méthodes que j'ai utilisé pour essayer de différencier les deux ne fonctionnent pas.

En passant par le NSFileManager
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
var directory : ObjCBool = false
if NSFileManager.defaultManager().fileExistsAtPath(currentFile, isDirectory: &directory) {
log.info("\(currentFile) directory -> \(directory)")
}
En passant par un NSFileWrapper
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
do {
let wrapper = try NSFileWrapper(URL: NSURL(fileURLWithPath:currentFile), options: NSFileWrapperReadingOptions.WithoutMapping)
log.info("\(currentFile) directory -> \(wrapper.directory)")
} catch {print(error)}

Dans les idées pas très élégantes, il me reste toujours la détection de l'extension (je risque d'en avoir quelques unes en plus) ou alors faire péter lors du chargement du UIDocument.

Voilà je voulais donc savoir si quelqu'un avait déjà été confronté à ce problème ou si quelqu'un avait une autre idée.

Merci !

Nicolas