Question

Je développe une application iPhone qui utilise la base de données intégrée SQLite. J'essaie d'afficher et d'ouvrir la base de données à l'aide de l'outil de ligne de commande sqlite3 afin d'exécuter du code SQL arbitraire sur cette base de données.

Lorsque j'exécute mon application dans le simulateur, le fichier .sqlite créé est situé à ~ / Bibliothèque / Application Support / iPhone Simulator / Utilisateur / Applications / .

Comment puis-je voir ce fichier sur l'iPhone physique?

Était-ce utile?

La solution

Sous Xcode, sélectionnez l’organiseur> gg; de la fenêtre et développez le nœud en regard de votre application dans la section des applications de votre téléphone. Sélectionnez la flèche noire pointant vers le bas en regard des données d'application et enregistrez le fichier n'importe où sur votre bureau. Votre base de données sqlite devrait y figurer quelque part.

Pour ce qui est de savoir comment le récupérer une fois que vous avez terminé, je n'ai aucune idée.

Autres conseils

Instructions pour Xcode 6.0.1

  1. Xcode > Ouvrir > Votre projet
  2. Xcode > Produit > Exécuter
  3. Xcode > Fenêtre > Périphériques
  4. (Colonne 1 - sélectionnez) Périphériques > VotreNomDevice
  5. (Colonne 2 - sélectionnez) Applications installées > VotreNomApp
  6. (Colonne 2 - sélectionnez) Cog dans la liste "Applications installées"
  7. (Pop-Up - select) Télécharger le conteneur ...
  8. Enregistrer dans le lieu
  9. Faites un clic droit sur 'YourAppName.xcappdata'
  10. Sélectionnez "Afficher le contenu du paquet"
  11. AppData > Documents > Votre base de données.sqlite

entrer la description de l'image ici

Dans XCode 4, vous procédez de la même manière que Lounges, ce qui enregistrera la structure de fichiers complète de votre application dans la destination de votre choix. Renommez le fichier .xcappdata qui est enregistré dans .sqlite pour pouvoir l’ouvrir en double-cliquant dessus. Vous pourrez ensuite trouver le fichier sur le périphérique.

Celui-ci fonctionne si vous jailbreakez votre iPhone .. Je ne sais pas pourquoi quelqu'un aurait des problèmes de jailbreaker son téléphone, car je l'utilise pour le développement depuis un certain temps et n'ai trouvé aucun problème, ce n'est pas le cas peu commun pour sqlite de performer différemment sur le appareil vs simulateur:

  1. Jail casser votre téléphone (il y a des tutoriels sur le Web)
  2. Définissez le niveau de votre utilisateur cydia sur développeur
  3. Installez sqlite3 sur votre téléphone: allez à cydia > gérer > sources > cydia / telesphoreo > sqlite3
  4. ssh sur votre téléphone à l'aide de tunnel iphone mot de passe root ssh: " alpine " ;
  5. Tapez quel sqlite3 pour vous assurer de l'avoir installé
  6. naviguez jusqu'à l'emplacement de votre base de données .. un point d'arrêt dans votre code devrait vous indiquer où il se trouve .. dans mon code, cela ressemble à quelque chose comme ceci

    NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex: 0]; 
    NSString *pathName = [documentsDirectory stringByAppendingPathComponent:filename];
    return pathName;
    

    Notez que si vous exécutez ceci sur le simulateur, vous obtiendrez un emplacement similaire à celui-ci: / Users / admin / Bibliothèque / Application Support / iPhone Simulator / 6.0 / Applications / 42302574-7722-48C1-BE00-91800443DA7C / Documents / email-524200.edb

Sur l'appareil, cela ressemblera à ceci: /var/mobile/Applications/FB73857F-A822-497D-A4B8-FBFB269A8699/Documents/email-523600.edb

Tapez simplement sqlite3% dbname% et vous pourrez exécuter des instructions SQL directement sur votre téléphone .. sans les copier, ou quoi que ce soit.

Exactement comme vous le faites sur le simulateur. Il existe très peu de différences (importantes) entre l’appareil et le simulateur, et l’accès aux fichiers et le chargement de la bibliothèque n’en font généralement pas partie.

Votre question reste un peu vague. " Voir " dans quel sens? Créez-vous la base de données SQLite? Comment? L'avez-vous placé manuellement dans la zone du système de fichiers du simulateur? Vous demandez peut-être comment faire cela sur l'iPhone?

Le moyen le plus simple consiste à précréer une base de données vide avec l'outil de ligne de commande sqlite3, de l'avoir comme ressource dans votre application, puis de le copier dans le dossier de documents de votre sandbox d'applications. Vous pouvez obtenir le chemin d'accès à votre dossier de ressources via la méthode pathForResource: ofType: de NSBundle, puis saisir le chemin d'accès à votre dossier Documents via NSSearchPathForDirectoriesInDomains () pour le dossier NSDocumentsDirectory dans NSUserDomainMask, puis copier le fichier via les méthodes de NSFileManager.

Sinon, vous pouvez utiliser les fonctions de SQLite pour créer une nouvelle base de données en fournissant des commandes SQL appropriées pour définir son schéma.

Le moyen le plus simple, et de loin, consiste à utiliser iExplorer pour télécharger le fichier à partir de votre application. puis utilisez SQLite Professional en lecture seule lire le fichier. Même si ce n’est pas en temps réel, au moins c’est gratuit. : -)

La méthode de téléchargement du conteneur est celle qui, à mon avis, est la meilleure. Cependant, vous devez faire attention que, parfois, si vous essayez de l'envoyer par courrier électronique ou de le joindre à partir de l'application, le fichier envoyé est vide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top