diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..04c2cbb --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +xcuserdata/ +xcshareddata/ +.DS_Store + diff --git a/CallbackURLKit.xcodeproj/project.pbxproj b/CallbackURLKit.xcodeproj/project.pbxproj index f030aaa..a05fc15 100644 --- a/CallbackURLKit.xcodeproj/project.pbxproj +++ b/CallbackURLKit.xcodeproj/project.pbxproj @@ -446,7 +446,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; @@ -502,7 +502,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MACOSX_DEPLOYMENT_TARGET = 10.14; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; diff --git a/Package.swift b/Package.swift index 195a916..06437a5 100644 --- a/Package.swift +++ b/Package.swift @@ -24,7 +24,7 @@ import PackageDescription let package = Package( name: "CallbackURLKit", - platforms: [.iOS(.v11), .macOS(.v10_14), .tvOS(.v10)], + platforms: [.iOS(.v9), .macOS(.v10_14), .tvOS(.v10)], products: [ .library(name: "CallbackURLKit", targets: ["CallbackURLKit"]) ], diff --git a/Sources/Manager.swift b/Sources/Manager.swift index f932d7a..89ca750 100644 --- a/Sources/Manager.swift +++ b/Sources/Manager.swift @@ -41,7 +41,7 @@ open class Manager { open var callbackURLScheme: String? - open var callbackQueue: DispatchQueue = .main + open var callbackQueue: DispatchQueue = .global(qos: .background) // .main #if APP_EXTENSIONS /// In case of application extension, put your extensionContext here @@ -252,14 +252,34 @@ open class Manager { extensionContext.open(url, completionHandler: extensionContextCompletionHandler) } else { #if os(iOS) || os(tvOS) - UIApplication.shared.open(url) + guard UIApplication.shared.canOpenURL(url) else { + return + } + if #available(iOS 10.0, tvOS 10.0, *) { + UIApplication.shared.open(url, options: [:]) { success in + _ = success + NSLog("open url \(success)") + } + } else { + UIApplication.shared.openURL(url) + } #elseif os(OSX) NSWorkspace.shared.open(url) #endif } #else #if os(iOS) || os(tvOS) - UIApplication.shared.open(url) + guard UIApplication.shared.canOpenURL(url) else { + return + } + if #available(iOS 10.0, tvOS 10.0, *) { + UIApplication.shared.open(url, options: [:]) { success in + _ = success + NSLog("open url \(success)") + } + } else { + UIApplication.shared.openURL(url) + } #elseif os(OSX) NSWorkspace.shared.open(url) #endif