diff options
author | Teddy Wing | 2018-09-05 17:41:39 +0200 |
---|---|---|
committer | Teddy Wing | 2018-09-05 18:09:56 +0200 |
commit | 5aeed5af8334baad05159ca75e4d72e7179d70c8 (patch) | |
tree | 23891139ef367cc8b38c1847626b7ae082fe1f42 | |
parent | 69d948f117df445d1cb1060ebda9afd967a58f74 (diff) | |
download | Copy-Mailto-5aeed5af8334baad05159ca75e4d72e7179d70c8.tar.bz2 |
Add URL Apple Event handling code
This untested code should allow the application to respond to a Launch
Services URL to open the application.
From Thomas Zoechling
(https://stackoverflow.com/users/100848/thomas-zoechling) on Stack
Overflow:
https://stackoverflow.com/questions/1991072/how-to-handle-with-a-default-url-scheme/1991162#1991162
-rw-r--r-- | CopyMailto/AppDelegate.h | 3 | ||||
-rw-r--r-- | CopyMailto/AppDelegate.m | 15 |
2 files changed, 15 insertions, 3 deletions
diff --git a/CopyMailto/AppDelegate.h b/CopyMailto/AppDelegate.h index 83e822b..df7aec0 100644 --- a/CopyMailto/AppDelegate.h +++ b/CopyMailto/AppDelegate.h @@ -10,6 +10,7 @@ @interface AppDelegate : NSObject <NSApplicationDelegate> +- (void)handleURLEvent:(NSAppleEventDescriptor *)event + withReplyEvent: (NSAppleEventDescriptor *)replyEvent; @end - diff --git a/CopyMailto/AppDelegate.m b/CopyMailto/AppDelegate.m index 3ea136a..281d151 100644 --- a/CopyMailto/AppDelegate.m +++ b/CopyMailto/AppDelegate.m @@ -15,8 +15,12 @@ @implementation AppDelegate -- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - // Insert code here to initialize your application +- (void)applicationWillFinishLaunching:(NSNotification *)aNotification { + [[NSAppleEventManager sharedAppleEventManager] + setEventHandler:self + andSelector:@selector(handleURLEvent:withReplyEvent:) + forEventClass:kInternetLocationMail + andEventID:kAEOpenApplication]; } @@ -24,5 +28,12 @@ // Insert code here to tear down your application } +- (void)handleURLEvent:(NSAppleEventDescriptor *)event + withReplyEvent: (NSAppleEventDescriptor *)replyEvent +{ + NSString *url = [[event paramDescriptorForKeyword:keyDirectObject] + stringValue]; + NSLog(@"%@", url); +} @end |