Можно ли просматривать содержимое файлов в песочнице приложения iOS во время отладки?


Я хотел бы проверить содержимое XML-файла в определенной точке выполнения при отладке в Xcode. Можно ли просмотреть содержимое файла, либо через органайзер (я отлаживаю с использованием реальных аппаратных устройств, а не симулятора), либо введя какую-то команду в вывод/консоль?

Я использую Xcode 4.

5 60

5 ответов:

просто откройте органайзер и нажмите кнопку "Загрузить" внизу, затем щелкните правой кнопкой мыши на файле xcappdata и выберите Показать содержимое пакета.

обновленный ответ для Xcode 6:

вкладка устройства теперь имеет свое собственное окно (Окно -> устройства). Найдите свое устройство, а затем свое приложение. Там нет кнопки "Загрузить" (если окно журнала не видно... затем значок загрузки там фактически сохраняет журнал).

Если вы дважды щелкните на своем приложении, появится новое окно, которое показывает только для чтения, неинтерактивное представление песочницы этого приложения.

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

Я только что обнаружил, что вы можете фактически сохранить все содержимое песочницы на диск в любое время. Просто откройте органайзер и нажмите кнопку "Загрузить" внизу. Это сохраняет песочницу на диск как a .файл xcappdata. Я не уверен, как открыть это как это, но я обнаружил, что если вы измените расширение файла на .xml, вы можете просматривать его с помощью finder так же, как обычный каталог.

жаль, что вы не можете скачать отдельные файлы, если это необходимо, и что весь процесс немного громоздкий, но он позволяет мне достичь того, что я хотел в конце концов.

вы можете включить общий доступ к файлам (установите флаг UIFileSharingEnabled в info.plist) и сохранить файл, где он может быть доступен через iTunes (т. е. в папке "Документы").

вы всегда можете установить точку останова, а затем, в консоли, распечатать содержимое объекта, который вы хотите изучить, используя 'РО'. Пример: gdb> po [NSDictionary dictionaryWithContentsOfFile: filePath];.