Обработчик файлов iPhone SDK с iOS 4 Фоновые процессы - PullRequest
0 голосов
/ 16 января 2011

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

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 17 января 2011

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

Я переместил свое приложение: applicationDidFinishLoadingWithOptions: code в application: openURL: sourceApplication: annotation: для обработкиФайл передан приложению, и теперь он работает во всех случаях.

0 голосов
/ 17 января 2011

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

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