Проблема в получении пути к файлу в приложении - PullRequest
1 голос
/ 01 июля 2011

Все

Я работаю над приложением, которое поддерживает просмотр файлов документов (документ, текст и другие). Поскольку я зарегистрировал свое приложение для этих типов файлов, если кто-то отправляет мне по электронной почте файл документа, я использую Метод didFinishLaunchingWithOptions, чтобы получить путь к файлу. Теперь проблема в том, что, если приложение уже работает в фоновом режиме? Как я получу путь к файлу, из-за которого мое приложение стало активным для открытия этого файла?

С наилучшими пожеланиями

Ответы [ 2 ]

0 голосов
/ 01 июля 2011

Как правило, вы не хотите открывать документ в didFinishLaunchingWithOptions:, но в application:openURL:sourceApplication:annotation: или application:handleOpenURL:.

Из документов:

Если ваше приложение уже запущено когда приходит запрос документа, последовательность событий зависит от вашего делегировать реализацию и текущая версия iOS. В iOS 4.2 Применение: OpenUrl: sourceApplication: аннотация: метод вызывается и ожидается проверьте документ и откройте его. Если ваш делегат не реализует это метод, или если ваша заявка работает только в iOS 4.1 и более ранних версиях приложение: handleOpenURL: метод называется.

0 голосов
/ 01 июля 2011

использовать "application: openURL: sourceApplication: annotation:" из делегата приложения;следующий текст взят из документации Apple


application:openURL:sourceApplication:annotation:
</code>
Asks the delegate to open a resource identified by URL.
<code>
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

Обсуждение
Если приложение запускается в результате запроса другим приложением об открытии ресурса URL-адреса, UIApplication сначала отправляет приложению приложение: didFinishLaunchingWithOptions:сообщение, а затем он вызывает этот метод.Этот метод предоставляет делегату приложения обработки идентификатор пакета исходного приложения, а также любую информацию аннотации из этого приложения.Если приложение уже запущено, когда оно получает запрос на открытие URL, этот метод вызывается, но application: didFinishLaunchingWithOptions: not.

Если этот метод не реализован, UIApplication вызывает application: handleOpenURL: (еслиреализована).Вы должны реализовать этот метод вместо приложения: handleOpenURL:.

Нет соответствующего уведомления для этого метода.

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