2015-08-07 1 views
0

Pour lire et enregistrer des données de mon application, je veux utiliser le dossier de documents de l'utilisateur. Lors du débogage, ceci est mappé à un autre emplacement. Mais je veux avoir le "vrai" dossier de documents utilisateur. Je veux éviter d'utiliser un nom de chemin d'accès fixe à mon utilisateur lors du débogage. En fait j'utiliseDossier de documents durables?

if let dirs : [String] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String] { 
     let dir = dirs[0] // documents directory 
     return dir.stringByAppendingPathComponent(filenameOnly) 
    } 

où filenameOnly est le fichier que j'aime accéder.

+0

OS X je présume? Pour votre information, [Guide de programmation du système de fichiers] (https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/Introduction/Introduction.html) est un bon endroit pour commencer. Mais au lieu de '.AllDomainsMask' je suggérerais' .UserDomainMask'. – Rob

+0

Pouvez-vous nous donner un exemple de ce à quoi cela correspond? – Rob

Répondre

1

Vous faites bien. (sauf, comme Rob le dit dans son commentaire, vous devriez utiliser le domaine utilisateur au lieu de allDomains.)

Sur iOS, et sur Mac OS pour une application en bac à sable (toutes les nouvelles applications de l'App Store doivent être en sandbox), vous avez seulement accès à certains répertoires bénis sandboxed.

Le répertoire des documents persistera pour la vie de votre application. Si vous soumettez une mise à jour via le magasin d'applications, le répertoire de documents et son contenu persisteront.

Le code affiché vous donne un chemin d'accès au répertoire des documents « réels ». Si vous utilisez une application iOS sur la carte SIM, vous obtiendrez un chemin sur votre Mac. Si vous utilisez l'appareil, vous obtenez un chemin bizarre à l'intérieur de l'ensemble de votre application.