Как использовать UIApplication handleOpenURL Уведомления - PullRequest
6 голосов
/ 25 января 2012

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

 NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
    //[nc addObserver:self selector:@selector(DocumentToDropboxDelegate) name:UIApplicationWillResignActiveNotification object:nil];
    [nc addObserver:self selector:@selector(DocumentToDropboxDelegate) name:UIApplicationDidFinishLaunchingNotification object:nil];

Может кто-нибудь pelase помочь мне с этой проблемой.

Ответы [ 2 ]

8 голосов
/ 26 января 2012

Как уже упоминалось @Mike K, вам нужно реализовать один (или оба) из следующих методов:

- application:handleOpenURL:
- application:openURL:sourceApplication:annotation:

в вашем UIApplicationDelegate. Для них нет соответствующих уведомлений.

Пример ниже:

-(BOOL) application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    if (url != nil && [url isFileURL]) {
        [self.viewController handleOpenURL:url];
    }
    return YES;
}

//Deprecated
-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url {

    if (url != nil && [url isFileURL]) {
        [self.viewController handleOpenURL:url];
    }
    return YES;
}
2 голосов
/ 25 января 2012

application:handleOpenURL: вызывается на вашем делегате приложения - не через NSNotification.предпочтительный метод делегата для реализации: application:openURL:sourceApplication:annotation:.

дополнительную информацию можно найти здесь: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/application:handleOpenURL:

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