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

Я пишу приложение iOS, которое выполняет преобразование файла, сохраненного другим приложением на том же устройстве, в другой формат. Как я могу передавать файлы из одного приложения в другое на одном устройстве? Обратите внимание, что файлы являются нетекстовыми файлами.

2 ответов


UIDocumentInteractionController - твой друг.

в основном это работает так:

  1. App 1 регистрируется как способный обрабатывать файлы типа XYZ
  2. Приложение 2 реализует UIDocumentInteractionController и даст пользователям возможность " отправить файл в App1 "(я считаю, что это должно быть активировано пользователем)
  3. Приложение 1 реализует -(BOOL)application:openURL:sourceApplication:annotation: и имеет дело с переданным файлом, который будет сохранен в вашем . Оттуда вы можете скопировать файл в другое место, а затем манипулировал им, убедившись, что вы очистите, избавившись от оригинального, сохраненного в папке "Входящие".

ссылка на класс доступен здесь

руководство по программированию взаимодействия с документами доступно здесь


Если вы разрабатываете оба приложения, вы можете хранить общую информацию в связке ключей до тех пор, пока ваши идентификаторы пакета соответствуют одному идентификатору семян пакета. См.здесь для получения дополнительной информации. Конечно, если вы делаете оба приложения, вы можете использовать схему URL для передачи данных в кодировке base64.

обновление: как сказал Рог ниже, UIDocumentInteractionController велик, но он доступен только для 4.2 и выше, поэтому вы вырезаете большую часть своих пользователей, если ты хочешь использовать его.