├── .gitignore ├── Bundle Resources ├── deluge_magnet.icns └── Info.plist ├── registerHandler ├── registerHandler.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ ├── xcshareddata │ │ └── xcschemes │ │ │ └── registerHandler.xcscheme │ └── project.pbxproj └── main.swift ├── LICENSE ├── README.md └── Magnet Handler.applescript /.gitignore: -------------------------------------------------------------------------------- 1 | /registerHandler/registerHandler.xcodeproj/xcuserdata 2 | -------------------------------------------------------------------------------- /Bundle Resources/deluge_magnet.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Lord-Kamina/Deluge-Magnet-Handler/HEAD/Bundle Resources/deluge_magnet.icns -------------------------------------------------------------------------------- /registerHandler/registerHandler.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /registerHandler/registerHandler.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | /* 2 | * ---------------------------------------------------------------------------- 3 | * "THE BEER-WARE LICENSE" (Revision 42): 4 | * wrote this file. As long as you retain this notice you 5 | * can do whatever you want with this stuff. If we meet some day, and you think 6 | * this stuff is worth it, you can buy me a beer in return., Gregorio Litenstein. 7 | * ---------------------------------------------------------------------------- 8 | */ -------------------------------------------------------------------------------- /registerHandler/main.swift: -------------------------------------------------------------------------------- 1 | import Foundation 2 | import Cocoa 3 | 4 | func getArgument() -> String? { 5 | if (2 > CommandLine.arguments.count) { 6 | return nil; 7 | } 8 | else { 9 | return CommandLine.arguments[1]; 10 | } 11 | } 12 | 13 | let command = getArgument() ?? "null"; 14 | 15 | switch command { 16 | 17 | case "-register": 18 | let currentHandler = LSCopyDefaultHandlerForURLScheme("magnet" as CFString)!.takeUnretainedValue() as String; 19 | 20 | if ("org.deluge.magneturihandler" != currentHandler) { 21 | var retval: OSStatus = kLSUnknownErr; 22 | retval = LSSetDefaultHandlerForURLScheme("magnet" as CFString, "org.deluge.magneturihandler" as CFString); 23 | print(retval); 24 | } 25 | else { 26 | print("MagnetURIHandler is already registered to handle magnets."); 27 | } 28 | 29 | case "-check": 30 | 31 | let currentHandler = LSCopyDefaultHandlerForURLScheme("magnet" as CFString)!.takeUnretainedValue() as String; 32 | print(currentHandler); 33 | 34 | default: 35 | print ("\nUsage: registerHandler , where is one of:\n\n\t-register\t\t\t (Register 'Magnet Handler.app' as the default handler for magnet:// URIs.)\n\t-check\t\t\t\t (Prints the bundle id for the application currently registered to handle magnet URIs)\n\nRunning registerHandler with either an invalid or without any arguments will print this message.\n"); 36 | } 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Deluge-Magnet-Handler 2 | ### OSX Applescript handler to open magnet URLs in Deluge.app 3 | 4 | ## Current Version 5 | - Version: 1.3.0 6 | - Date: 2018-12-18 7 | 8 | ## Known Issues 9 | - 10 | # Release Notes 11 | 12 | ## [1.3.0] - 2018-12-18 13 | + ### Changed 14 | + registerHandler: 15 | + is provided straight as the statically-linked product of its Xcode project. 16 | + Made some cosmetic changes to the usage message. 17 | + Using -register now returns 0 on success and forwards whatever numeric error we get on failure to the AppleScript GUI. 18 | + Main bundle: 19 | + Use a more robust method to determine locations of icon files, as well as registerHandler. 20 | + The app now doesn't always presume success. The success message is only shown if registerHandler returns 0. 21 | + The whole bundle is now codesigned and linked against 10.14 SDK. 22 | 23 | 24 | # Instructions 25 | *Note: If on 10.14+, the application will ask for permission to control several other apps; including `Finder.app`, `System Events.app` and possibly itself (don't ask).* 26 | 27 | 1. ) Download from the [Releases](https://www.github.com/Lord-Kamina/Deluge-Magnet-Handler/releases) section. 28 | 2. ) Install to "Applications" folder. 29 | 3. ) Run The application once by double-clicking it on the Finder, the application will then prompt you to register itself as the default handler for torrent files. 30 | 1. ) Go to a browser and click on a magnet to test it. 31 | -------------------------------------------------------------------------------- /Bundle Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleAllowMixedLocalizations 6 | 7 | CFBundleDevelopmentRegion 8 | English 9 | CFBundleExecutable 10 | applet 11 | CFBundleIconFile 12 | deluge_magnet 13 | CFBundleIdentifier 14 | org.deluge.MagnetURIHandler 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | Magnet Handler 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 1.3.0 23 | NSAppleEventsUsageDescription 24 | This plug-in is written almost entirely in AppleScript; We need authorization for everything except actually registering ourselves (that is done by an embedded CLI app) 25 | CFBundleSignature 26 | aplt 27 | CFBundleURLTypes 28 | 29 | 30 | CFBundleURLName 31 | BitTorrent Magnet URL 32 | CFBundleURLSchemes 33 | 34 | magnet 35 | 36 | 37 | 38 | CFBundleVersion 39 | 1.3.0 40 | LSMinimumSystemVersionByArchitecture 41 | 42 | x86_64 43 | 10.6 44 | 45 | LSRequiresCarbon 46 | 47 | WindowState 48 | 49 | bundleDividerCollapsed 50 | 51 | bundlePositionOfDivider 52 | 0.0 53 | dividerCollapsed 54 | 55 | eventLogLevel 56 | 2 57 | name 58 | ScriptWindowState 59 | positionOfDivider 60 | 326 61 | savedFrame 62 | 649 181 956 876 0 0 1920 1057 63 | selectedTab 64 | log 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /Magnet Handler.applescript: -------------------------------------------------------------------------------- 1 | on quit 2 | try 3 | tell application "System Events" to tell process "Deluge" 4 | activate 5 | set frontmost to true 6 | windows where title contains "Add Torrents" 7 | if result is not {} then perform action "AXRaise" of item 1 of result 8 | end tell 9 | end try 10 | end quit 11 | 12 | on open location this_URL 13 | try 14 | tell application "Finder" to set delugePath to POSIX path of (application file id "org.deluge" as string) 15 | set appExists to true 16 | on error 17 | set appExists to false 18 | display alert "Deluge.app must be installed in order to use this plug-in." as critical 19 | return 20 | end try 21 | set delugeArgument to quoted form of this_URL 22 | try 23 | tell application "Deluge" to activate 24 | end try 25 | do shell script (quoted form of (delugePath & "/Contents/MacOS/Deluge") & " add " & delugeArgument & "; return;") 26 | quit 27 | end open location 28 | tell application "Finder" to set thisPath to (POSIX path of (application file id "org.deluge.MagnetURIHandler" as string)) 29 | log "Magnet Handler.app info: path to Application: " & thisPath 30 | set regTool to (quoted form of POSIX path of (path to resource "registerHandler")) 31 | set handlerCheck to regTool & " -check" 32 | set handlerReg to regTool & " -register" 33 | log "Magnet Handler.app info: path to registerHandler: " & regTool 34 | set retHandlerCheck to do shell script handlerCheck 35 | if (retHandlerCheck contains "org.deluge.magneturihandler") then 36 | display dialog "Magnet Handler is already the default application to handle magnet URIs" buttons {"OK"} with title "Notification" with icon POSIX file (POSIX path of (path to resource "deluge_magnet.icns")) 37 | else 38 | try 39 | set dialogResult to display dialog "Magnet Handler has not been configured to handle magnet URIs. Would you like to do this now?" buttons {"Yes", "No"} default button "Yes" cancel button "No" with title "Notification" with icon POSIX file (POSIX path of (path to resource "deluge_magnet.icns")) 40 | log dialogResult 41 | on error number -128 42 | display alert "Unable to complete operation: Error -128" as critical 43 | return 44 | end try 45 | try 46 | if (button returned) of dialogResult is "Yes" then 47 | set retHandlerSet to do shell script handlerReg 48 | if (retHandlerSet is equal to "0") then 49 | display dialog "Magnet Handler has now been configured as the default application to handle magnet URIs" buttons {"OK"} with title "Notification" with icon POSIX file (POSIX path of (path to resource "deluge_magnet.icns")) 50 | else 51 | display alert "We were unable to configure Magnet Handler as the default application to handle magnet URIs. 52 | Helper returned error code: " & retHandlerSet as critical 53 | end if 54 | end if 55 | on error number -128 56 | display alert "Unable to complete operation: Error -128" as critical 57 | return 58 | end try 59 | end if 60 | quit -------------------------------------------------------------------------------- /registerHandler/registerHandler.xcodeproj/xcshareddata/xcschemes/registerHandler.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /registerHandler/registerHandler.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 50; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | EB4FE09B21C87F8D002ED688 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB4FE09A21C87F8D002ED688 /* main.swift */; }; 11 | EB4FE0A321C883F4002ED688 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB4FE0A221C883F4002ED688 /* Cocoa.framework */; }; 12 | EB4FE0A521C883FB002ED688 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB4FE0A421C883FB002ED688 /* Foundation.framework */; }; 13 | /* End PBXBuildFile section */ 14 | 15 | /* Begin PBXCopyFilesBuildPhase section */ 16 | EB4FE09521C87F8D002ED688 /* CopyFiles */ = { 17 | isa = PBXCopyFilesBuildPhase; 18 | buildActionMask = 2147483647; 19 | dstPath = /usr/share/man/man1/; 20 | dstSubfolderSpec = 0; 21 | files = ( 22 | ); 23 | runOnlyForDeploymentPostprocessing = 1; 24 | }; 25 | /* End PBXCopyFilesBuildPhase section */ 26 | 27 | /* Begin PBXFileReference section */ 28 | EB4FE09721C87F8D002ED688 /* registerHandler */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = registerHandler; sourceTree = BUILT_PRODUCTS_DIR; }; 29 | EB4FE09A21C87F8D002ED688 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; 30 | EB4FE0A221C883F4002ED688 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 31 | EB4FE0A421C883FB002ED688 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 32 | /* End PBXFileReference section */ 33 | 34 | /* Begin PBXFrameworksBuildPhase section */ 35 | EB4FE09421C87F8D002ED688 /* Frameworks */ = { 36 | isa = PBXFrameworksBuildPhase; 37 | buildActionMask = 2147483647; 38 | files = ( 39 | EB4FE0A521C883FB002ED688 /* Foundation.framework in Frameworks */, 40 | EB4FE0A321C883F4002ED688 /* Cocoa.framework in Frameworks */, 41 | ); 42 | runOnlyForDeploymentPostprocessing = 0; 43 | }; 44 | /* End PBXFrameworksBuildPhase section */ 45 | 46 | /* Begin PBXGroup section */ 47 | EB4FE08E21C87F8D002ED688 = { 48 | isa = PBXGroup; 49 | children = ( 50 | EB4FE09A21C87F8D002ED688 /* main.swift */, 51 | EB4FE09821C87F8D002ED688 /* Products */, 52 | EB4FE0A121C883F4002ED688 /* Frameworks */, 53 | ); 54 | sourceTree = ""; 55 | }; 56 | EB4FE09821C87F8D002ED688 /* Products */ = { 57 | isa = PBXGroup; 58 | children = ( 59 | EB4FE09721C87F8D002ED688 /* registerHandler */, 60 | ); 61 | name = Products; 62 | sourceTree = ""; 63 | }; 64 | EB4FE0A121C883F4002ED688 /* Frameworks */ = { 65 | isa = PBXGroup; 66 | children = ( 67 | EB4FE0A421C883FB002ED688 /* Foundation.framework */, 68 | EB4FE0A221C883F4002ED688 /* Cocoa.framework */, 69 | ); 70 | name = Frameworks; 71 | sourceTree = ""; 72 | }; 73 | /* End PBXGroup section */ 74 | 75 | /* Begin PBXNativeTarget section */ 76 | EB4FE09621C87F8D002ED688 /* registerHandler */ = { 77 | isa = PBXNativeTarget; 78 | buildConfigurationList = EB4FE09E21C87F8D002ED688 /* Build configuration list for PBXNativeTarget "registerHandler" */; 79 | buildPhases = ( 80 | EB4FE09321C87F8D002ED688 /* Sources */, 81 | EB4FE09421C87F8D002ED688 /* Frameworks */, 82 | EB4FE09521C87F8D002ED688 /* CopyFiles */, 83 | ); 84 | buildRules = ( 85 | ); 86 | dependencies = ( 87 | ); 88 | name = registerHandler; 89 | productName = registerHandler; 90 | productReference = EB4FE09721C87F8D002ED688 /* registerHandler */; 91 | productType = "com.apple.product-type.tool"; 92 | }; 93 | /* End PBXNativeTarget section */ 94 | 95 | /* Begin PBXProject section */ 96 | EB4FE08F21C87F8D002ED688 /* Project object */ = { 97 | isa = PBXProject; 98 | attributes = { 99 | LastSwiftUpdateCheck = 1010; 100 | LastUpgradeCheck = 1010; 101 | ORGANIZATIONNAME = "Lord-Kamina"; 102 | TargetAttributes = { 103 | EB4FE09621C87F8D002ED688 = { 104 | CreatedOnToolsVersion = 10.1; 105 | }; 106 | }; 107 | }; 108 | buildConfigurationList = EB4FE09221C87F8D002ED688 /* Build configuration list for PBXProject "registerHandler" */; 109 | compatibilityVersion = "Xcode 9.3"; 110 | developmentRegion = en; 111 | hasScannedForEncodings = 0; 112 | knownRegions = ( 113 | en, 114 | ); 115 | mainGroup = EB4FE08E21C87F8D002ED688; 116 | productRefGroup = EB4FE09821C87F8D002ED688 /* Products */; 117 | projectDirPath = ""; 118 | projectRoot = ""; 119 | targets = ( 120 | EB4FE09621C87F8D002ED688 /* registerHandler */, 121 | ); 122 | }; 123 | /* End PBXProject section */ 124 | 125 | /* Begin PBXSourcesBuildPhase section */ 126 | EB4FE09321C87F8D002ED688 /* Sources */ = { 127 | isa = PBXSourcesBuildPhase; 128 | buildActionMask = 2147483647; 129 | files = ( 130 | EB4FE09B21C87F8D002ED688 /* main.swift in Sources */, 131 | ); 132 | runOnlyForDeploymentPostprocessing = 0; 133 | }; 134 | /* End PBXSourcesBuildPhase section */ 135 | 136 | /* Begin XCBuildConfiguration section */ 137 | EB4FE09C21C87F8D002ED688 /* Debug */ = { 138 | isa = XCBuildConfiguration; 139 | buildSettings = { 140 | ALWAYS_SEARCH_USER_PATHS = NO; 141 | CLANG_ANALYZER_NONNULL = YES; 142 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 143 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 144 | CLANG_CXX_LIBRARY = "libc++"; 145 | CLANG_ENABLE_MODULES = YES; 146 | CLANG_ENABLE_OBJC_ARC = YES; 147 | CLANG_ENABLE_OBJC_WEAK = YES; 148 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 149 | CLANG_WARN_BOOL_CONVERSION = YES; 150 | CLANG_WARN_COMMA = YES; 151 | CLANG_WARN_CONSTANT_CONVERSION = YES; 152 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 153 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 154 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 155 | CLANG_WARN_EMPTY_BODY = YES; 156 | CLANG_WARN_ENUM_CONVERSION = YES; 157 | CLANG_WARN_INFINITE_RECURSION = YES; 158 | CLANG_WARN_INT_CONVERSION = YES; 159 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 160 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 161 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 162 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 163 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 164 | CLANG_WARN_STRICT_PROTOTYPES = YES; 165 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 166 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 167 | CLANG_WARN_UNREACHABLE_CODE = YES; 168 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 169 | CODE_SIGN_IDENTITY = "-"; 170 | COPY_PHASE_STRIP = NO; 171 | DEBUG_INFORMATION_FORMAT = dwarf; 172 | ENABLE_STRICT_OBJC_MSGSEND = YES; 173 | ENABLE_TESTABILITY = YES; 174 | GCC_C_LANGUAGE_STANDARD = gnu11; 175 | GCC_DYNAMIC_NO_PIC = NO; 176 | GCC_NO_COMMON_BLOCKS = YES; 177 | GCC_OPTIMIZATION_LEVEL = 0; 178 | GCC_PREPROCESSOR_DEFINITIONS = ( 179 | "DEBUG=1", 180 | "$(inherited)", 181 | ); 182 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 183 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 184 | GCC_WARN_UNDECLARED_SELECTOR = YES; 185 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 186 | GCC_WARN_UNUSED_FUNCTION = YES; 187 | GCC_WARN_UNUSED_VARIABLE = YES; 188 | MACOSX_DEPLOYMENT_TARGET = 10.14; 189 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 190 | MTL_FAST_MATH = YES; 191 | ONLY_ACTIVE_ARCH = YES; 192 | SDKROOT = macosx; 193 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 194 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 195 | }; 196 | name = Debug; 197 | }; 198 | EB4FE09D21C87F8D002ED688 /* Release */ = { 199 | isa = XCBuildConfiguration; 200 | buildSettings = { 201 | ALWAYS_SEARCH_USER_PATHS = NO; 202 | CLANG_ANALYZER_NONNULL = YES; 203 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 204 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; 205 | CLANG_CXX_LIBRARY = "libc++"; 206 | CLANG_ENABLE_MODULES = YES; 207 | CLANG_ENABLE_OBJC_ARC = YES; 208 | CLANG_ENABLE_OBJC_WEAK = YES; 209 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 210 | CLANG_WARN_BOOL_CONVERSION = YES; 211 | CLANG_WARN_COMMA = YES; 212 | CLANG_WARN_CONSTANT_CONVERSION = YES; 213 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 214 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 215 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 216 | CLANG_WARN_EMPTY_BODY = YES; 217 | CLANG_WARN_ENUM_CONVERSION = YES; 218 | CLANG_WARN_INFINITE_RECURSION = YES; 219 | CLANG_WARN_INT_CONVERSION = YES; 220 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 221 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 222 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 223 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 224 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 225 | CLANG_WARN_STRICT_PROTOTYPES = YES; 226 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 227 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 228 | CLANG_WARN_UNREACHABLE_CODE = YES; 229 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 230 | CODE_SIGN_IDENTITY = "-"; 231 | COPY_PHASE_STRIP = NO; 232 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 233 | ENABLE_NS_ASSERTIONS = NO; 234 | ENABLE_STRICT_OBJC_MSGSEND = YES; 235 | GCC_C_LANGUAGE_STANDARD = gnu11; 236 | GCC_NO_COMMON_BLOCKS = YES; 237 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 238 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 239 | GCC_WARN_UNDECLARED_SELECTOR = YES; 240 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 241 | GCC_WARN_UNUSED_FUNCTION = YES; 242 | GCC_WARN_UNUSED_VARIABLE = YES; 243 | MACOSX_DEPLOYMENT_TARGET = 10.14; 244 | MTL_ENABLE_DEBUG_INFO = NO; 245 | MTL_FAST_MATH = YES; 246 | SDKROOT = macosx; 247 | SWIFT_COMPILATION_MODE = wholemodule; 248 | SWIFT_OPTIMIZATION_LEVEL = "-O"; 249 | }; 250 | name = Release; 251 | }; 252 | EB4FE09F21C87F8D002ED688 /* Debug */ = { 253 | isa = XCBuildConfiguration; 254 | buildSettings = { 255 | CODE_SIGN_IDENTITY = "Mac Developer"; 256 | CODE_SIGN_STYLE = Automatic; 257 | DEVELOPMENT_TEAM = 33JDJVTQZT; 258 | PRODUCT_NAME = "$(TARGET_NAME)"; 259 | PROVISIONING_PROFILE_SPECIFIER = ""; 260 | SWIFT_FORCE_DYNAMIC_LINK_STDLIB = NO; 261 | SWIFT_FORCE_STATIC_LINK_STDLIB = YES; 262 | SWIFT_VERSION = 4.2; 263 | }; 264 | name = Debug; 265 | }; 266 | EB4FE0A021C87F8D002ED688 /* Release */ = { 267 | isa = XCBuildConfiguration; 268 | buildSettings = { 269 | CODE_SIGN_IDENTITY = "Mac Developer"; 270 | CODE_SIGN_STYLE = Automatic; 271 | DEVELOPMENT_TEAM = 33JDJVTQZT; 272 | PRODUCT_NAME = "$(TARGET_NAME)"; 273 | PROVISIONING_PROFILE_SPECIFIER = ""; 274 | SWIFT_FORCE_DYNAMIC_LINK_STDLIB = NO; 275 | SWIFT_FORCE_STATIC_LINK_STDLIB = YES; 276 | SWIFT_VERSION = 4.2; 277 | }; 278 | name = Release; 279 | }; 280 | /* End XCBuildConfiguration section */ 281 | 282 | /* Begin XCConfigurationList section */ 283 | EB4FE09221C87F8D002ED688 /* Build configuration list for PBXProject "registerHandler" */ = { 284 | isa = XCConfigurationList; 285 | buildConfigurations = ( 286 | EB4FE09C21C87F8D002ED688 /* Debug */, 287 | EB4FE09D21C87F8D002ED688 /* Release */, 288 | ); 289 | defaultConfigurationIsVisible = 0; 290 | defaultConfigurationName = Release; 291 | }; 292 | EB4FE09E21C87F8D002ED688 /* Build configuration list for PBXNativeTarget "registerHandler" */ = { 293 | isa = XCConfigurationList; 294 | buildConfigurations = ( 295 | EB4FE09F21C87F8D002ED688 /* Debug */, 296 | EB4FE0A021C87F8D002ED688 /* Release */, 297 | ); 298 | defaultConfigurationIsVisible = 0; 299 | defaultConfigurationName = Release; 300 | }; 301 | /* End XCConfigurationList section */ 302 | }; 303 | rootObject = EB4FE08F21C87F8D002ED688 /* Project object */; 304 | } 305 | --------------------------------------------------------------------------------