2011-05-31 4 views
4

Mon application OSX Cocoa utilise SQLite pour gérer les données. Lors de l'initialisation, je dois spécifier où le fichier de base de données sera stocké.OSX: Où stocker le fichier SQLite pour l'application?

Quelle est la façon standard de gérer cela?

Ce fichier de base de données est requis pour être exécuté (l'application le créera s'il n'existe pas) et les données doivent être conservées pour toujours, même après les mises à jour logicielles si possible.

Où dois-je le stocker? Dossier de l'application? Fichiers de support?

Merci

+0

Voir aussi: [Mac App Store - ne peut pas enregistrer un fichier] (http://stackoverflow.com/q/6053551/557219) –

Répondre

9

La convention est de le stocker dans le dossier Application Support. dire dans ~/Library/Application Support/*YourAppName*/database.db

Vous pouvez trouver le support d'application que vous recherchez avec

NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES); 
+0

Est-ce que je tape manuellement le nom de l'application ou est-ce que je l'obtiens dynamiquement quelque part? –

+0

Vous pouvez utiliser 'NSString * appName = [[NSBundle mainBundle] objetForInfoDictionaryKey: @" CFBundleName "];' – gcamp

2

Dans le dossier Application Support pour votre application. Jetez un oeil à la configuration du projet Core Data - qui montre comment cela est généralement accompli par d'autres applications. Ou utilisez des données de base pour votre propre application au lieu de fichiers SQLite.

1

Cela semble aller dans le dossier Support de l'application.

Questions connexes