Когда файл передается в приложение iOS с помощью системы взаимодействия с документом, копия файла сохраняется в папке приложения Documents/Inbox
. После того, как приложение обработало файл, очевидно, что необходимо удалить файл из Documents/Inbox
, иначе папка будет продолжать расти и удалять хранилище на устройстве.
Мне неудобно это простое решение (A), потому что моему приложению нужно взаимодействовать с пользователем, прежде чем он сможет закончить обработку и удаление файла. Если пользователь приостанавливает приложение в течение этого периода взаимодействия, и приложение затем убивается, когда оно находится в фоновом режиме, устаревший файл не будет удален, когда приложение запустится в следующий раз. Конечно, я могу улучшить свое приложение, чтобы охватить этот сценарий, но я подозреваю, что всегда будет другой случай с границей, который оставит меня с "нечистой" папкой Documents/Inbox
.
Таким образом, предпочтительным решением (B) было бы удаление папки Documents/Inbox
в соответствующее время (например, когда приложение запускается нормально, то есть не через взаимодействие с документом). Мне все еще неудобно, потому что я получаю доступ к пути файловой системы, местоположение которого официально не документировано нигде. Например, мое приложение сломается, если в будущей версии iOS система взаимодействия с документом больше не помещает файлы в Document/Inbox
.
Итак, мои вопросы:
- Вы порекомендовали бы решение A или B?
- Используете ли вы другой подход и можете ли вы дать описание того, как ваше приложение управляет
Document/Inbox
? - И последнее, но не менее важное: знаете ли вы часть официальной документации Apple, которая охватывает тему и что я пропустил?