У меня есть SQLite DB, который я использую для хранения данных приложения, и я мог бы сделать это, чтобы заглянуть внутрь, чтобы отладить проблему, которую я имею, - но где iPhone Simulator хранит свои данные, обычно?
Где iPhone Simulator хранит свои данные?
Ответ 1
Принятый ответ верен для SDK 3.2 - SDK 4 заменяет папку /User в этом пути номером для каждой из устаревших версий iPhone OS/iOS, которые он может имитировать, поэтому путь будет следующим:
~/Library/Поддержка приложений/Симулятор iPhone/[Версия ОС]/Приложения/[appGUID]/
если у вас установлен предыдущий SDK, его симулятор 3.1.x продолжит сохранение своих данных в:
~/Library/Поддержка приложений/Симулятор iPhone/Пользователь/Приложения/[appGUID]/
Для Xcode6 и iOS8
~/Library/Developer/CoreSimulator/Devices/[DeviceID]/данные/Контейнеры/Data/Application/[AppID]/
Ответ 2
Найдено:
~/Library/Application Support/iPhone Simulator/User/
Ответ 3
Существует еще один способ (быстрее?) найти, где ваши данные приложения не имеют терминала:
- Запустите приложение в симуляторе
- Монитор открытой активности
- Найдите имя своего приложения на вкладке ЦП.
- Дважды щелкните его и откройте "Открыть файлы и порты"
Ответ 4
iOS 8 ~/Library/Разработчик/CoreSimulator/Devices/[Device ID]/data/Applications/[appGUID]/Documents/
Ответ 5
На льве Users/[username]/Library
скрыта.
Чтобы просто просмотреть в Finder, нажмите "Go" в верхней части экрана и удерживайте клавишу "alt", чтобы отобразить "Библиотека".
Нажмите "Библиотека", и вы можете увидеть свою ранее скрытую папку библиотеки.
Ранее сообщалось:
Использование
chflags nohidden /users/[username]/library
в терминале для отображения папки.
Ответ 6
С помощью 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.
Ответ 7
Самый простой способ.
-
Поймать точку останова где-нибудь.
-
Введите
po NSHomeDirectory()
в окне консоли
Результат:
(lldb) po NSHomeDirectory()/Пользователи /usernam/Library/Разработчик /CoreSimulator/Устройства /4734F8C7-B90F-4566-8E89-5060505E387F/data/Containers/Data/Application/395818BB-6D0F-499F-AAFE-068A783D9753
Ответ 8
Похоже, что Xcode 6.0 снова перемещает это местоположение, по крайней мере, для симуляторов iOS 8.
~/Library/Developer/CoreSimulator/Devices/[DeviceID]/данные/Контейнеры/Data/Application/[AppID]
Ответ 9
Один из самых простых способов найти, где приложение находится в симуляторе. Пользователь "NSTemporaryDirectory()"
Steps -
- Применить точку останова в приложении и запустить приложение.
-
Когда приложение останавливается в точке останова, введите следующую команду в консоли Xcode.
po NSTemporaryDirectory()
См. изображение ниже для правильного понимания
Теперь у вас есть точный путь до временной папки. Вы можете вернуться и посмотреть все связанные с приложением папки.
Надеюсь, это тоже поможет. Счастливое кодирование:)
Ответ 10
Если симулятор запущен, вы можете получить путь к любому контейнеру приложения:
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
"booted" может быть заменен большинством команд simctl
в любом месте, где ожидается UDID устройства.
Вы можете просмотреть список устройств с xcrun simctl list
и получить справку по конкретным командам с помощью xcrun simctl help
.
Обновить. По популярному запросу в Xcode 8.3 вы можете указать тип контейнера, который вы хотите, добавив "приложение", "данные", "группы" или идентификатор группы приложений.
Чтобы получить контейнер данных:
$ xcrun simctl get_app_container booted com.example.app data
Ответ 11
В iOS 5:
/Пользователи/[Имя пользователя]/Library/Поддержка приложений /iPhone Simulator/5.0/Приложения/[AppGUID]/
Ответ 12
Для Xcode 4.6 он сохраняется в следующем пути...
/Пользователи/[currentuser]/Library/Поддержка приложений /iPhone Simulator/6.1/Приложения/
Чтобы узнать это программным путем, используйте следующий код
NSLog(@"path:%@",[[NSBundle mainBundle]bundlePath]);
Ответ 13
Просто сделайте это:
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
NSLog(@"%@", docDirPath);
И вы получите что-то вроде этого:
/Users/администратор/Library/Developer/CoreSimulator/Devices/58B5B431-D2BB-46F1-AFF3-DFC789D189E8/данные/Контейнеры/Data/Application/6F3B985F-351E-468F-9CFD-BCBE217A25FB/Документы
Перейдите туда, и вы увидите папку с документами вашего приложения независимо от версии XCode. (Используйте команду "Перейти к папке..." в Finder и укажите путь "~/library").
Swift версия для пути строки:
let docDirPath =
NSSearchPathForDirectoriesInDomains(.documentDirectory,
.userDomainMask, true).first
print(docDirPath)
и URL папки:
let docDirUrl =
FileManager.default.urls(for: .documentDirectory,
in: .userDomainMask).first
print(docDirUrl)
Ответ 14
Для iOS 8
Чтобы найти папку "Документы", вы можете записать файл в папке "Документы":
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];
скажем, в didFinishLaunchingWithOptions
.
Затем вы можете открыть терминал и найти папку:
$ find ~/Library -name Words.txt
Ответ 15
Если кто-то все еще испытывает эту проблему во льве, есть отличная статья с 19 различными советами для просмотра вашего каталога ~/Library. найти статью Дан Фрэкса здесь http://www.macworld.com/article/161156/2011/07/view_library_folder_in_lion.html
Помните, что каталог для симулятора приведен ниже
~/Library/Поддержка приложений /iPhone Simulator/Пользователь/
Ответ 16
Вы можете попробовать использовать приведенный ниже код
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
NSLog(@"File path%@",pdfFileName);
Ответ 17
Чтобы открыть те дикторы, в которых вы работаете, которые вы создаете в xCode на симуляторах, выполните следующие действия:
- открыть винт Finder (значок смайлика)
- затем нажмите GO → Перейти в папку
- Тип: ~/Library/Поддержка приложений /iPhone Simulator
- Каталоги - это iOS-версия различных симуляторов
- Подкаталоги - это установка приложений на симуляторе
- В папке "Документы" находится контент, созданный пользователем, который получает резервную копию на iCloud
Ответ 18
Я не имею никакого отношения к этой программе, но если вы хотите открыть что-то из этого в поисковике, SimPholder делает это невероятно простым.
Ответ 19
Для активных пользователей, которые не часто используют Xcode, вы можете просто использовать find
. Откройте терминал и выполните поиск по имени базы данных.
$ find ~/Library/Developer -name 'myname.db'
Если вы не знаете точного имени, вы можете использовать подстановочные знаки:
$ find ~/Library/Developer -name 'myname.*'