Dans Xcode 6, j'ai une application dans laquelle j'utilise Core Data, mais il n'y a pas de dossier dans Application Support pour le simulateur iPhone iOS 8. Où mes fichiers et la base de données sqlite Core Data sont-ils stockés?
137
Réponses:
Le répertoire du simulateur a été déplacé avec Xcode 6 beta vers ...
Parcourir le répertoire dans le dossier Documents de votre application est un peu plus ardu, par exemple,
la source
~/Library/Developer/CoreSimulator/Devices/B2C6629C-998D-4E84-9ADB-06CAF5BA4B89/data/Containers/Data/Application/62593001-FADA-4647-AA80-FE9973956C05/Documents/
#if DEBUG NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"]; NSString *aliasPath = [NSString stringWithFormat:@"XCodePaths/%@", appName]; remove([aliasPath UTF8String]); [[NSFileManager defaultManager]createSymbolicLinkAtPath:aliasPath withDestinationPath:DOCS_DIR error:nil]; #endif
Maintenant, j'ai un lien sim qui fonctionne, même si iOS8 + XCode6 change le GUID de données de mon application à chaque fois que je construis.xcrun simctl list
commande peut être utilisée pour voir la correspondance entre les noms du simulateur et les UDID de l'appareil. Ou plus précisément laxcrun simctl list devices
commande.Je vous suggère d'utiliser SimPholders pour trouver vos fichiers Simulator. C'est un élément de la barre de menu qui suit vos applications de simulateur et vous permet d'accéder directement à leurs dossiers et à leur contenu. C'est génial.
la source
J'ai trouvé SimulatorManager application très utile. Il vous amène directement au dossier d'application des simulateurs installés. J'ai essayé avec des simulateurs 7.1, 8.0 et 8.1.
SimulatorManager se présente sous la forme d'une icône dans la barre d'état système et fournit une option pour «Lancer à la connexion».
Remarque : cela ne fonctionne qu'avec Xcode 6 (6.1.1 dans mon cas) et supérieur.
J'espère que cela pourra aider!
la source
Pour savoir où votre fichier .sqlite est stocké dans votre AppDelegate.m, ajoutez le code suivant
appelez maintenant cette méthode dans AppDelegate.m
la source
Cela a fonctionné pour moi rapidement:
la source
J'ai lutté avec ça pendant un certain temps. Il est devenu très difficile d'accéder simplement à ma base de données sqlite locale. J'ai écrit ce script et en ai fait un extrait de code dans XCode. Je le place dans mon appDidFinishLaunching dans mon appDelegate.
Cela crée un lien sim à la racine de votre lecteur. (Vous devrez peut-être créer ce dossier vous-même la première fois et le modifier, ou vous pouvez changer l'emplacement à un autre endroit) Ensuite, j'ai installé le plugin xcodeway https://github.com/onmyway133/XcodeWay
Je l'ai un peu modifié pour qu'il me permette d'appuyer simplement sur cmd + d et il ouvrira un enrouleur de recherche dans le répertoire persistant Documents de mon application actuelle. De cette façon, peu importe le nombre de fois que XCode modifie votre chemin, il ne change que lors de l'exécution, et il met à jour votre simlink immédiatement à chaque exécution.
J'espère que cela sera utile pour les autres!
la source
Ouvrez Finder> Bibliothèque> Développeur> CoreSimulator> Périphériques
Ensuite, l'icône de changement d'arrangement dans le viseur, sélectionnez la date d'ajout
Sélectionnez votre application> données> Conteneur> données> Applications>
choisissez votre application> Documents> Voici votre fichier db
Dans mon cas:
Sinon, procédez comme suit:
- Il imprimera le chemin complet du dossier de données.
Rapide:
la source
let dirPaths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) print("App Path: \(dirPaths)")
Utilisez Finder -> allez dans le dossier et entrez le chemin de base donné pour atteindre les dossiers d'application
la source
Le simulateur place le fichier dans ~ / Library / Developer / CoreSimulator / Devices / ... mais le chemin après / Devices est différent pour tout le monde.
Utilisez cette méthode pratique. Il renvoie le chemin du répertoire temporaire de l'utilisateur actuel et ne prend aucun argument.
Donc, dans ma classe ViewController, je mets généralement cette ligne dans mon viewDidLoad juste pour une référence lorsque j'ai besoin de récupérer mon fichier stocké CoreData. J'espère que cela t'aides.
(Remarque: pour accéder au chemin, dans le menu du Finder, cliquez sur Go et tapez ~ / Library pour ouvrir le répertoire caché puis dans la fenêtre du Finder, vous pouvez cliquer sur le chemin indiqué sur votre console.)
la source
Cet emplacement a, une fois de plus, changé, si vous utilisez Swift, utilisez-le pour savoir où se trouve le dossier (il est copié à partir du fichier AppDelegate.swift qu'Apple crée pour vous, donc si cela ne fonctionne pas sur votre machine, recherchez dans ce fichier pour la bonne syntaxe, cela fonctionne sur le mien en utilisant le simulateur Xcode 6.1 et iOS 8):
la source
Les simulateurs sont situés sous:
~/Library/Developer/CoreSimulator/
Ici, ils sont répertoriés comme des répertoires avec des noms UUID. Utilisez le tri par date de modification pour trouver le dernier. À l'intérieur, accédez à:
/data/Containers/Data/Application/
Ici, vous obtiendrez une liste de toutes les applications sur cet appareil. Vous pouvez à nouveau trier ceci pour obtenir la dernière application.
REMARQUE: Xcode change le nom du répertoire chaque fois que vous exécutez l'application, alors ne comptez pas sur la création d'alias / raccourcis sur le bureau.
Le moyen le plus simple est d'utiliser l'application ici , qui fait tout automatiquement.
la source
J'ai créé ce script qui compressera la dernière application conçue pour n'importe quel simulateur et la compressera sur le bureau.
https://gist.github.com/Gerst20051/8ca49d5afbf09007b3696fab6e9f425c
la source
Dans Swift 4 ou Swift 5, vous pouvez utiliser
NSHomeDirectory()
.Le moyen le plus simple dans Xcode 10 (ou Xcode 11) est de suspendre votre application (comme quand elle atteint un point d'arrêt) et d'exécuter cette ligne dans la console du débogueur:
po
représente l'objet d'impression et imprime la plupart des chosesla source
la source
Avec Swift 4, vous pouvez utiliser le code ci-dessous pour obtenir le répertoire d'accueil de votre application. Le répertoire de documents de votre application s'y trouve.
print(NSHomeDirectory())
Je pense que vous savez déjà que le répertoire personnel de votre application est modifiable, donc si vous ne souhaitez pas ajouter de code supplémentaire à votre base de code, SimPholder est un outil intéressant pour vous.
Et de plus, vous vous demandez peut-être s'il existe un outil qui peut vous aider à gagner du temps en fermant et en rouvrant la même base de données SQLite à chaque fois après le changement du répertoire de base de votre application. Et la réponse est oui, un outil que je connais est SQLiteFlow . D'après son document, il est dit que:
la source
Voici le sh pour le dernier simulateur et application utilisé. Exécutez simplement sh et copiez le texte imprimé et collez et exécutez la commande pour afficher dans le Finder.
la source