diff options
| -rw-r--r-- | CopyMailto.xcodeproj/project.pbxproj | 6 | ||||
| -rw-r--r-- | CopyMailto/DefaultURLHandler.h | 15 | ||||
| -rw-r--r-- | CopyMailto/DefaultURLHandler.m | 28 | ||||
| -rw-r--r-- | CopyMailto/main.m | 3 | 
4 files changed, 52 insertions, 0 deletions
| diff --git a/CopyMailto.xcodeproj/project.pbxproj b/CopyMailto.xcodeproj/project.pbxproj index 3176932..0012db7 100644 --- a/CopyMailto.xcodeproj/project.pbxproj +++ b/CopyMailto.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@  		D1F170FE21402BB100BD08A0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D1F170FD21402BB100BD08A0 /* Assets.xcassets */; };  		D1F1710121402BB200BD08A0 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = D1F170FF21402BB200BD08A0 /* MainMenu.xib */; };  		D1F1710421402BB300BD08A0 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D1F1710321402BB300BD08A0 /* main.m */; }; +		D1F1710D21403F7B00BD08A0 /* DefaultURLHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = D1F1710C21403F7B00BD08A0 /* DefaultURLHandler.m */; };  /* End PBXBuildFile section */  /* Begin PBXFileReference section */ @@ -22,6 +23,8 @@  		D1F1710221402BB300BD08A0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };  		D1F1710321402BB300BD08A0 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };  		D1F1710521402BB400BD08A0 /* CopyMailto.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = CopyMailto.entitlements; sourceTree = "<group>"; }; +		D1F1710B21403F7B00BD08A0 /* DefaultURLHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DefaultURLHandler.h; sourceTree = "<group>"; }; +		D1F1710C21403F7B00BD08A0 /* DefaultURLHandler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DefaultURLHandler.m; sourceTree = "<group>"; };  /* End PBXFileReference section */  /* Begin PBXFrameworksBuildPhase section */ @@ -59,6 +62,8 @@  				D1F170FD21402BB100BD08A0 /* Assets.xcassets */,  				D1F170FF21402BB200BD08A0 /* MainMenu.xib */,  				D1F1710221402BB300BD08A0 /* Info.plist */, +				D1F1710B21403F7B00BD08A0 /* DefaultURLHandler.h */, +				D1F1710C21403F7B00BD08A0 /* DefaultURLHandler.m */,  				D1F1710321402BB300BD08A0 /* main.m */,  				D1F1710521402BB400BD08A0 /* CopyMailto.entitlements */,  			); @@ -136,6 +141,7 @@  			buildActionMask = 2147483647;  			files = (  				D1F1710421402BB300BD08A0 /* main.m in Sources */, +				D1F1710D21403F7B00BD08A0 /* DefaultURLHandler.m in Sources */,  				D1F170FC21402BB100BD08A0 /* AppDelegate.m in Sources */,  			);  			runOnlyForDeploymentPostprocessing = 0; diff --git a/CopyMailto/DefaultURLHandler.h b/CopyMailto/DefaultURLHandler.h new file mode 100644 index 0000000..7bad3d0 --- /dev/null +++ b/CopyMailto/DefaultURLHandler.h @@ -0,0 +1,15 @@ +// +//  DefaultURLHandler.h +//  CopyMailto +// +//  Created by tw on 9/5/18. +//  Copyright © 2018 tw. All rights reserved. +// + +#import <Foundation/Foundation.h> + +@interface DefaultURLHandler : NSObject + ++ (void)saveDefaultURLHandler; + +@end diff --git a/CopyMailto/DefaultURLHandler.m b/CopyMailto/DefaultURLHandler.m new file mode 100644 index 0000000..a8d124f --- /dev/null +++ b/CopyMailto/DefaultURLHandler.m @@ -0,0 +1,28 @@ +// +//  DefaultURLHandler.m +//  CopyMailto +// +//  Created by tw on 9/5/18. +//  Copyright © 2018 tw. All rights reserved. +// + +#import "DefaultURLHandler.h" + +@implementation DefaultURLHandler + +//LSSetDefaultHandlerForURLScheme(); ++ (void)saveDefaultURLHandler { +    CFStringRef mailto = CFStringCreateWithCString( +        kCFAllocatorDefault, +        "mailto", +        kCFStringEncodingUTF8 +    ); + +    CFStringRef bundle_identifier = LSCopyDefaultHandlerForURLScheme(mailto); +    NSLog(@"%@", bundle_identifier); + +    CFRelease(mailto); +    CFRelease(bundle_identifier); +} + +@end diff --git a/CopyMailto/main.m b/CopyMailto/main.m index dd3e4a5..8dfe2c1 100644 --- a/CopyMailto/main.m +++ b/CopyMailto/main.m @@ -8,6 +8,9 @@  #import <Cocoa/Cocoa.h> +#import "DefaultURLHandler.h" +  int main(int argc, const char * argv[]) { +    [DefaultURLHandler saveDefaultURLHandler];      return NSApplicationMain(argc, argv);  } | 
