Дополнительно
Простой способ увидеть сохраненные NSUserDefaults?
Есть ли способ посмотреть, что было сохранено в NSUserDefaults
напрямую? Я бы хотел посмотреть, правильно ли сохранились мои данные.
219
20
Вы можете распечатать все текущие NSUserDefaults в журнал:
Только ключи:
Ключи и значения:
Вы можете найти файл pList для вашего приложения в симуляторе, если перейдете по ссылке:
/users/ваше имя пользователя/Library/Application Support/iPhone Simulator//Applications
В этом каталоге есть куча каталогов с GUID-именами. Если вы работаете над несколькими приложениями, их будет несколько. Поэтому вам нужно найти бинарник вашего приложения:
Затем перейдите в каталог Library/Preferences в директории GUID. Итак:
Вы должны найти файл, который выглядит следующим образом:
Откройте его в редакторе pList и просматривайте сохраняемые значения до бесконечности.
<Н1>в Swift мы можем использовать следующие:-</Н1>
<Н1>Свифт 3.х & 4.х</Н1>
<Н3>для получения ключей & значения:</Н3> для (ключ, значение) в UserDefaults.стандарт.dictionaryRepresentation() { печать(" и(ключ) = (значение) \н и") }
<Н3>для получения полного представления словаря по умолчанию для пользователя:</Н3>
<Н3>получение ключей:</Н3> // С помощью дампа так как ключи есть массив строк. дамп(массив(UserDefaults.стандарт.dictionaryRepresentation().ключи))
<Н3>для получения значения:</Н3> Мы можем использовать дамп здесь, а также, но это будет вернуть полную иерархию наследования каждого элемента в массиве значений. Если требуется более подробная информация об объектах, а затем использовать дамп, то вперед и с нормальной инструкцией Print.
<Н1>Свифт 2.х</Н1>
<Н3>для получения полного представления словаря по умолчанию для пользователя:</Н3>
<Н3>получение ключей:</Н3>
<Н3>для получения значения:</Н3>
Вы можете проверить значения для каждого ключа в массиве, возвращаемые с помощью
Я иногда использую следующий код, чтобы распечатать место моего NSUserDefaults файл при запуске в симуляторе
в <предварительно> Списка NSArray путь = NSSearchPathForDirectoriesInDomains( NSLibraryDirectory, NSUserDomainMask, да); NSString папка = [путь objectAtIndex:0]; NSLog(@"у вашего NSUserDefaults хранятся в этой папке: я %@/настройки&;, папки); </пред>
Это дает путь в папку установки
Вашего NSUserDefaults файл находится в папке предпочтения и названы в соответствии с вашим префиксом и именем appliation например
Я ожидаю то же самое быть верным для реального устройства.
В Swift 4.0
потому что dictionaryRepresentation из NSUserDefaults.standardUserDefaults() возвращает [строкой : какой-либо объект]
Мы бросили его в NSDictionary`. Затем, заключив его в скобки '()' позволит нам позвонить .allKeys или .значениями так же, как и на любом NSDictionary
Использовать ниже код.
Для Xcode 7
NSUserDefaults standardDefaults хранятся здесь:
/Users/{USER}/Library/Developer/CoreSimulator/Devices/{UUID}/data/Containers Application/Data//{UUID}
NSUserDefaults для люкс/приложение группы хранятся здесь:
/Users/{USER}/Library/Developer/CoreSimulator/Devices/{UUID}/data/Containers/Shared/AppGroup/{UUID}/Library/Preferences/{GROUP_NAME}.plist
Я бы рекомендовал использовать https://github.com/scinfu/NCSimulatorPlugin потому что в эти дни все позади идентификаторы UUID и боль, чтобы найти. Это позволяет легко добраться до вашего приложения симулятор каталогах.
Легко, так как файл plist имя файла
<приложение-набор-идентификатор>.файл plist
, можно использоватьнайти
команду, чтобы найти его путь. Но это будет очень долго если вы будете искать весь компьютер, так что вы должны выбрать хороший объем, как~/библиотеки/разработчик/CoreSimulator
для Xcode 6.пример:
найти ~/библиотеки/разработчик/CoreSimulator -тип F -именем com.круто.приложение.файл plist`
на выходе будет что-то вроде этого...
/Users/hlung/Library/Developer/CoreSimulator/Devices/B61913F6-7D7C-4E45-AE2F-F45220A71823/data/Containers/Data/Application/E4CC51CF-11E5-4168-8A74-6BAE3B89998F/Library/Preferences/com.awesome.app.plist
И оттуда вы можете использовать команду
открыть
. Или если вы используете iTerm2, просто нажмите на путь, чтобы открыть его.Для ОС Х приложений, вместо того, чтобы найти применение'ы по умолчанию plist файла, проще использовать
по умолчанию
в командной строке утилиты.Пример:
Я построил этот метод основан на Морион'ы предложение для лучшего представления. Использовать его при вызове
[сам logAllUserDefaults]
Искать приложение для Mac под названием SimPholders2. Он живет в строке меню и список всех симуляторов вы've использовали, а потом показывает каждого из ваших приложений. Выберите один, и вы получите новое окно Finder, уже открытое приложение's директории. Это делает его супер просто, чтобы найти ваше приложение и все это'ы каталогах. Это'ы огромная экономия времени (и я охотно пожертвовал автору).
Вы можете вести NSLog для каждого заданного значения, например:
Я держу ярлыков на моем рабочем столе в симулятор'папка, где сохраняются приложения, т. е.:
Отсортированный по последней дате, то просто заходите в последней библиотеке папке приложения/Настройки и просмотра файла в файле plist редактор.
Приложение Симулятор
Эта поисковая скрипт на имя приложения, получения код пакета, и открывать папки, содержащие файлы plist.
Расширенную версию скрипта
Использование:
iPhone-приложение-папка "Мой приложение"
вВ Swift 2.2
распечатает NSUserDefaults'ы plist файла папку в консоли отладки в Xcode. Скопируйте строку пути. Откройте Finder и выберите Перейти в папку в зайдите пункт меню, вставить строку пути. Дважды щелкните файл plist. Вы увидите содержимое вашего редактора в Xcode.
Работать только в симуляторе
Спасибо @Замок Нильс
Свифт 3
Для приложений для macOS Перейти к: /пользователи/{пользователь}/библиотека/контейнеры/ком.{компании}.{приложения}/данных/библиотеки/Preferences и открыть ваше приложение's в файл plist в Xcode.
После прочтения этот вопрос'ы принято отвечать, я собрал этот простой скрипт, который открывает файл plist файлы, используемые в iOS симулятор для хранения `NSUserDefaults предпочтения, и хотя это предполагает определенную настройку (подходит помоему отлично), он может работать в качестве отправной точки для других.
Пример размещения:
Вы можете пользователя это, чтобы получить полный путь на предпочтениях пользователей, Кеша и многие другие данные
печать(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, правда))`