Как показать «Открыть в ...», когда пользователь пытается открыть вложения электронной почты в iOS - PullRequest
8 голосов
/ 04 августа 2010

Я видел, что некоторые приложения для iOS имеют такую ​​функцию: когда пользователь пытается открыть вложение электронной почты, он может нажать и удерживать вложение в течение нескольких секунд, и появится всплывающее меню с двумя кнопками.Одна кнопка гласит «Открыть в iBooks» (например).Когда пользователь щелкает по нему, приложение запускается и открывает вложение.

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

И что происходит с документом при его открытии?Копируется ли оно в место, которое может быть прочитано приложением, или приложение получает какой-либо объект, представляющий документ?

Если кто-нибудь знает, как это сделать, пожалуйста, дайте мне знать.Большое спасибо.

Ответы [ 2 ]

13 голосов
/ 03 декабря 2010

Ваше приложение должно зарегистрировать свою способность открывать определенные типы файлов , установив CFBundleDocumentTypes в его plist. Вот пример XML GoodReader для открытия PDF-файлов .

Когда ваше приложение вызывается для открытия файла , вы можете найти информацию о файле в application:didFinishLaunchingWithOptions:, которому передается словарь с ключом UIApplicationLaunchOptionsURLKey

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

...