From 089a69780917a91577fd664132858ebda856885e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C5=93ur?= Date: Sun, 26 Nov 2023 05:01:44 +0100 Subject: [PATCH] build: Xcode 11.3.1 compatibility (#6292) --- macosx/DefaultAppHelper.mm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/macosx/DefaultAppHelper.mm b/macosx/DefaultAppHelper.mm index 099badc09..ff8ec8ee5 100644 --- a/macosx/DefaultAppHelper.mm +++ b/macosx/DefaultAppHelper.mm @@ -5,11 +5,14 @@ #import "DefaultAppHelper.h" #import +#ifdef __MAC_12_0 #import +#endif static NSString* const kMagnetURLScheme = @"magnet"; static NSString* const kTorrentFileType = @"org.bittorrent.torrent"; +#ifdef __MAC_12_0 UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0)) { static UTType* result = nil; @@ -21,6 +24,7 @@ UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0)) return result; } +#endif @interface DefaultAppHelper () @@ -41,6 +45,7 @@ UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0)) - (BOOL)isDefaultForTorrentFiles { +#ifdef __MAC_12_0 if (@available(macOS 12, *)) { UTType* fileType = GetTorrentFileType(); @@ -58,8 +63,9 @@ UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0)) } } else +#endif { - NSString* bundleId = (__bridge NSString*)LSCopyDefaultRoleHandlerForContentType((__bridge CFStringRef)kTorrentFileType, kLSRolesViewer); + NSString* bundleId = (__bridge_transfer NSString*)LSCopyDefaultRoleHandlerForContentType((__bridge CFStringRef)kTorrentFileType, kLSRolesViewer); if (!bundleId) { return NO; @@ -76,6 +82,7 @@ UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0)) - (void)setDefaultForTorrentFiles:(void (^_Nullable)())completionHandler { +#ifdef __MAC_12_0 if (@available(macOS 12, *)) { UTType* fileType = GetTorrentFileType(); @@ -94,6 +101,7 @@ UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0)) }]; } else +#endif { OSStatus const result = LSSetDefaultRoleHandlerForContentType( (__bridge CFStringRef)kTorrentFileType, @@ -130,7 +138,7 @@ UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0)) } else { - NSString* bundleId = (__bridge NSString*)LSCopyDefaultHandlerForURLScheme((__bridge CFStringRef)kMagnetURLScheme); + NSString* bundleId = (__bridge_transfer NSString*)LSCopyDefaultHandlerForURLScheme((__bridge CFStringRef)kMagnetURLScheme); if (!bundleId) { return NO; @@ -147,6 +155,7 @@ UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0)) - (void)setDefaultForMagnetURLs:(void (^_Nullable)())completionHandler { +#ifdef __MAC_12_0 if (@available(macOS 12, *)) { NSURL* appUrl = [NSWorkspace.sharedWorkspace URLForApplicationWithBundleIdentifier:self.bundleIdentifier]; @@ -165,6 +174,7 @@ UTType* GetTorrentFileType(void) API_AVAILABLE(macos(11.0)) }]; } else +#endif { OSStatus const result = LSSetDefaultHandlerForURLScheme( (__bridge CFStringRef)kMagnetURLScheme,