web-dev-qa-db-fra.com

Existe-t-il un moyen de voir le système de fichiers sur le simulateur iOS?

Existe-t-il un moyen de parcourir le système de fichiers d'un simulateur iOS en cours d'exécution ou simplement tué? Je me contenterais de pouvoir voir les fichiers d'une application spécifique s'il y avait un moyen de le faire.

Notez que je ne veux pas faire cela par programme. Je veux voir/ouvrir les fichiers dans le Finder.

142
Chris Williams

UPDATE: Depuis iOS 8:

~/Library/Developer/CoreSimulator/Devices

L'emplacement était:

~/Bibliothèque/Application Support/iPhone Simulator

Il contenait des répertoires pour tous les modèles de simulateurs (4.0, 4.1, 5.0, etc.) que vous avez exécutés, accédez à celui à partir duquel vous exécutez Xcode.

Une fois dans un dossier, allez dans Applications, choisissez l’option Finder qui affiche la date des fichiers et triez par date. Votre application sera la plus récente car elle vient de changer de répertoire ...

À l'intérieur du répertoire, tout ce qui concerne votre application. Vous pouvez même y déposer des fichiers entre les exécutions pour revenir à une base de données stockée dans un état connu, par exemple ...

J'y vais assez souvent, je garde le répertoire iPhone Simulator dans la barre latérale du Finder.

Notez qu'avec iOS8, les dossiers du simulateur se trouvent dans un répertoire totalement différent - réellement divisé en quelques répertoires, avec des noms de dossier pour les fichiers spécifiques à l'application qui changent chaque fois que vous exécutez votre application.

iOS 8

Dispositifs

~/Library/Developer/CoreSimulator/Devices

Applications

~/Library/Developer/CoreSimulator/Devices/{{Device Code}}/data/Containers/Bundle/
71
Mohsen

Ouvrez le programme "Moniteur d'activité", recherchez votre application (uniquement le nom de l'application, pas le simulateur), cliquez sur "Informations" et ouvrez "Ouvrir les fichiers et les ports". Copiez la deuxième entrée (quelque chose comme /Users/me/Library/Application Support/iPhone Simulator/4.2/Applications/B97A9504-0FA5-4826-BB6D-A2335A676459/VSGradientView.app/YourApp). Ceci est l'application en cours d'exécution, alors que <...>/B97A9504-0FA5-4826-BB6D-A2335A676459/VSGradientView.app/ est le paquet, et <...>/B97A9504-0FA5-4826-BB6D-A2335A676459/* le dossier du bac à sable.

Si vous le transmettez sous la forme open "/Users/me/Library/Application Support/iPhone Simulator/4.2/Applications/B97A9504-0FA5-4826-BB6D-A2335A676459/" au terminal, le dossier s'ouvrira dans le Finder.

Cela semble compliqué mais ne l'est pas.

24
vikingosegundo

Il existe une application astucieuse qui prend également en charge le simulateur XCode 6.

https://github.com/somegeekintn/SimDirs

C'est génial, utilisez-le!

9
deepflame

basé sur zsero answer

Détails

macOS 10.13.1

Solution

Exécuter la ligne suivante dans le terminal 

Modèle

open `xcrun simctl get_app_container booted BUNDLEID_OF_YOUR_APP data` -a Finder

Échantillon complet

open `xcrun simctl get_app_container booted com.Test data` -a 

BUNDLEID_OF_YOUR_APP ???

BUNDLEID_OF_YOUR_APP = "Identifiant du paquet" 

 enter image description here

Résultat

 enter image description here

8
Vasily Bodnarchuk

Si vous souhaitez automatiser l'obtention de l'emplacement ou utiliser ce dossier dans un script, vous pouvez obtenir l'emplacement précis à partir d'un running simulator avec la commande suivante:

xcrun simctl get_app_container booted my.app.id data
3
hyperknot

Facile. Vite. Xcode 10+.

  1. Exécutez print(NSHomeDirectory()) et copy the path.
  2. Ouvrez Finder app et appuyez sur Shift+Cmd+G
  3. Coller le chemin copié et appuyer surGO

La solution de rechange pour 1. consiste à prendre un point d'arrêt et à po NSHomeDirectory() dans la console.

2
Tung Fam

Ancien post, mais je pense qu'il vaut la peine de mentionner 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 super génial.

(réponse originale ici: https://stackoverflow.com/a/26557165/377384 )

2
lindon fox

Sur la base de @zsero answer, j’ai créé un court script bash qui ouvre directement le dossier du simulateur de votre identifiant d’application. Très utile!

openappfolder.sh

#!/bin/bash

APPID=$1
if OUTPUT=`xcrun simctl get_app_container booted $APPID data` ; then
    open $OUTPUT
else
    echo "$APPID not found!"
fi 2>/dev/null

Alors juste

openappfolder.sh com.bundle.id

????

1
Martin

Sur Xcode Version 8.2.1 (8C1002), j'ai trouvé les fichiers .app installés sur le simulateur dans ce chemin: ~/Library/Developer/Xcode/DerivedData/[APPNAME]-[RANDOM HASH]/Build/Products/Debug-iphonesimulator

0
JoxieMedina