From 3d96d5cfd9f9e225e245ac952042c1f8d55ee80b Mon Sep 17 00:00:00 2001 From: An Tran Date: Mon, 8 Aug 2022 09:04:25 +0700 Subject: [PATCH] Add iOS 11 support --- Package.swift | 2 +- .../Classes/Browser/FlagsBrowserController.swift | 12 ++++++------ .../RealFlags/Classes/Providers/FlagsProvider.swift | 9 +++++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Package.swift b/Package.swift index 0fe7958..c37d666 100644 --- a/Package.swift +++ b/Package.swift @@ -6,7 +6,7 @@ import PackageDescription let package = Package( name: "RealFlags", platforms: [ - .iOS(.v13) + .iOS(.v11), ], products: [ .library(name: "RealFlags", targets: ["RealFlags"]), diff --git a/RealFlags/Sources/RealFlags/Classes/Browser/FlagsBrowserController.swift b/RealFlags/Sources/RealFlags/Classes/Browser/FlagsBrowserController.swift index 0b96d29..bf7f835 100644 --- a/RealFlags/Sources/RealFlags/Classes/Browser/FlagsBrowserController.swift +++ b/RealFlags/Sources/RealFlags/Classes/Browser/FlagsBrowserController.swift @@ -297,7 +297,7 @@ public class FlagsBrowserController: UIViewController { case let collection as AnyFlagCollection: return FlagBrowserItem(title: collection.name, subtitle: collection.description, - icon: UIImage(named: "datatype_list", in: .libraryBundle, with: nil), + icon: UIImage(named: "datatype_list", in: .libraryBundle, compatibleWith: nil), accessoryType: .disclosureIndicator, selectable: true, representedObj: collection) @@ -484,19 +484,19 @@ extension AnyFlag { // Default data type icons switch dataType { case is String.Type: - return UIImage(named: "datatype_string", in: .libraryBundle, with: .none) + return UIImage(named: "datatype_string", in: .libraryBundle, compatibleWith: nil) case is Bool.Type: - return UIImage(named: "datatype_bool", in: .libraryBundle, with: .none) + return UIImage(named: "datatype_bool", in: .libraryBundle, compatibleWith: nil) case is Int.Type, is Int8.Type, is Int16.Type, is Int32.Type, is Int64.Type: - return UIImage(named: "datatype_number", in: .libraryBundle, with: .none) + return UIImage(named: "datatype_number", in: .libraryBundle, compatibleWith: nil) case is Double.Type: - return UIImage(named: "datatype_number", in: .libraryBundle, with: .none) + return UIImage(named: "datatype_number", in: .libraryBundle, compatibleWith: nil) case is JSONData.Type: - return UIImage(named: "datatype_json", in: .libraryBundle, with: .none) + return UIImage(named: "datatype_json", in: .libraryBundle, compatibleWith: nil) default: return nil diff --git a/RealFlags/Sources/RealFlags/Classes/Providers/FlagsProvider.swift b/RealFlags/Sources/RealFlags/Classes/Providers/FlagsProvider.swift index 91bf332..75d3cfd 100644 --- a/RealFlags/Sources/RealFlags/Classes/Providers/FlagsProvider.swift +++ b/RealFlags/Sources/RealFlags/Classes/Providers/FlagsProvider.swift @@ -10,7 +10,7 @@ // Licensed under MIT License. // -#if !os(Linux) +#if canImport(Combine) import Combine #endif @@ -47,13 +47,14 @@ public protocol FlagsProvider { /// Reset the value for keypath; it will remove the value from the record of the flag provider. func resetValueForFlag(key: FlagKeyPath) throws - #if !os(Linux) + #if canImport(Combine) // Apple platform also support Combine framework to provide realtime notification of new events to any subscriber. // By default it does nothing (take a look to the default implementation in extension below). /// You can use this value to receive updates when keys did updated in sources. /// /// - Parameter keys: updated keys; may be `nil` if your provider does not support this kind of granularity. + @available(iOS 13.0, macOS 10.15, *) func didUpdateValuesForKeys(_ keys: Set?) -> AnyPublisher, Never>? #endif @@ -62,12 +63,12 @@ public protocol FlagsProvider { // MARK: - FlagsProvider (Default Publisher Behaviour) -#if !os(Linux) +#if canImport(Combine) /// Make support for real-time flag updates optional by providing a default nil implementation /// public extension FlagsProvider { - + @available(iOS 13.0, macOS 10.15, *) func didUpdateValuesForKeys(_ keys: Set?) -> AnyPublisher, Never>? { nil }