iOS, есть ли временный каталог, который могут видеть все приложения?

Существует ли временный каталог, к которому все приложения имеют доступ в iOS, чтобы файлы могли передаваться между ними?

Обратите внимание: я понимаю меню "Открыть в" UIDocumentInteractionController. Я надеюсь передать файл, вызвав openURL на UIApplication вместо этого. Я пытаюсь НЕ использовать меню "Открыть в".

2 ответа

Решение

Как указал "Martin R", нигде нет общего каталога, который вы могли бы использовать для этой цели.

Поскольку вы контролируете оба приложения, у вас есть решение, которое позволит двум приложениям обмениваться файлами и / или данными. Для этого потребуется обновить оба приложения для поддержки этой функции.

Решение предполагает использование UIPasteBoard, Вы можете использовать общий монтажный щит или "частный" именованный монтажный щит. Если вы используете именованный монтажный картон, оба приложения должны согласовать имя (или имя может быть передано как часть URL при вызове openURL:).

Иметь исходный вызов приложения setData:forPasteBoardType: на (именном или общем) картоне. Затем исходное приложение должно создать URL-адрес для другого приложения. URL должен включать пару параметров запроса, которые включают имя монтажной панели (при необходимости), а также тип монтажной панели, используемой для установки данных.

Когда приложение-получатель запускается, оно получает параметры запроса и использует их для получения монтажной панели, а затем данные с правильным типом.

Это решение может иметь проблемы, если файл, который нужно передать, становится слишком большим. Я использовал это с мультимегабайтными файлами. Поскольку данные загружаются в память, объем данных должен иметь верхний предел. Пожалуйста, проверьте должным образом на реальных устройствах с самыми большими файлами, которые вы ожидаете передать.

Нет, нет Единственное общее местоположение (в некотором смысле) - это библиотека фотографий, которую каждое приложение может использовать для загрузки и сохранения изображений (если это разрешено пользователем). Кроме того, каждое приложение имеет доступ только к своим папкам "Документы", "Библиотека" и т. Д.

(Конечно, я не говорю о взломанных устройствах.)

Другие вопросы по тегам