From 413cf04c14aa510e5f6b7642f26053e784601f46 Mon Sep 17 00:00:00 2001 From: andrew54068 Date: Fri, 30 Sep 2022 01:20:04 +0800 Subject: [PATCH 1/8] feat: support macOS 12. --- Package.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Package.swift b/Package.swift index 7760885..057ed3d 100644 --- a/Package.swift +++ b/Package.swift @@ -7,6 +7,7 @@ let package = Package( name: "FCL-SDK", platforms: [ .iOS(.v13), + .macOS(.v12), ], products: [ .library( From 51e6a7eb6d244748b3f83b3d9664e0108149d4cf Mon Sep 17 00:00:00 2001 From: andrew54068 Date: Sun, 2 Oct 2022 01:45:39 +0800 Subject: [PATCH 2/8] feat: support macOS. --- Package.resolved | 4 ++-- Package.swift | 4 ++-- Sources/FCL-SDK/FCL.swift | 8 ++++++-- Sources/FCL-SDK/Network/URLSessionExtension.swift | 2 +- Sources/FCL-SDK/User/Service/Service.swift | 1 - Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift | 2 ++ .../FCL-SDK/WalletProviderSelectionViewController.swift | 2 ++ 7 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Package.resolved b/Package.resolved index dfea954..ef457fd 100644 --- a/Package.resolved +++ b/Package.resolved @@ -23,8 +23,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/portto/blocto-ios-sdk.git", "state" : { - "revision" : "1443ba05fc6dbb66128d2297945ec9a955a4afef", - "version" : "0.3.8" + "branch" : "feat/support-macos", + "revision" : "7ed2ebdf2da7fb9b4fbc67a7dc353471039c5156" } }, { diff --git a/Package.swift b/Package.swift index 057ed3d..6cb8989 100644 --- a/Package.swift +++ b/Package.swift @@ -7,7 +7,7 @@ let package = Package( name: "FCL-SDK", platforms: [ .iOS(.v13), - .macOS(.v12), + .macOS(.v10_15) ], products: [ .library( @@ -18,7 +18,7 @@ let package = Package( dependencies: [ .package(url: "https://github.com/portto/flow-swift-sdk.git", .upToNextMajor(from: "0.4.0")), .package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "4.0.0"), - .package(url: "https://github.com/portto/blocto-ios-sdk.git", .upToNextMinor(from: "0.3.8")), + .package(url: "https://github.com/portto/blocto-ios-sdk.git", branch: "feat/support-macos"), ], targets: [ .target( diff --git a/Sources/FCL-SDK/FCL.swift b/Sources/FCL-SDK/FCL.swift index ee536fb..800965c 100644 --- a/Sources/FCL-SDK/FCL.swift +++ b/Sources/FCL-SDK/FCL.swift @@ -57,6 +57,7 @@ public class FCL: NSObject { // Authn public func authanticate(accountProofData: FCLAccountProofData?) async throws -> Address { do { + #if canImport(UIKit) let walletProvider: WalletProvider if let provider = config.selectedWalletProvider { walletProvider = provider @@ -64,11 +65,13 @@ public class FCL: NSObject { if config.walletProviderCandidates.isEmpty == false { walletProvider = try await selectionProvider() fcl.config.selectedWalletProvider = walletProvider + } else { throw FCLError.walletProviderNotSpecified } } try await walletProvider.authn(accountProofData: accountProofData) + #endif guard let user = currentUser else { throw FCLError.userNotFound } @@ -217,6 +220,7 @@ public class FCL: NSObject { ) } + #if canImport(UIKit) func getKeyWindow() -> UIWindow? { UIApplication.shared.connectedScenes .filter { $0.activationState == .foregroundActive } @@ -256,7 +260,7 @@ public class FCL: NSObject { } return topController } - + #endif } // MARK: ASWebAuthenticationPresentationContextProviding @@ -388,7 +392,7 @@ extension FCL { guard let walletProvider = fcl.config.selectedWalletProvider else { throw FCLError.walletProviderNotSpecified } - + let items = fcl.config.addressReplacements let newCadence = items.reduce(cadence) { result, replacement in result.replacingOccurrences(of: replacement.placeholder, with: replacement.replacement.hexStringWithPrefix) diff --git a/Sources/FCL-SDK/Network/URLSessionExtension.swift b/Sources/FCL-SDK/Network/URLSessionExtension.swift index cad9f61..b9590dd 100644 --- a/Sources/FCL-SDK/Network/URLSessionExtension.swift +++ b/Sources/FCL-SDK/Network/URLSessionExtension.swift @@ -5,7 +5,7 @@ // Created by Andrew Wang on 2022/7/6. // -import UIKit +import Foundation extension URLSession { diff --git a/Sources/FCL-SDK/User/Service/Service.swift b/Sources/FCL-SDK/User/Service/Service.swift index 02f1deb..d6e0a10 100644 --- a/Sources/FCL-SDK/User/Service/Service.swift +++ b/Sources/FCL-SDK/User/Service/Service.swift @@ -7,7 +7,6 @@ import Foundation import SwiftyJSON -import UIKit public struct Service: Decodable { let fclType: String? diff --git a/Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift b/Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift index 0f9450a..612cdff 100644 --- a/Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift +++ b/Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift @@ -5,6 +5,7 @@ // Created by Andrew Wang on 2022/7/5. // +#if canImport(UIKit) && os(OSX) import Foundation import UIKit import FlowSDK @@ -312,3 +313,4 @@ public final class BloctoWalletProvider: WalletProvider { } } +#endif diff --git a/Sources/FCL-SDK/WalletProviderSelectionViewController.swift b/Sources/FCL-SDK/WalletProviderSelectionViewController.swift index c0d74fd..046f67d 100644 --- a/Sources/FCL-SDK/WalletProviderSelectionViewController.swift +++ b/Sources/FCL-SDK/WalletProviderSelectionViewController.swift @@ -6,6 +6,7 @@ // import Foundation +#if canImport(UIKit) import UIKit final class WalletProviderSelectionViewController: UIViewController { @@ -187,3 +188,4 @@ extension WalletProviderSelectionViewController: UIAdaptivePresentationControlle } } +#endif From 633a7a2d29f528bebc4f19fb1db08815a8cd54d2 Mon Sep 17 00:00:00 2001 From: andrew54068 Date: Mon, 10 Oct 2022 23:33:25 +0800 Subject: [PATCH 3/8] fix: be able to compile in linux. --- Package.resolved | 6 +++--- Package.swift | 2 +- Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Package.resolved b/Package.resolved index ef457fd..30319c3 100644 --- a/Package.resolved +++ b/Package.resolved @@ -156,10 +156,10 @@ { "identity" : "swiftyjson", "kind" : "remoteSourceControl", - "location" : "https://github.com/SwiftyJSON/SwiftyJSON.git", + "location" : "https://github.com/andrew54068/SwiftyJSON", "state" : { - "revision" : "2b6054efa051565954e1d2b9da831680026cd768", - "version" : "4.3.0" + "branch" : "fix/linux", + "revision" : "2df349f10abf37be9907735f911afb62b10ea7c2" } }, { diff --git a/Package.swift b/Package.swift index 6cb8989..23d6292 100644 --- a/Package.swift +++ b/Package.swift @@ -17,7 +17,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/portto/flow-swift-sdk.git", .upToNextMajor(from: "0.4.0")), - .package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "4.0.0"), + .package(url: "https://github.com/andrew54068/SwiftyJSON", branch: "fix/linux"), .package(url: "https://github.com/portto/blocto-ios-sdk.git", branch: "feat/support-macos"), ], targets: [ diff --git a/Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift b/Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift index 612cdff..bde6862 100644 --- a/Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift +++ b/Sources/FCL-SDK/WalletProvider/BloctoWalletProvider.swift @@ -5,7 +5,7 @@ // Created by Andrew Wang on 2022/7/5. // -#if canImport(UIKit) && os(OSX) +#if canImport(UIKit) import Foundation import UIKit import FlowSDK From 537859ec3e4bbd1c440bbcc192aee1e4d7444222 Mon Sep 17 00:00:00 2001 From: andrew54068 Date: Wed, 12 Oct 2022 00:46:56 +0800 Subject: [PATCH 4/8] fix: build for linux. --- Package.resolved | 19 +++++-------------- Package.swift | 2 +- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/Package.resolved b/Package.resolved index 30319c3..bb82cda 100644 --- a/Package.resolved +++ b/Package.resolved @@ -41,8 +41,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/portto/flow-swift-sdk.git", "state" : { - "revision" : "1467c999cd076e7607e3575364a52693613d19f8", - "version" : "0.4.0" + "branch" : "feat/linux", + "revision" : "3a96fdd43fa5b1fa721c193b3e0a7ab669ca508a" } }, { @@ -63,22 +63,13 @@ "version" : "2.2.4" } }, - { - "identity" : "secp256k1", - "kind" : "remoteSourceControl", - "location" : "https://github.com/portto/secp256k1.git", - "state" : { - "revision" : "6864a2560066cedede330c4b344689432a7300f7", - "version" : "0.0.5" - } - }, { "identity" : "secp256k1.swift", "kind" : "remoteSourceControl", - "location" : "https://github.com/portto/secp256k1.swift", + "location" : "https://github.com/GigaBitcoin/secp256k1.swift.git", "state" : { - "revision" : "23aa6bab1f60e513297d0d58a863418f68534e56", - "version" : "0.7.4" + "revision" : "39dd39248e769ea88253a0ce300399b402a64529", + "version" : "0.9.2" } }, { diff --git a/Package.swift b/Package.swift index 23d6292..d6e3acc 100644 --- a/Package.swift +++ b/Package.swift @@ -16,7 +16,7 @@ let package = Package( ), ], dependencies: [ - .package(url: "https://github.com/portto/flow-swift-sdk.git", .upToNextMajor(from: "0.4.0")), + .package(url: "https://github.com/portto/flow-swift-sdk.git", branch: "feat/linux"), .package(url: "https://github.com/andrew54068/SwiftyJSON", branch: "fix/linux"), .package(url: "https://github.com/portto/blocto-ios-sdk.git", branch: "feat/support-macos"), ], From b515888006bb3d2240567ff701408474d0f1e01b Mon Sep 17 00:00:00 2001 From: andrew54068 Date: Wed, 12 Oct 2022 02:04:50 +0800 Subject: [PATCH 5/8] chore: upgrade dependency. --- Package.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.resolved b/Package.resolved index bb82cda..80d425e 100644 --- a/Package.resolved +++ b/Package.resolved @@ -42,7 +42,7 @@ "location" : "https://github.com/portto/flow-swift-sdk.git", "state" : { "branch" : "feat/linux", - "revision" : "3a96fdd43fa5b1fa721c193b3e0a7ab669ca508a" + "revision" : "61b975a7844f2c1fdb69a931564ee49977a45f66" } }, { From 55f4e2ee304f209f0df95e2c33f83d54aa020fb8 Mon Sep 17 00:00:00 2001 From: andrew54068 Date: Wed, 12 Oct 2022 02:29:28 +0800 Subject: [PATCH 6/8] chore: upgrade dependency. --- Package.resolved | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Package.resolved b/Package.resolved index 80d425e..6dbce0e 100644 --- a/Package.resolved +++ b/Package.resolved @@ -42,7 +42,7 @@ "location" : "https://github.com/portto/flow-swift-sdk.git", "state" : { "branch" : "feat/linux", - "revision" : "61b975a7844f2c1fdb69a931564ee49977a45f66" + "revision" : "19cebf9700e25e5f9d7a67d5efc18e1b855c30dd" } }, { @@ -81,6 +81,15 @@ "version" : "0.0.4" } }, + { + "identity" : "swift-crypto", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-crypto.git", + "state" : { + "revision" : "d9825fa541df64b1a7b182178d61b9a82730d01f", + "version" : "2.1.0" + } + }, { "identity" : "swift-log", "kind" : "remoteSourceControl", From 467cac921dfdcfb815fe21646a6cf8b1286eb12c Mon Sep 17 00:00:00 2001 From: andrew54068 Date: Wed, 12 Oct 2022 02:40:22 +0800 Subject: [PATCH 7/8] chore: upgrade dependency. --- Package.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.resolved b/Package.resolved index 6dbce0e..69259a0 100644 --- a/Package.resolved +++ b/Package.resolved @@ -42,7 +42,7 @@ "location" : "https://github.com/portto/flow-swift-sdk.git", "state" : { "branch" : "feat/linux", - "revision" : "19cebf9700e25e5f9d7a67d5efc18e1b855c30dd" + "revision" : "00d8a35b589e7e0fec942898c9b53e7c433f0ba5" } }, { From 6fd32146752420ef7d0d15c5f12ef1953c13f6c9 Mon Sep 17 00:00:00 2001 From: andrew54068 Date: Wed, 12 Oct 2022 02:59:22 +0800 Subject: [PATCH 8/8] chore: upgrade dependency. --- Package.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.resolved b/Package.resolved index 69259a0..81457da 100644 --- a/Package.resolved +++ b/Package.resolved @@ -42,7 +42,7 @@ "location" : "https://github.com/portto/flow-swift-sdk.git", "state" : { "branch" : "feat/linux", - "revision" : "00d8a35b589e7e0fec942898c9b53e7c433f0ba5" + "revision" : "f5883c85893eb38eb210fa3e71e2aa2f1ebdad43" } }, {