#ios #json #ios-simulator #filepath #swift5
#iOS #json #ios-симулятор #путь к файлу #swift5
Вопрос:
Я сохранил файл JSON с именем abc.json в своем приложении для iOS. Он был сохранен по следующему пути:
Library/Developer/CoreSimulator/Devices/CB7CE5E3-1178-4A44-804D-6558A937E3CA/data/Containers/Data/Application/1CC01B6D-F5C4-4C20-B370-9E036785EB6C/Documents/abc.json
Я перезагрузил свое приложение, и путь к файлу изменился на:
Library/Developer/CoreSimulator/Devices/CB7CE5E3-1178-4A44-804D-6558A937E3CA/data/Containers/Data/Application/2544BD3C-C797-4269-9482-B6E7E0159BA3/Documents/abc.json
Каждый раз, когда я перезагружаю приложение в своем Xcode, путь меняется. У меня есть 2 вопроса.
- Почему путь продолжает меняться?
- Как мне прочитать файл (abc.json), сохраненный симулятором, если его путь продолжает меняться?
Я пытался найти ответы на это, но не наткнулся ни на что, что прояснило бы мое замешательство.
Ответ №1:
Каждый раз, когда вы устанавливаете приложение, оно получает новый UUID. Это нормально. Чаще всего вы получаете к нему доступ, просто распечатав путь во время запуска, но другим удобным механизмом является использование simctl:
xcrun simctl get_app_container booted <bundle> data
«загруженный» вот удобный способ доступа к текущему запущенному симулятору, но вы также можете передать явный UUID для идентификации симулятора (CB7CE5E3-1178-4A44-804D-6558A937E3CA в вашем примере). Параметр «data» возвращает контейнер данных, который часто является тем, что вам нужно. По умолчанию используется контейнер приложения.