2011-01-16 2 views
-1

Сообщение «application: applicationDidFinishLaunchingWithOptions:» не вызывается, когда приложение сидит в фоновом режиме в iOS 4, и я пытаюсь выяснить, как получать уведомления, когда приложение возвращается на передний план другим приложением.iPhone SDK File Handler с iOS 4 Фоновые процессы

Мое приложение регистрируется как обработчик определенных типов файлов, а Safari и другие поддерживаемые приложения позволяют передавать файлы в мое приложение. Это отлично работает, если приложение закрыто до того, как я попытаюсь его использовать, но не получилось иначе.

В моем приложении: applicationDidFinishLaunchingWithOptions: у меня есть:

NSURL *url = (NSURL *)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey]; 
if([url isFileURL]) { 
} 
[self.window makeKeyAndVisible]; 
return YES; 

Как сказано уже, это прекрасно работает до сих пор для запуска приложения, когда он не сидит на заднем плане - но когда я переключаюсь обратно к Safari или Mail и попытайтесь открыть новый файл, который поддерживается, мое приложение просыпается из фона и снова становится активным, но я не вижу никаких переопределений «withOptions» для приложения: applicationWillEnterForeground: или любой способ определить, что было передано, когда оно выходит на передний план.

Что было бы подходящим способом получения этих «открытых уведомлений файла», когда приложение находится в фоновом режиме?

+0

-1 для запутанного вопроса. Ваше первое предложение спрашивает о том, чтобы быть уведомленным, когда «приложение возвращено на передний план». Затем вы продолжаете спрашивать о получении уведомлений об открытых файлах в фоновом режиме. Затем вы продолжали отвечать на него сами и избивали NSRsponder. –

ответ

1

Представляется, что с помощью приложения: OpenUrl: sourceApplication: аннотацию: это лучший подход к получению этих уведомлений. Он вызывается, когда приложение запускается в первый раз, и когда оно снова становится активным.

Я перенес свое приложение: applicationDidFinishLoadingWithOptions: код в приложение: openURL: sourceApplication: аннотация: для обработки файла, переданного приложению, и теперь он работает во всех случаях.

0

Чтобы получать уведомления, когда ваше приложение становится на первый план приложение, зарегистрировать какой-то объект, чтобы получить UIApplicationDidBecomeActiveNotification

+0

вопрос был «как получать уведомления о« открытых файловых уведомлениях »», в то время как в неактивном/фоновом состоянии - пожалуйста, перечитайте вопрос. –

+0

NSReponder ответил на первую часть вашего вопроса в исходном сообщении. –

Смежные вопросы