Есть ли способ увидеть, что было сохранено NSUserDefaults
напрямую? Я хотел бы посмотреть, правильно ли сохранены мои данные.
225
Есть ли способ увидеть, что было сохранено NSUserDefaults
напрямую? Я хотел бы посмотреть, правильно ли сохранены мои данные.
Ответы:
Вы можете найти файл pList для вашего приложения в симуляторе, если перейдете по адресу:
/ users / ваше имя пользователя / библиотека / поддержка приложений / iPhone Simulator / <версия Sim> / приложения
Этот каталог имеет кучу именованных каталогов GUID. Если вы работаете над несколькими приложениями, их будет несколько. Итак, вам нужно найти бинарный файл вашего приложения:
Затем перейдите в каталог Library / Preferences в каталоге GUID. Так:
Вы должны найти файл, который выглядит так:
Откройте это в редакторе pList и просмотрите сохраненные значения для вашего сердца.
источник
NSUserDefaults
, тоNSUserDefaults
они не сохраняются в файле .plist, а управляются в памяти: stackoverflow.com/questions/6193597/…Вы можете распечатать все текущие NSUserDefaults в журнал:
Просто ключи:
Ключи и значения:
источник
В Swift мы можем использовать следующее:
Swift 3.x и 4.x
Для получения всех ключей и значений:
Для получения полного словарного представления пользовательских настроек по умолчанию:
Для получения ключей:
Для получения значений:
Здесь мы также можем использовать dump, но это вернет полную иерархию наследования каждого элемента в массиве значений. Если требуется больше информации об объектах, тогда используйте dump, иначе продолжайте с обычным оператором печати.
Swift 2.x
Для получения полного словарного представления пользовательских настроек по умолчанию:
Для получения ключей:
Для получения значений:
источник
Вы можете проверить значения для каждого ключа в массиве, возвращаемого
источник
Иногда я использую следующий фрагмент, чтобы распечатать расположение моего файла NSUserDefaults при запуске в симуляторе
Это дает путь к папке настроек
Ваш файл NSUserDefaults находится в папке настроек и называется в соответствии с вашим префиксом и именем приложения, например
Я ожидаю, что то же самое будет верно для фактического устройства.
источник
Легко, так как имя файла plist есть
<app-bundle-identifier>.plist
, вы можете использоватьfind
команду, чтобы найти его путь. Но это займет очень много времени, если вы будете искать весь свой компьютер, поэтому вы должны выбрать хорошую область, например,~/Library/Developer/CoreSimulator
для Xcode 6.пример:
find ~/Library/Developer/CoreSimulator -type f -name com.awesome.app.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
И оттуда вы можете использовать
open
команду. Или, если вы используете iTerm2 , просто щелкните по пути, чтобы открыть его.источник
В Swift 4.0
потому что dictionaryRepresentation NSUserDefaults.standardUserDefaults () возвращает [String: AnyObject]
Мы бросили это в
NSDictionary
. Затем, заключив его в круглые скобки, '()' позволит нам вызывать .allKeys или .allValues так же, как и в любом NSDictionary.источник
Используйте код ниже.
источник
Для приложений OS X вместо поиска файла plist по умолчанию для приложения проще использовать
defaults
утилиту командной строки.Пример:
источник
Для Xcode 7
NSUserDefaults standardDefaults хранятся здесь:
/Users/{USER}/Library/Developer/CoreSimulator/Devices/{UUID}/data/Containers/Data/Application/{UUID}
NSUserDefaults для группы suite / app хранятся здесь:
/Users/{USER}/Library/Developer/CoreSimulator/Devices/{UUID}/data/Containers/Shared/AppGroup/{UUID}/Library/Preferences/{GROUP_NAME}.plist
Я бы порекомендовал использовать https://github.com/scinfu/NCSimulatorPlugin, потому что в наши дни все отстает от UUID и найти их очень сложно. Это позволяет легко получить доступ к каталогам приложений вашего симулятора.
источник
Я построил этот метод на основе предложения Мориона для лучшей презентации. Используйте его, позвонив
[self logAllUserDefaults]
источник
NSLog(@"%@", [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] debugDescription]);
(Почти как в ответе, получившемИщите приложение Mac под названием SimPholder2 . Он находится в строке меню и перечисляет все симуляторы, которые вы использовали, а затем показывает каждое из ваших приложений. Выберите один, и вы получите новое окно Finder, уже открытое в каталог приложения. Это позволяет легко найти ваше приложение и все его каталоги. Это значительно экономит время (и я с готовностью пожертвовал автору).
источник
Приложение Симулятор
Этот сценарий оболочки выполняет поиск имени приложения, получает идентификатор пакета и открывает папки, содержащие файлы Plist .
Расширенная версия скрипта
Использование:
iphone-app-folder "My App"
Mac App
источник
В Swift 2.2
распечатает расположение папки файла plist NSUserDefaults в консоли отладки Xcode. Скопируйте строку пути. Откройте Finder, выберите пункт «Перейти к папке в меню« Перейти », вставьте строку пути. Дважды щелкните файл plist. Вы увидите содержимое в вашем редакторе Xcode.
Работаю только в симуляторе
Спасибо @ Niels Castle
источник
Я держу ярлык на рабочем столе в папке симулятора, где хранятся приложения, а именно:
Сортировка по самой последней дате, затем просто перейдите в самую последнюю папку приложения Library / Preferences и просмотрите файл в редакторе plist.
источник
Свифт 3
источник
Для приложений MacOS
Перейдите по адресу: /Users/ndomUser‹/Library/Containers/com.ndomyour company}. {Ваше приложение} / Data / Library / Preferences и откройте pList вашего приложения с помощью Xcode.
источник
Это полный путь, где ваши значения ключей UserDefaults будут находиться в файле plist. Следуйте и найдите файл идентификатора пакета приложения .plist.
Здесь «4176EED3-B9FC-4C77-A25E-ASD201B9FDFG2» - это идентификатор вашего устройства
и "56D7CE31-9A8B-4371-9B0F-9604E239423B0" - это идентификатор вашего приложения
Я обычно получаю их, сортируя папки по дате последнего изменения в Finder. И последняя отредактированная папка - это мой идентификатор устройства и идентификатор приложения.
Наслаждайтесь!
источник
Вы можете NSLog каждое установленное вами значение, например:
источник
Прочитав принятый ответ на этот вопрос, я собрал этот простой сценарий, который открывает файлы plist, используемые симулятором iOS для хранения
NSUserDefaults
настроек, и, хотя он предполагает определенную настройку (идеально подходит мне), он может работать как отправная точка для других ,Пример размещения:
источник
Вы можете использовать это, чтобы получить полный путь к пользовательским настройкам, кешу и многим другим данным.
print(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true))
источник
Вы можете распечатать путь для каталога настроек из
application:didFinishLaunchingWithOptions:
обратного вызова в вашем AppDelegate:Затем вы можете посмотреть файл plist напрямую, чтобы увидеть, что там сохранено.
источник