Где iPhone Simulator хранит свои данные? - PullRequest
213 голосов
/ 10 июля 2009

У меня есть база данных SQLite, которую я использую для хранения данных приложения, и я мог бы заглянуть внутрь нее, чтобы устранить возникшую проблему - но где iPhone Simulator хранит свои данные, как правило? 1001 *

Ответы [ 19 ]

268 голосов
/ 16 августа 2010

Принятый правильный ответ для SDK 3.2 - SDK 4 заменяет папку / User в этом пути номером для каждой из устаревших версий iPhone OS / iOS, которые он может имитировать, поэтому путь становится следующим: 1003 *

~ / Библиотека / Поддержка приложений / iPhone Simulator / [версия ОС] / Приложения / [appGUID] /

если у вас установлен предыдущий SDK, симулятор 3.1.x продолжит сохранять свои данные в:

~ / Библиотека / Поддержка приложений / iPhone Simulator / Пользователь / Приложения / [appGUID] /

Для Xcode6 и iOS8

~ / Library / Developer / CoreSimulator / Devices / [DeviceID] / данные / Контейнеры / Data / Application / [AppID] /

78 голосов
/ 10 июля 2009

Нашли:

~/Library/Application Support/iPhone Simulator/User/
77 голосов
/ 05 октября 2014

Существует другой (более быстрый?) Способ найти данные вашего приложения без терминала:

  1. Запустить приложение в симуляторе
  2. Открытый монитор активности
  3. Найдите название вашего приложения на вкладке CPU
  4. Дважды щелкните по нему и откройте «Открыть файлы и порты»

enter image description here

72 голосов
/ 08 августа 2014

iOS 8 ~ / Библиотека / Разработчик / CoreSimulator / Устройства / [Идентификатор устройства] / Данные / Приложения / [appGUID] / Документы /

66 голосов
/ 31 октября 2011

На Льве Users/[username]/Library скрыт.

Чтобы просто просмотреть в Finder, нажмите меню «Перейти» в верхней части экрана и удерживайте нажатой клавишу «alt», чтобы отобразить «Библиотека».

Нажмите «Библиотека», и вы увидите ранее скрытую папку библиотеки.

Ранее рекомендовано:

Используйте

chflags nohidden /users/[username]/library

в терминале для отображения папки.

31 голосов
/ 12 января 2018

Самый простой способ.

  1. Поймать точку останова где-нибудь.

  2. Введите po NSHomeDirectory() в окно консоли

Результат:

(lldb) po NSHomeDirectory () / Users / usernam / Library / Developer / CoreSimulator / Devices / 4734F8C7-B90F-4566-8E89-5060505E387F / данные / Контейнеры / Data / Application / 395818BB-6D0F-499F-AAFE-068A783D9753

31 голосов
/ 21 апреля 2014

С Xcode 5 вы можете использовать код ниже:

#import <Foundation/NSFileManager.h>

и

NSString *homeDir = NSHomeDirectory();
NSLog(@"%@",homeDir);

Результат может выглядеть так:

"/Users/<your user name>/Library/Application Support/iPhone Simulator/7.1/Applications/hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh"

Где hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh - некоторая шестнадцатеричная строка, идентифицирующая ваше приложение для iOS.

30 голосов
/ 25 сентября 2014

Похоже, Xcode 6.0 снова переместил это местоположение, по крайней мере, для симуляторов iOS 8.

~ / Library / Developer / CoreSimulator / Devices / [DeviceID] / данные / Контейнеры / Data / Application / [AppID]

29 голосов
/ 20 ноября 2016

Если симулятор запущен, вы можете получить путь к контейнеру любого приложения:

xcrun simctl get_app_container booted <app bundle identifier>

Пример вывода:

$ 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

«загружен» может быть заменен большинством simctl команд, где ожидается UDID устройства.

Вы можете просмотреть список устройств с помощью xcrun simctl list и получить справку по определенным командам с помощью xcrun simctl help.

Обновление : популярным запросом в Xcode 8.3 теперь вы можете указать тип контейнера, который вам нужен, добавив «app», «data», «groups» или идентификатор группы приложений.

Чтобы получить контейнер данных:

$ xcrun simctl get_app_container booted com.example.app data
29 голосов
/ 19 августа 2015

Один из самых простых способов найти приложение в симуляторе. Пользователь "NSTevenDirectory ()"

Steps-

  1. Применить точку останова в любом месте приложения и запустить приложение.
  2. Когда приложение останавливается в точке останова, введите следующую команду в консоли Xcode.

    po NSTevenDirectory ()

См. Изображение ниже для правильного понимания enter image description here

Теперь у вас есть точный путь до временной папки. Вы можете вернуться и просмотреть все папки, связанные с приложением.

Надеюсь, это тоже поможет. Happy Coding:)

...