From f8688d8ea74ce864bb90dc116f68534d0e1c183c Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Fri, 8 Apr 2022 11:34:05 +0800 Subject: [PATCH 1/6] support iOS 9.0 --- .gitignore | 4 ++++ CallbackURLKit.xcodeproj/project.pbxproj | 4 ++-- Package.swift | 2 +- Sources/Manager.swift | 12 ++++++++++-- 4 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 .gitignore 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..9c3118c 100644 --- a/Sources/Manager.swift +++ b/Sources/Manager.swift @@ -252,14 +252,22 @@ open class Manager { extensionContext.open(url, completionHandler: extensionContextCompletionHandler) } else { #if os(iOS) || os(tvOS) - UIApplication.shared.open(url) + if #available(iOS 10.0, *) { + UIApplication.shared.open(url) + } else { + UIApplication.shared.openURL(url) + } #elseif os(OSX) NSWorkspace.shared.open(url) #endif } #else #if os(iOS) || os(tvOS) - UIApplication.shared.open(url) + if #available(iOS 10.0, *) { + UIApplication.shared.open(url) + } else { + UIApplication.shared.openURL(url) + } #elseif os(OSX) NSWorkspace.shared.open(url) #endif From 9b28ed7a544815fecd0cbacab57dd2f28efc5d40 Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Fri, 8 Apr 2022 11:51:02 +0800 Subject: [PATCH 2/6] minor changes --- Sources/Manager.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/Manager.swift b/Sources/Manager.swift index 9c3118c..b4270f6 100644 --- a/Sources/Manager.swift +++ b/Sources/Manager.swift @@ -252,7 +252,7 @@ open class Manager { extensionContext.open(url, completionHandler: extensionContextCompletionHandler) } else { #if os(iOS) || os(tvOS) - if #available(iOS 10.0, *) { + if #available(iOS 10.0, tvOS 10.0, *) { UIApplication.shared.open(url) } else { UIApplication.shared.openURL(url) @@ -263,7 +263,7 @@ open class Manager { } #else #if os(iOS) || os(tvOS) - if #available(iOS 10.0, *) { + if #available(iOS 10.0, tvOS 10.0, *) { UIApplication.shared.open(url) } else { UIApplication.shared.openURL(url) From b52d5824d1e45c1c686e0fe0d369f12e9c016015 Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Mon, 11 Apr 2022 11:14:31 +0800 Subject: [PATCH 3/6] dead lock EXC_CRASH (SIGKILL) 0xdead10cc deadlock issues --- Sources/Manager.swift | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Sources/Manager.swift b/Sources/Manager.swift index b4270f6..82257a7 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,8 +252,13 @@ open class Manager { extensionContext.open(url, completionHandler: extensionContextCompletionHandler) } else { #if os(iOS) || os(tvOS) + guard UIApplication.shared.canOpenURL(url) else { + return + } if #available(iOS 10.0, tvOS 10.0, *) { - UIApplication.shared.open(url) + UIApplication.shared.open(url, options: [:]) { sussess in + NSLog("open url \(success)") + } } else { UIApplication.shared.openURL(url) } @@ -263,8 +268,13 @@ open class Manager { } #else #if os(iOS) || os(tvOS) + guard UIApplication.shared.canOpenURL(url) else { + return + } if #available(iOS 10.0, tvOS 10.0, *) { - UIApplication.shared.open(url) + UIApplication.shared.open(url, options:[:]) { success in + NSLog("open url \(success)") + } } else { UIApplication.shared.openURL(url) } From 2fff27b533a4370ca37f9906f82bab9f477f1838 Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Thu, 21 Apr 2022 10:48:03 +0800 Subject: [PATCH 4/6] Update Manager.swift --- Sources/Manager.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Sources/Manager.swift b/Sources/Manager.swift index 82257a7..9fbe4af 100644 --- a/Sources/Manager.swift +++ b/Sources/Manager.swift @@ -257,6 +257,7 @@ open class Manager { } if #available(iOS 10.0, tvOS 10.0, *) { UIApplication.shared.open(url, options: [:]) { sussess in + let _ = sussess NSLog("open url \(success)") } } else { @@ -272,7 +273,8 @@ open class Manager { return } if #available(iOS 10.0, tvOS 10.0, *) { - UIApplication.shared.open(url, options:[:]) { success in + UIApplication.shared.open(url, options: [:]) { success in + let _ = sussess NSLog("open url \(success)") } } else { From e58a560b5c63333cd7349ca8dcd920bbacba3b6e Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Thu, 21 Apr 2022 10:53:26 +0800 Subject: [PATCH 5/6] Update Manager.swift --- Sources/Manager.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sources/Manager.swift b/Sources/Manager.swift index 9fbe4af..6f2ddf8 100644 --- a/Sources/Manager.swift +++ b/Sources/Manager.swift @@ -257,7 +257,7 @@ open class Manager { } if #available(iOS 10.0, tvOS 10.0, *) { UIApplication.shared.open(url, options: [:]) { sussess in - let _ = sussess + _ = sussess NSLog("open url \(success)") } } else { @@ -274,7 +274,7 @@ open class Manager { } if #available(iOS 10.0, tvOS 10.0, *) { UIApplication.shared.open(url, options: [:]) { success in - let _ = sussess + _ = sussess NSLog("open url \(success)") } } else { From 7a4ce4fd9ae70f5e391391e1e3ba443ade3c33a1 Mon Sep 17 00:00:00 2001 From: ssrlive <30760636+ssrlive@users.noreply.github.com> Date: Sun, 24 Apr 2022 17:44:15 +0800 Subject: [PATCH 6/6] minor --- Sources/Manager.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/Manager.swift b/Sources/Manager.swift index 6f2ddf8..89ca750 100644 --- a/Sources/Manager.swift +++ b/Sources/Manager.swift @@ -256,8 +256,8 @@ open class Manager { return } if #available(iOS 10.0, tvOS 10.0, *) { - UIApplication.shared.open(url, options: [:]) { sussess in - _ = sussess + UIApplication.shared.open(url, options: [:]) { success in + _ = success NSLog("open url \(success)") } } else { @@ -274,7 +274,7 @@ open class Manager { } if #available(iOS 10.0, tvOS 10.0, *) { UIApplication.shared.open(url, options: [:]) { success in - _ = sussess + _ = success NSLog("open url \(success)") } } else {