Réponses:
La réponse acceptée est correcte pour le SDK 3.2 - le SDK 4 remplace le dossier / User dans ce chemin par un numéro pour chacune des versions iPhone OS / iOS héritées qu'il peut simuler, donc le chemin devient:
~ / Bibliothèque / Support d'application / iPhone Simulator / [OS version] / Applications / [appGUID] /
si le SDK précédent est installé à côté, son simulateur 3.1.x continuera d'enregistrer ses données dans:
~ / Bibliothèque / Support d'application / iPhone Simulator / Utilisateur / Applications / [appGUID] /
Pour Xcode6 et iOS8
~ / Bibliothèque / Développeur / CoreSimulator / Périphériques / [DeviceID] / données / Conteneurs / Données / Application / [AppID] /
po NSHomeDirectory()
le débogueur. Coupez et collez dans Aller> Aller au dossier (Cmd-Shift-G).
NSLog
cela dans vos AppDelegate
« s didFinishLaunchingWithOptions:
, ou vous pouvez po NSHomeDirectory()
le débogueur. Dans les deux cas, copiez la chaîne et ouvrez-la dans le Finder avec Cmd+Shift+G
. Cela fonctionne mieux parce que vous demandez avec une commande standard au lieu d'avoir besoin de savoir quelque chose qui change.
Il existe un autre moyen (plus rapide?) De trouver où se trouvent les données de votre application sans Terminal:
NSString *uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
vous donne l'identifiant de l'appareil
Je l'ai trouvé:
~/Library/Application Support/iPhone Simulator/User/
iOS 8 ~ / Library / Developer / CoreSimulator / Devices / [Device ID] / data / Applications / [appGUID] / Documents /
xcrun instruments -s
Sur Lion, le Users/[username]/Library
est caché.
Pour afficher simplement dans le Finder, cliquez sur le menu «Aller» en haut de l'écran et maintenez enfoncée la touche «alt» pour afficher «Bibliothèque».
Cliquez sur «Bibliothèque» et vous pouvez voir votre dossier de bibliothèque précédemment masqué.
Précédemment conseillé:
Utilisation
chflags nohidden /users/[username]/library
dans un terminal pour afficher le dossier.
Attrapez un point d'arrêt quelque part.
Entrez po NSHomeDirectory()
dans la fenêtre de la console
(lldb) po NSHomeDirectory () / Users / usernam / Library / Developer / CoreSimulator / Devices / 4734F8C7-B90F-4566-8E89-5060505E387F / data / Containers / Data / Application / 395818BB-6D0F-499F-AAFE-068A783D9753
Si le simulateur est en cours d'exécution, vous pouvez obtenir le chemin d'accès au conteneur de n'importe quelle application:
xcrun simctl get_app_container booted <app bundle identifier>
Exemple de sortie:
$ xcrun simctl get_app_container booted com.example.app
/Users/jappleseed/Library/Developer/CoreSimulator/Devices/7FB6CB8F-63CB-4F27-BDAB-884814DA6FE0/data/Containers/Bundle/Application/466AE987-76BC-47CF-A207-266E65E7DE0A/example.app
"booted" peut être substitué à la plupart des simctl
commandes partout où un UDID de périphérique est attendu.
Vous pouvez voir la liste des appareils avec xcrun simctl list
et obtenir de l'aide sur des commandes spécifiques avec xcrun simctl help
.
Mise à jour : à la demande générale de Xcode 8.3, vous pouvez désormais spécifier le type de conteneur souhaité en ajoutant "app", "data", "groups" ou un identifiant de groupe d'application.
Pour obtenir le conteneur de données:
$ xcrun simctl get_app_container booted com.example.app data
Avec Xcode 5, vous pouvez utiliser le code ci-dessous:
#import <Foundation/NSFileManager.h>
et:
NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);
Le résultat peut ressembler à ceci:
"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"
Où se hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh
trouve une chaîne hexadécimale identifiant votre application iOS.
po NSHomeDirectory()
On dirait que Xcode 6.0 a de nouveau déplacé cet emplacement, au moins pour les simulateurs iOS 8.
~ / Bibliothèque / Développeur / CoreSimulator / Périphériques / [DeviceID] / données / Conteneurs / Données / Application / [AppID]
L'un des moyens les plus faciles de trouver où se trouve l'application dans le simulateur. Utilisateur "NSTemporaryDirectory ()"
Pas-
Lorsque l'application s'arrête au point d'arrêt, tapez la commande suivante dans la console Xcode.
po NSTemporaryDirectory ()
Voir l'image ci-dessous pour un aperçu approprié
Vous avez maintenant le chemin exact jusqu'au dossier temporaire. Vous pouvez revenir en arrière et voir tous les dossiers liés à l'application.
J'espère que cela vous aidera également. Happy Coding :)
po NSHomeDirectory()
?
$ open /Library/Developer/CoreSimulator/Profiles/Runtimes
Par exemple: iOS 13.0
,watchOS 6.0
ci prennent de loin le plus d'espace. Chacun peut avoir jusqu'à ~ 5 Go
$ open ~/Library/Developer/CoreSimulator/Devices
Par exemple: iPhone Xr
,iPhone 11 Pro Max
. Ce sont généralement <15 Mo chacun.
Les simulateurs sont répartis entre les temps d'exécution et les appareils. Si vous courez$ xcrun simctl list
vous pouvez voir un aperçu, mais si vous voulez trouver l'emplacement physique de ces simulateurs, regardez dans les répertoires que j'ai montrés.
Il est totalement sûr de supprimer les runtimes que vous ne supportez pas. Vous pouvez les réinstaller plus tard si vous le souhaitez.
Faites simplement ceci:
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSLog(@"%@", docDirPath);
Et vous obtiendrez quelque chose comme ça:
/ Users / admin / Library / Developer / CoreSimulator / Devices / 58B5B431-D2BB-46F1-AFF3-DFC789D189E8 / data / Containers / Data / Application / 6F3B985F-351E-468F-9CFD-BCBE217A25FB / Documents
Allez-y et vous verrez le dossier de documents de votre application quelle que soit la version de XCode. (Utilisez la commande "Aller au dossier ..." dans le Finder et spécifiez un chemin "~ / bibliothèque").
Version Swift pour le chemin de chaîne:
let docDirPath =
NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask, true).first
print(docDirPath)
et l'URL du dossier:
let docDirUrl =
FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
print(docDirUrl)
Pour Xcode 4.6, il est stocké dans le chemin suivant ...
/ Users / [currentuser] / Library / Application Support / iPhone Simulator / 6.1 / Applications /
Pour le connaître par programme, utilisez le code suivant
NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);
print("path: \(NSBundle.mainBundle().bundlePath)")
Pour iOS 8
Pour localiser le dossier Documents , vous pouvez écrire un fichier dans le dossier Documents:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"Words.txt"];
NSString *content = @"Apple";
[content writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];
dire, dans didFinishLaunchingWithOptions
.
Ensuite, vous pouvez ouvrir un terminal et trouver le dossier:
$ find ~/Library -name Words.txt
si quelqu'un rencontre toujours ce problème dans lion, il existe un excellent article avec 19 conseils différents pour afficher votre répertoire ~ / Library. retrouvez l'article de Dan Frakes ici http://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
N'oubliez pas que le répertoire du simulateur est donné ci-dessous
~ / Bibliothèque / Support d'application / iPhone Simulator / Utilisateur /
Pour macOS Catalina, j'ai trouvé ma base de données dans:
~/Library/Developer/CoreSimulator/Devices/{deviceId}/data/Containers/Data/Application/{applicationId}/Documents/my.db
Pour obtenir le applicationId
, je viens de trier les dossiers par date de modification, bien que je sois sûr qu'il existe une meilleure façon de le faire.
Pour les utilisateurs natifs qui n'utilisent pas souvent Xcode, vous pouvez simplement utiliser find
. Ouvrez un terminal et recherchez avec le nom de la base de données.
$ find ~/Library/Developer -name 'myname.db'
Si vous ne connaissez pas le nom exact, vous pouvez utiliser des caractères génériques:
$ find ~/Library/Developer -name 'myname.*'
Vous pouvez essayer d'utiliser le code ci-dessous
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
NSLog(@"File path%@",pdfFileName);
Pour ouvrir les dictées où se trouve votre application que vous créez dans xCode sur les simulateurs, procédez comme suit:
Je n'ai aucune affiliation avec ce programme, mais si vous cherchez à ouvrir tout cela dans le Finder, les SimPholders le rendent incroyablement facile.
cd ~/Library/Application\ Support/iPhone\ Simulator/