96 votes

Chemin du répertoire de documents du Xcode Device Simulator

Dans iOS 7, le répertoire de documents des simulateurs iOS se trouve dans :

/Users/Sabo/Library/Application Support/iPhone Simulator/

Cependant, en Simulateur de la bêta d'iOS 8 je ne trouve pas le répertoire correspondant pour iOS 8 dans le répertoire ci-dessus.

Où se trouve le chemin du répertoire des documents pour le simulateur iOS 8 ?

enter image description here

0 votes

Essayez ce . Il existe une application qui ouvre directement le répertoire Documents de la dernière application exécutée.

0 votes

0 votes

158voto

holex Points 7714

Sur mon ordinateur, le chemin est :

~/Library/Developer/CoreSimulator/Devices/1A8DF360-B0A6-4815-95F3-68A6AB0BCC78/data/Container/Data/Application/

NOTE : Il est probable que ces identifiants longs (c'est-à-dire les UDID) soient différents sur votre ordinateur.

1 votes

Si votre application utilise CoreData, il existe peut-être un moyen plus simple de rechercher l'emplacement du dossier : stackoverflow.com/a/25937606/1103584

13 votes

Non, c'est incorrect. Il n'y a pas de distinction entre les projets ObjC et les projets Swift. Ce sont des UDID (Unique Device IDentifier) et vous pouvez voir le vôtre en exécutant 'xcrun simctl list'.

0 votes

@JeremyHuddlestonSequoia, correct ou non, c'est comme ça que le Swift et un ObjC Le projet a été copié sur mon ordinateur. Je n'ai pas besoin de mentionner que les deux ont été compilés sur simulateur seulement (c'était la question originale). si la Xcode fait une différence entre les UDID pour différentes langues, et que vous pensez qu'il n'est pas correct, vous devrez peut-être le signaler à Apple.

80voto

Ankur Points 3350

NSLog Le code ci-dessous quelque part dans "AppDelegate", exécutez votre projet et suivez le chemin. Cela vous permettra d'accéder facilement aux documents plutôt que de chercher au hasard dans "~/Library/Developer/CoreSimulator/Devices/".

Objectif-C

NSLog(@"%@",[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);

Swift
Si vous utilisez Swift 1.2, utilisez le code ci-dessous qui ne s'affichera qu'en développement lors de l'utilisation du simulateur en raison de l'utilisation de l'option #if #endif bloc :

#if arch(i386) || arch(x86_64)
  let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! NSString
  NSLog("Document Path: %@", documentsPath)
#endif

Copiez votre chemin de "/Users/ankur/Library/Developer/CoreSimulator/Devices/7BA821..." allez à " Finder " et ensuite " Aller au dossier " ou command + shift + g et collez votre chemin, laissez le mac vous emmener dans votre répertoire de documents :)

0 votes

Simple et efficace !

18voto

JDibble Points 105

Je recommande une application utilitaire sympa appelée SimPholders qui permet de trouver facilement les fichiers et les dossiers pendant le développement de votre application iOS. Il existe une nouvelle version pour fonctionner avec les nouveaux simulateurs, appelée SimPholders2. Vous pouvez le trouver à l'adresse suivante simpholders.com

0 votes

Ce serait une application intéressante maintenant que iOS8 Simulator est enterré dans l'obscurité des dossiers, mais cette application n'a pas été mise à jour pour supporter iOS8.

0 votes

@wibobm. SimPholders2 est certainement compatible avec iOS 8.0 et iOS 8.1.

0 votes

OMG. Je dois avoir été totalement aveugle. Merci !

13voto

DiscDev Points 8087

Si votre application utilise CoreData, une astuce astucieuse consiste à rechercher le nom du fichier sqlite à l'aide du terminal.

find ~ -name my_app_db_name.sqlite

Les résultats donneront la liste complète des chemins d'accès aux fichiers de tous les simulateurs qui ont exécuté votre application.

J'aimerais vraiment qu'Apple ajoute un bouton au menu des fichiers du Simulateur iOS comme "Révéler le dossier Documents dans le Finder".

1 votes

Il faut aimer le terminal.

2 votes

Cela semble être un moyen assez peu probable de le découvrir. Rechercher dans tout votre répertoire personnel ?

11voto

Deepak G M Points 430

Il est correct que nous devons regarder dans le chemin ~/Library/Developer/CoreSimulator/Devices/.

Mais le problème que je rencontre est que le chemin change à chaque fois que je lance l'application. Le chemin d'accès contient un autre ensemble d'ID longs après la chaîne Application et il change à chaque fois que je lance l'application. Cela signifie que mon application n'aura pas de données en cache lors de la prochaine exécution.

0 votes

Je vois cela aussi.

5 votes

Les chemins ne changent pas à chaque fois que vous lancez l'application. Il y a un chemin par appareil que vous avez dans votre bibliothèque. Exécutez 'xcrun simctl list' pour voir la liste des périphériques et leurs UDIDs afin de voir quel sous-répertoire vous devriez considérer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X