2013-04-22 5 views
1

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

Я знаю немного, что мне нужно реализовать пользовательский URL-адрес, но я смущен, какую базу данных я должен делать, в sqlite или основных данных и как экспортировать данные в формат приложения. Также как создать файл в формате.

Концепция взята из приложения минутного приложения. https://itunes.apple.com/us/app/minutetaker-meeting-minutes/id519543986?mt=8

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

enter image description here

Пожалуйста, помогите. Спасибо заранее!

ответ

2

Во-первых, исследование CFBundleDocumentTypes, которое является механизмом определения типов документов, которые понимает ваше приложение.

Кроме того, пользовательские типы файлов не являются чем-то особенным или мистическим, это просто экспортированный набор данных (двоичный, XML, JSON, обычный текст и т. Д.), Который находится в формате, который понимает ваше приложение. Обычно ваши пользовательские экспортированные файлы данных имеют специальное расширение, которое позволяет ОС знать, что с ними делать. Вероятно, вы также должны кодировать некоторую информацию заголовка, чтобы вы могли проверить, что вы понимаете содержимое файла (оно действительно было создано вашим приложением и совпадением номера версии, например). Вы можете создать свой файл экспорта так же просто, как создание NSDictionary ваших данных и writeToFile:atomically:, но точный метод, который вы используете, зависит от ваших данных и от того, как вы храните их в приложении.

Если вы храните свои данные в CoreData внутри приложения, вы можете просто отправить по электронной почте файл хранилища данных на диске (подумайте о его копировании и переименовании перед отправкой). CoreData уже содержит информацию о версии и систему для устранения конфликтов версий (обновление и старая версия и исключение метаданных, если версии несовместимы).

Что вы не должны делать, это решить, как хранить данные в приложении, основываясь исключительно на вашем требовании экспортировать и обмениваться данными. Это две разные вещи. Выберите свое внутреннее хранилище данных на основе того, что приложение выполняет во время выполнения, и выберите формат экспортированных данных, основанный на том, какие данные действительно нужно сохранить, чтобы восстановить набор данных. CoreData отлично подходит для вашего хранилища в приложении, но XML-файл, скорее всего, станет лучшим решением для ваших экспортированных данных, поскольку он дает вам большой контроль над тем, что экспортируется, и множество опций для добавления дополнительных метаданных.

+0

благодарит за ответ. Ca, пожалуйста, скажите мне, нужно ли мне идти с sqite или с coredata, или любая база данных может работать с этим. – Gypsa

+0

Можете ли вы предоставить некоторую помощь по коду. – Gypsa