aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CopyMailto.xcodeproj/project.pbxproj6
-rw-r--r--CopyMailto/DefaultURLHandler.h15
-rw-r--r--CopyMailto/DefaultURLHandler.m28
-rw-r--r--CopyMailto/main.m3
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);
}