Comment dois-je spécifier le chemin d'accès à un db sqlite dans un iPhone de projet?
Après l'ajout d'une ressource, le fichier de base de données elle-même est dans la racine du projet.
Je n'ai pu ouvrir en spécifiant le chemin d'accès complet que OS X le voit, c'est à dire, "/Users/Louis/Documents/Projet de Test/test.db".
Mais bien sûr il n'existe pas de chemin d'accès sur un iPhone.
Je pense que je doit définir le chemin d'accès comme "racine de l'application/test.db" mais je ne sais pas comment, ou, si cela peut même travailler de n'importe où ailleurs en plus de ma machine de développement.
Merci pour toutes les idées.
Notez que dans la compilation des app bundle les chemins ne seront pas les mêmes que dans votre projet. Le Code et les ressources dans des répertoires distincts. C'est pourquoi vous devez utiliser
NSBundle
méthodes pour résoudre des chemins.OriginalL'auteur Louis | 2011-02-18
Vous devez vous connecter pour publier un commentaire.
Pour obtenir le chemin d'accès du fichier que vous avez ajouté dans XCode vous utilisez pathForResource:ofType: avec votre mainBundle.
Mais vous ne pouvez pas modifier les fichiers dans le mainBundle. Donc, vous avez à copier vers un autre emplacement. Par exemple à la bibliothèque de votre application.
Vous pourriez le faire comme ceci:
vous ne pouvez pas changer quoi que ce soit dans votre bundle, de sorte que vous pouvez considérer tous les fichiers que vous ajoutez dans xcode en lecture seule. et la base de données séjour dans le répertoire de la bibliothèque jusqu'à ce que l'utilisateur supprime votre application. Il sera inclus dans les sauvegardes par itunes. Donc, si l'utilisateur passe à un nouveau périphérique et il restaure à partir de sa sauvegarde de votre base de données sera là.
Intéressant, bon à savoir.
Juste un avis, j'ai eu à faire glisser mon .sqlite fichier dans le projet Xcode lui-même afin de se placer dans le bundle, en les plaçant dans mon projet via la ligne de commande n'a pas le couper. Espérons que cela aide les autres coincé sur ce problème.
OriginalL'auteur Matthias Bauch
Ne pas simplement utiliser l'API SQLite, l'utilisation de cette incroyable wrapper appelé FMDB: https://github.com/ccgus/fmdb
FMDB est un must pour moi.
OriginalL'auteur Josh
L'obtention de Chemins d'accès à l'Application Standard des Répertoires
OriginalL'auteur Jim