Есть ли способ увидеть файловую систему на симуляторе iOS?
есть ли способ просмотреть файловую систему текущего или только что убитого симулятора iOS? Я бы согласился на возможность видеть файлы конкретного приложения, если есть способ сделать это.
обратите внимание, что я не хочу сделать это программно. Я хочу видеть / открывать файлы в Finder.
11 ответов:
обновление: начиная с iOS 8:
~ / Библиотека / Разработчик / CoreSimulator / Устройства
место раньше было:
~ / библиотека / поддержка приложений / симулятор iPhone
у него были каталоги для всех моделей симуляторов (4.0, 4.1, 5.0 и т. д.), которые вы когда-либо запускали, перейдите к тому, с которого вы работаете в Xcode.
после того, как в папке, перейдите в приложения, выберите опцию Finder, который показывает дату для файлов, и Сортировать по дата. Ваше приложение будет самым последним, так как оно только что изменило каталог...
внутри каталога находится все, что связано с вашим приложением. Вы даже можете отбросить файлы там между запусками, чтобы вернуться к сохраненной базе данных в известном состоянии, например...
Я хожу туда достаточно часто, я держу каталог симулятора iPhone в боковой панели Finder.
обратите внимание, что с iOS8 папки симулятора находятся в совершенно другом каталоге-действительно разделены в нескольких каталогах, с именами папок для конкретных файлов приложения, которые изменяются при каждом запуске приложения.
iOS 8
устройства
~/Library/Developer/CoreSimulator/Devices
приложения
~/Library/Developer/CoreSimulator/Devices/{{Device Code}}/data/Containers/Bundle/
Откройте программу "Монитор активности", найдите свое приложение (только имя приложения, а не симулятор), нажмите" Информация "и откройте"открытые файлы и порты". Скопируйте вторую запись (что-то вроде
/Users/me/Library/Application Support/iPhone Simulator/4.2/Applications/B97A9504-0FA5-4826-BB6D-A2335A676459/VSGradientView.app/YourApp
). Это работает приложение, в то время как<...>/B97A9504-0FA5-4826-BB6D-A2335A676459/VSGradientView.app/
- это сверток, а<...>/B97A9504-0FA5-4826-BB6D-A2335A676459/*
песок-в штучной упаковке папке.если вы передадите это как
open "/Users/me/Library/Application Support/iPhone Simulator/4.2/Applications/B97A9504-0FA5-4826-BB6D-A2335A676459/"
к терминалу, папка откроется в Finder.звучит сложно, но это не так.
есть отличное приложение, которое также поддерживает симулятор XCode 6.
https://github.com/somegeekintn/SimDirs
Это потрясающе, используйте его!
на основе zsero ответ
подробности
macOS 10.13.1
решение
выполнить следующую строку в терминале
шаблон
open `xcrun simctl get_app_container booted BUNDLEID_OF_YOUR_APP data` -a Finder
Полная Выборка
open `xcrun simctl get_app_container booted com.Test data` -a
BUNDLEID_OF_YOUR_APP ???
BUNDLEID_OF_YOUR_APP = " идентификатор пакета"
результат
Если вы хотите автоматизировать получение местоположения или использовать эту папку в скрипта, вы можете получить точное местоположение с под управлением симулятор со следующей командой:
xcrun simctl get_app_container booted my.app.id data
старый пост, но я думаю, стоит упомянуть SimPholders чтобы найти файлы симулятора. Это пункт меню, который отслеживает ваши приложения симулятора и позволяет перейти непосредственно к их папкам и содержимому. Это супер круто.
(оригинальный ответ здесь:https://stackoverflow.com/a/26557165/377384)
на Xcode версии 8.2.1 (8C1002) я нашел .файлы приложения, установленные на симуляторе по этому пути:
~/Library/Developer/Xcode/DerivedData/[APPNAME]-[RANDOM HASH]/Build/Products/Debug-iphonesimulator
написать простой shell-скрипт для этого.
https://gist.github.com/BB9z/b913b30c1bca61bfa53d144ecce107f0
также рабочий процесс Альфреда доступен по адресу https://github.com/BB9z/xcode-config/blob/master/Alfred/Workflows/Xcode%20Directories.alfredworkflow
Я буду держать их в курсе.
основываясь на ответе @zsero, я сделал короткий
bash
скрипт, который непосредственно открывает папку симулятора идентификатор приложения. Очень удобно!openappfolder.sh
#!/bin/bash APPID= if OUTPUT=`xcrun simctl get_app_container booted $APPID data` ; then open $OUTPUT else echo "$APPID not found!" fi 2>/dev/null
потом просто
openappfolder.sh com.bundle.id