Xcode, смена папки приложений - PullRequest
0 голосов
/ 17 марта 2010

Привет, заметил сегодня во время написания простого приложения для iPhone, что Xcode иногда запускает новую папку в приложениях, пока вы все еще работаете над тем же приложением.

/Users/Fuzzygoat/Library/Application Support/iPhone Simulator/User/Applications/4E5EF4F0-F410-46A6-888C-0D23BB97D2DC

Кто-нибудь знает, что заставляет XCode переместиться в новую папку приложения (т.е. с именем «4E5EF4F0-F410-46A6-888C-0D23BB97D2DC»)

EDIT_001: Одна вещь, которую я заметил, состоит в том, что я много раз выходил из приложения и перезапускался, чтобы проверить набор методов архивирования, и это иногда приводит к путанице. Пару раз он не находил сохраненные данные, я думаю, что это всего лишь побочный эффект постоянного запуска симулятора снова и снова через XCode. Кажется, все идет хорошо, если я тестирую на симуляторе без Xcode, для начала папка с тем же именем.

Примечание: я использую NSSearchPathForDirectoriesInDomains, чтобы каждый раз получать папку с документами.

1012 * Гэри *

Ответы [ 2 ]

3 голосов
/ 18 марта 2010

В целях безопасности iPhone OS ограничивает приложение (включая его настройки и данные) уникальным местоположением в файловой системе.Это ограничение является частью функции безопасности, известной как «песочница» приложения. Песочница - это набор детальных элементов управления, ограничивающих доступ приложения к файлам, настройкам, сетевым ресурсам, оборудованию и т. Д.В iPhone OS приложение и его данные находятся в безопасном месте, к которому нет доступа ни одному другому приложению.Когда приложение установлено, система вычисляет уникальный непрозрачный идентификатор для приложения.Используя корневой каталог приложения и этот идентификатор, система создает путь к домашнему каталогу приложения.Таким образом, домашний каталог приложения может быть изображен как имеющий следующую структуру:

  /ApplicationRoot/ApplicationID/

В процессе установки система создает домашний каталог приложения и несколько ключевых подкаталогов, конфигурирует изолированную программную среду приложения и копирует комплект приложенийв домашний каталог.Использование уникального местоположения для каждого приложения и его данных упрощает операции резервного копирования и восстановления, обновления приложений и удаление.Для получения дополнительной информации о каталогах приложений, создаваемых для каждого приложения, а также об обновлениях приложений и операциях резервного копирования и восстановления.

см. Тестовая среда приложения

2 голосов
/ 17 марта 2010

Я знаю, что это происходит, когда вы перезапускаете симулятор. По крайней мере, тогда я это точно заметил.

Документы разработчика говорят вам, что путь может меняться без предупреждения и никогда не зависеть от него. Это часть системы безопасности iPhone, которая не позволяет вредоносным приложениям использовать жестко заданные пути для поиска и использования системных ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...