Как работает приложение «Открыть с помощью» в iPhone? - PullRequest
3 голосов
/ 23 декабря 2010

Насколько мне известно, из iOS SDK 3.2 добавлена ​​обработка типов файлов, и приложение iOS может связываться с каким-либо типом файла, чтобы другие приложения могли открывать этот тип файла с приложением.

Из-за механизма песочницы в iOS мне интересно, когда файл в appA открывается с appB, который зарегистрировался с этим типом файла, что произойдет?Этот файл копируется в appB, и appA и appB сохраняют копию этого файла?Если ответ да, можно ли заставить appB открывать файл в папке документов appA?Я не могу найти документацию Apple по этому вопросу.

Например, appA сохраняет в нем документ Keynote. Если я открою этот документ Keynote с помощью приложения Keynote, можно ли приложению Keynote редактировать этот документ на месте?чтобы после редактирования appA могла видеть обновленный документ?

Любая помощь приветствуется.

Ответы [ 2 ]

9 голосов
/ 23 декабря 2010

Здесь есть несколько разных вопросов.

Когда вы регистрируете свое приложение для обработки типов файлов с помощью записи info.plist Document types ваше приложение будет в списке приложений, которые отображаются привы выполняете действие с этим файлом (например, нажав на вложенный файл в письме).Затем, когда ваше приложение запускается, метод application:didFinishLaunchingWithOptions: запускается как обычно, а словарь launchOptions будет содержать путь к файлу, который был отправлен в ваше приложение.То, что вы делаете с файлом, зависит от вас, но это копия файла, а не ссылка на него.Поэтому, если пользователь вносит изменения в файл в исходном приложении, он должен снова «запустить» ваше приложение с новым файлом.

Подробнее см. Здесь: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/application:didFinishLaunchingWithOptions:

Вы можетеДоступ к папке документов любого другого приложения с помощью текущего SDK.

Кроме того, для обмена документами в iTunes (например, «Страницы», «Номера» и т. д.) просмотрите две записи в файле info.plist Document types и UIFileSharingEnabled.(Документы Apple: http://developer.apple.com/library/ios/#documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW20) По сути, установив для UIFileSharingEnabled значение YES, вы откроете каталог /Documents вашего приложения в iTunes. С другой стороны, вы можете показать пользователю, как только он вернется вваше приложение, что находится в этом каталоге.

0 голосов
/ 23 декабря 2010

Sndbox реализован поверх стандартного управления разрешениями Unix. Все приложения хранятся в папках с уникальным именем (собственно, GUID), однако владелец для них один и тот же мобильный: мобильный. Похоже, они просто отправляют полный путь к файлу в приложение, которое открывает соответствующий файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...