diff --git a/Package.resolved b/Package.resolved index dfea954..81457da 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" } }, { @@ -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" : "f5883c85893eb38eb210fa3e71e2aa2f1ebdad43" } }, { @@ -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" } }, { @@ -90,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", @@ -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 7760885..d6e3acc 100644 --- a/Package.swift +++ b/Package.swift @@ -7,6 +7,7 @@ let package = Package( name: "FCL-SDK", platforms: [ .iOS(.v13), + .macOS(.v10_15) ], products: [ .library( @@ -15,9 +16,9 @@ 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/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"), ], 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..bde6862 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) 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