Как передать документ между двумя приложениями на одном устройстве iOS?
У меня есть приложение для iPhone, которое некоторые мои пользователи работают на iPad в режиме эмуляции. Мы также думаем о создании iPad-оптимизированного приложения, которое будет отдельным приложением в App Store (больше функций, отличная цена).
Проблема заключается в следующем: если пользователь запускает приложение iPhone на iPad, а затем покупает нашу оптимизированную для iPad версию, как они могут перенести свои данные из iPhone-приложения и в новое приложение для iPad?
Вот несколько альтернатив, которые я рассмотрел:
- Как рекомендовано в других вопросах SO, защищенная цепочка ключей. Проблема в том, что это позволяет передавать только небольшой фрагмент данных. Наши пользователи, вероятно, будут иметь десятки мегабайт данных.
- Регистрация схем URI (также предложенная в других вопросах SO, также, по-видимому, предназначена для очень небольших объемов данных).
- Пусть пользователь загружает данные из приложения iPhone только в службу, например Dropbox или box.net, а затем из версии iPad загружает эти данные снова. Преимущество заключается в том, что эти службы имеют очень простые API-интерфейсы; недостатком является то, что пользователю может потребоваться создать дополнительную учетную запись и/или загрузить другое приложение, чтобы переместить данные.
- Создайте документ iCloud. Никакой регистрации не требуется, но настройка хранилища iCloud - это, мягко говоря, нетривиальный
Существуют ли другие варианты передачи десятков мегабайт данных между двумя приложениями на одном устройстве.
Ответы
Ответ 1
Вы можете использовать UIDocumentInteractionController
, чтобы пользователь мог открыть документ в любом приложении на устройстве, у которого была зарегистрирована поддержка типа документа.
Это все равно сделает копию документа в песочнице iPad app. Там не обойти это.
Ответ 2
Попробуйте это, возможно, это вам поможет: https://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/iCloud/iCloud.html
Ответ 3
Хотя требуется немного больше работы, но при условии, что количество передаваемых данных относительно невелико, вы можете настроить сервер как средний человек. Самое большое преимущество в этом заключается в том, что люди могут также передавать данные между своим iPhone и iPad, а не просто внутри iPad.
Это может быть так же просто, как кнопка "перейти на iPad", которая затем предложит пользователю создать временное имя пользователя и пароль, а затем передать данные в базу данных SQL. Затем на стороне iPad все, что вам нужно сделать, это синхронизация данных, аутентификация и загрузка. База данных может быть очищена от данных, превышающих 10 дней, чтобы сохранить свой размер от роста.