Je n'ai pas pu trouver le code dans la documentation suggérée par la réponse acceptée mais j'ai trouvé l'équivalent mis à jour ici :
Guide de programmation du système de fichiers :: Accès aux fichiers et répertoires »
- (NSURL*)applicationDataDirectory {
NSFileManager* sharedFM = [NSFileManager defaultManager];
NSArray* possibleURLs = [sharedFM URLsForDirectory:NSApplicationSupportDirectory
inDomains:NSUserDomainMask];
NSURL* appSupportDir = nil;
NSURL* appDirectory = nil;
if ([possibleURLs count] >= 1) {
// Utiliser le premier répertoire (si plusieurs sont renvoyés)
appSupportDir = [possibleURLs objectAtIndex:0];
}
// Si un répertoire d'assistance à l'application valide existe, ajoutez l'identifiant de bundle de l'application pour spécifier le répertoire final.
if (appSupportDir) {
NSString* appBundleID = [[NSBundle mainBundle] bundleIdentifier];
appDirectory = [appSupportDir URLByAppendingPathComponent:appBundleID];
}
return appDirectory;
}
Cela décourage l'utilisation de NSSearchPathForDirectoriesInDomain:
La fonction NSSearchPathForDirectoriesInDomains se comporte comme la méthode URLsForDirectory:inDomains: mais renvoie l'emplacement du répertoire sous forme de chemin basé sur des chaînes. Vous devriez utiliser la méthode URLsForDirectory:inDomains: à la place.
Voici quelques autres constantes de répertoire utiles à expérimenter. Sans aucun doute, tous ces répertoires ne sont pas pris en charge dans iOS. Vous pouvez également utiliser la fonction NSHomeDirectory() qui :
Dans iOS, le répertoire principal est le répertoire sandbox de l'application. Sous OS X, il s'agit du répertoire sandbox de l'application ou du répertoire principal de l'utilisateur actuel (si l'application n'est pas dans une sandbox).
Depuis NSPathUtilities.h
NSApplicationDirectory = 1, // applications prises en charge (Applications)
NSDemoApplicationDirectory, // applications non prises en charge, versions de démonstration (Démos)
NSDeveloperApplicationDirectory, // applications pour développeurs (Developer/Applications). OBSOLETE - il n'y a pas un seul répertoire pour les développeurs.
NSAdminApplicationDirectory, // applications pour l'administration système et réseau (Administration)
NSLibraryDirectory, // divers fichiers de documentation, de support et de configuration, ressources (Library)
NSDeveloperDirectory, // ressources pour les développeurs (Developer) OBSOLETE - il n'y a pas un seul répertoire pour les développeurs.
NSUserDirectory, // répertoires principaux des utilisateurs (Utilisateurs)
NSDocumentationDirectory, // documentation (Documentation)
NSDocumentDirectory, // documents (Documents)
NSCoreServiceDirectory, // emplacement du dossier CoreServices (System/Library/CoreServices)
NSAutosavedInformationDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 11, // emplacement des documents sauvegardés automatiquement (Documents/Autosaved)
NSDesktopDirectory = 12, // emplacement du bureau de l'utilisateur
NSCachesDirectory = 13, // emplacement des fichiers cache jetables (Library/Caches)
NSApplicationSupportDirectory = 14, // emplacement des fichiers de support de l'application (plug-ins, etc) (Library/Application Support)
NSDownloadsDirectory NS_ENUM_AVAILABLE(10_5, 2_0) = 15, // emplacement du répertoire "Téléchargements" de l'utilisateur
NSInputMethodsDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 16, // méthodes de saisie (Library/Input Methods)
NSMoviesDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 17, // emplacement du répertoire des films de l'utilisateur (~/Films)
NSMusicDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 18, // emplacement du répertoire de musique de l'utilisateur (~/Musique)
NSPicturesDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 19, // emplacement du répertoire des images de l'utilisateur (~/Images)
NSPrinterDescriptionDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 20, // emplacement du dossier PPDs du système (Library/Printers/PPDs)
NSSharedPublicDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 21, // emplacement du répertoire de partage public de l'utilisateur (~/Public)
NSPreferencePanesDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 22, // emplacement du dossier Préférences pour une utilisation avec Préférences Système (Library/PreferencePanes)
NSApplicationScriptsDirectory NS_ENUM_AVAILABLE(10_8, NA) = 23, // emplacement du dossier scripts utilisateur pour l'application appelante (~/Library/Application Scripts/code-signing-id)
NSItemReplacementDirectory NS_ENUM_AVAILABLE(10_6, 4_0) = 99, // Pour une utilisation avec URLForDirectory:inDomain:appropriateForURL:create:error: de NSFileManager
NSAllApplicationsDirectory = 100, // tous les répertoires où des applications peuvent se trouver
NSAllLibrariesDirectory = 101, // tous les répertoires où des ressources peuvent se trouver
NSTrashDirectory NS_ENUM_AVAILABLE(10_8, NA) = 102 // emplacement du dossier Corbeille
Et enfin, quelques méthodes pratiques dans une catégorie NSURL http://club15cc.com/code/ios/easy-ios-file-directory-paths-with-this-handy-nsurl-category
0 votes
Si je me souviens bien, le NSDocumentDirectory se trouve dans le même chemin que les données de base de l'application, et chaque application a son propre répertoire de documents. Et oui, vous pouvez librement mettre toutes les ressources dont vous avez besoin pour votre application ici. Au fait, il semble que votre question ne soit pas encore terminée?
0 votes
Je viens de poster quelque chose que je pense être lié à votre question ici stackoverflow.com/questions/5105250/… vérifiez si cela fonctionne pour vous.
0 votes
Pour toute personne provenant de Google, notez que cela a changé dans iOS 8. Voir ma réponse ci-dessous.
0 votes
C'est le même emplacement où votre fichier sqlite est enregistré.