Вам нужно использовать NSAppleEventManager
.Вы знаете, AppKit предшествует Интернету, OS X по-прежнему работает в основном с файлами, не относящимися к схемам URL и т. Д. UIKit иногда лучше.Прочитайте это Apple Doc .
На практике: сначала зарегистрируйте обработчик в applicationWillFinishLaunching:
-(void)applicationWillFinishLaunching:(NSNotification *)aNotification {
NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager];
[appleEventManager setEventHandler:self
andSelector:@selector(handleGetURLEvent:withReplyEvent:)
forEventClass:kInternetEventClass andEventID:kAEGetURL];
}
, а затем внедрите обработчик
- (void)handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
{
NSString *urlAsString = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
... do something ...
}
Вам также необходимо зарегистрировать свою схему в Info.plist
.