diff --git a/Package.resolved b/Package.resolved index fa33e2b..2fb4298 100644 --- a/Package.resolved +++ b/Package.resolved @@ -1,10 +1,10 @@ { - "originHash" : "57d4d1724511f49da67a759e590ddf12887d65ffb0702ad7a2ff8f6c830c9b78", + "originHash" : "33e7d52ad13cf774717778548edb365d33ff62d766d0049165bc8970f19a23ef", "pins" : [ { "identity" : "lcecryptokitbinary", - "kind" : "remoteSourceControl", - "location" : "https://60c260c85d3a2fe840411b0ff98f521b5eca3c56@git.loverde.com.br/Loverde-Company-LTDA/LCECryptoKitBinary.git", + "kind" : "localSourceControl", + "location" : "/Users/loverde_co/Documents/Loverde_JOBs/Producao/Loverde Co/GIT/XCODE/Repositorios/LCECryptoKit/PrivateLib/LCECryptoKitBinary", "state" : { "revision" : "2c5c47cebef40a8adc5557d071a35be405c05e30", "version" : "1.0.2" diff --git a/Package.swift b/Package.swift index 0c0ec3c..b9103d8 100644 --- a/Package.swift +++ b/Package.swift @@ -3,6 +3,23 @@ import PackageDescription import Foundation let isLocalDevelopment = FileManager.default.fileExists(atPath: "../LCECryptoKit/PrivateLib/LCECryptoKitBinary") +let enableCryptoBinary = ProcessInfo.processInfo.environment["LCE_ENABLE_CRYPTO_BINARY"] != "0" + +let cryptoPackageURL = isLocalDevelopment + ? "../LCECryptoKit/PrivateLib/LCECryptoKitBinary" + : "https://60c260c85d3a2fe840411b0ff98f521b5eca3c56@git.loverde.com.br/Loverde-Company-LTDA/LCECryptoKitBinary.git" + +let packageDependencies: [Package.Dependency] = enableCryptoBinary + ? [ + .package(url: cryptoPackageURL, exact: "1.0.2") + ] + : [] + +let targetDependencies: [Target.Dependency] = enableCryptoBinary + ? [ + .product(name: "LCECryptoKit", package: "lcecryptokitbinary") + ] + : [] let package = Package( name: "LCEssentials", @@ -17,17 +34,10 @@ let package = Package( name: "LCEssentials", targets: ["LCEssentials"]), ], - dependencies: [ - .package( - url: isLocalDevelopment ? - "../LCECryptoKit/PrivateLib/LCECryptoKitBinary" : - "https://60c260c85d3a2fe840411b0ff98f521b5eca3c56@git.loverde.com.br/Loverde-Company-LTDA/LCECryptoKitBinary.git", - exact: "1.0.2" - ) - ], + dependencies: packageDependencies, targets: [ .target( name: "LCEssentials", - dependencies: [.product(name: "LCECryptoKit", package: "lcecryptokitbinary")]), + dependencies: targetDependencies), ] ) diff --git a/Sources/LCEssentials/Classes/GifHelper.swift b/Sources/LCEssentials/Classes/GifHelper.swift index 41528cd..f965288 100644 --- a/Sources/LCEssentials/Classes/GifHelper.swift +++ b/Sources/LCEssentials/Classes/GifHelper.swift @@ -5,8 +5,10 @@ // Created by iOSDevCenters on 11/12/15. // Copyright © 2016 iOSDevCenters. All rights reserved. // +#if canImport(UIKit) import UIKit -#if os(iOS) || os(macOS) +#endif +#if canImport(UIKit) import ImageIO //let jeremyGif = UIImage.gifWithName("jeremy") diff --git a/Sources/LCEssentials/Classes/LCECrypto.swift b/Sources/LCEssentials/Classes/LCECrypto.swift index 315f091..f40482b 100644 --- a/Sources/LCEssentials/Classes/LCECrypto.swift +++ b/Sources/LCEssentials/Classes/LCECrypto.swift @@ -21,6 +21,8 @@ import Foundation + +#if canImport(LCECryptoKit) import LCECryptoKit public final class LCECryptoKitManager { @@ -57,3 +59,38 @@ public final class LCECryptoKitManager { LCECryptoKit.decodeSeed(otpKey: otpHash, hashKey: self.hashKey) } } +#else + +public final class LCECryptoKitManager { + + private let hashKey: String + + public init() { + self.hashKey = "" + } + + public init(privateKey: String){ + self.hashKey = privateKey + } + + public static func generateKey() -> String { + "" + } + + public func encodeTP(email: String, password: String) -> String? { + nil + } + + public func decodeOTP(_ otpHash: String) -> String? { + nil + } + + public func encodeOTPWithKey(email: String, password: String) -> String? { + nil + } + + public func decodeOTPWithKey(_ otpHash: String) -> Bool { + false + } +} +#endif diff --git a/Sources/LCEssentials/Classes/LCEssentials+API.swift b/Sources/LCEssentials/Classes/LCEssentials+API.swift index 9600007..f040d78 100644 --- a/Sources/LCEssentials/Classes/LCEssentials+API.swift +++ b/Sources/LCEssentials/Classes/LCEssentials+API.swift @@ -26,8 +26,10 @@ import Foundation import Security #endif #if canImport(UIKit) +#if canImport(UIKit) import UIKit #endif +#endif /// A generic `Result` enumeration to represent either a success `Value` or a failure `Error`. public enum Result { diff --git a/Sources/LCEssentials/Classes/LCEssentials.swift b/Sources/LCEssentials/Classes/LCEssentials.swift index 65ada18..7d5f4da 100644 --- a/Sources/LCEssentials/Classes/LCEssentials.swift +++ b/Sources/LCEssentials/Classes/LCEssentials.swift @@ -21,8 +21,12 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif +#if canImport(AVFoundation) import AVFoundation +#endif #if os(watchOS) import WatchKit #endif @@ -155,7 +159,7 @@ public struct LCEssentials { diskPath: "file_cache" ) - #if os(iOS) || os(macOS) + #if canImport(UIKit) /// Extract the file name from the file path /// /// - Parameter filePath: Full file path in bundle @@ -266,7 +270,11 @@ public struct LCEssentials { /// - LoverdeCo: Check if app is running in debug mode. @MainActor public static var isInDebuggingMode: Bool { + #if canImport(UIKit) return UIApplication.inferredEnvironment == .debug + #else + return false + #endif } #if !os(macOS) @@ -416,7 +424,7 @@ public struct LCEssentials { // MARK: - Methods public extension LCEssentials { - #if os(iOS) || os(macOS) + #if canImport(UIKit) /// - LoverdeCo: Share link with message /// /// - Parameters: diff --git a/Sources/LCEssentials/Classes/LCSingleton.swift b/Sources/LCEssentials/Classes/LCSingleton.swift index d183a11..cc61548 100644 --- a/Sources/LCEssentials/Classes/LCSingleton.swift +++ b/Sources/LCEssentials/Classes/LCSingleton.swift @@ -20,7 +20,9 @@ // THE SOFTWARE. import Foundation +#if canImport(UIKit) import UIKit +#endif @objc public protocol LCESingletonDelegate: AnyObject { @objc optional func singleton(object: Any?, withData: Any) diff --git a/Sources/LCEssentials/Extensions/LCEssentials+Array.swift b/Sources/LCEssentials/Extensions/LCEssentials+Array.swift index ed7d22e..a5b3df0 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+Array.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+Array.swift @@ -21,7 +21,9 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif // MARK: - Methods (Equatable) public extension Array where Element: Equatable { @@ -148,6 +150,7 @@ public extension Array where Element: Equatable { } } +#if canImport(UIKit) extension Array where Element == NSLayoutConstraint { @MainActor @@ -169,3 +172,5 @@ extension Array where Element == NSLayoutConstraint { } } } + +#endif diff --git a/Sources/LCEssentials/Extensions/LCEssentials+Data.swift b/Sources/LCEssentials/Extensions/LCEssentials+Data.swift index e90d508..e60b9ef 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+Data.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+Data.swift @@ -21,8 +21,12 @@ import Foundation +#if canImport(CryptoKit) import CryptoKit +#endif +#if canImport(CommonCrypto) import CommonCrypto +#endif public extension Data { @@ -68,20 +72,28 @@ public extension Data { self = data } - + @available(iOS 13.0, *) func HMACSHA512(key: Data) -> Data { +#if canImport(CryptoKit) var hmac = HMAC.init(key: SymmetricKey(data: key)) hmac.update(data: self) return Data(hmac.finalize()) +#else + return Data() +#endif } func SHA512() -> Data { +#if canImport(CommonCrypto) var digest = [UInt8](repeating: 0, count: Int(CC_SHA512_DIGEST_LENGTH)) self.withUnsafeBytes { _ = CC_SHA512($0.baseAddress, CC_LONG(self.count), &digest) } return Data(digest) +#else + return Data() +#endif } func XOR(with other: Data) -> Data { @@ -89,11 +101,15 @@ public extension Data { } func SHA256() -> Data { +#if canImport(CommonCrypto) var digest = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH)) self.withUnsafeBytes { _ = CC_SHA256($0.baseAddress, CC_LONG(self.count), &digest) } return Data(digest) +#else + return Data() +#endif } func object() -> T? { @@ -124,9 +140,13 @@ public extension Data { ///print("md5Hex: \(md5Hex)") @available(iOS 13.0, *) static func MD5(string: String) -> Data { +#if canImport(CryptoKit) let messageData = string.data(using: .utf8)! let digestData = Insecure.MD5.hash (data: messageData) let digestHex = String(digestData.map { String(format: "%02hhx", $0) }.joined().prefix(32)) return Data(digestHex.utf8) +#else + return Data() +#endif } } diff --git a/Sources/LCEssentials/Extensions/LCEssentials+Dictionary.swift b/Sources/LCEssentials/Extensions/LCEssentials+Dictionary.swift index 27368a6..53d0ffb 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+Dictionary.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+Dictionary.swift @@ -21,7 +21,9 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif public extension Dictionary { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+FileManager.swift b/Sources/LCEssentials/Extensions/LCEssentials+FileManager.swift index fb94fe6..bb517be 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+FileManager.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+FileManager.swift @@ -21,7 +21,9 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif public extension FileManager { @@ -54,7 +56,7 @@ public extension FileManager { } } -#if os(iOS) || os(macOS) +#if canImport(UIKit) func saveImageToDirectory( _ imageWithPath : String, imagem : UIImage ) -> Bool { let data = imagem.pngData() diff --git a/Sources/LCEssentials/Extensions/LCEssentials+NSLayoutConstraints.swift b/Sources/LCEssentials/Extensions/LCEssentials+NSLayoutConstraints.swift index a2d95be..dfd5ba9 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+NSLayoutConstraints.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+NSLayoutConstraints.swift @@ -21,8 +21,11 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif +#if canImport(UIKit) extension NSLayoutConstraint { func constraintWithMultiplier(_ multiplier: CGFloat) -> NSLayoutConstraint { @@ -72,3 +75,4 @@ extension NSLayoutConstraint { return false } } +#endif diff --git a/Sources/LCEssentials/Extensions/LCEssentials+NSMutableAttributedString.swift b/Sources/LCEssentials/Extensions/LCEssentials+NSMutableAttributedString.swift index 1698573..3d3a545 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+NSMutableAttributedString.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+NSMutableAttributedString.swift @@ -21,8 +21,10 @@ import Foundation -#if os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif public extension NSMutableAttributedString { @discardableResult func customize(_ text: String, diff --git a/Sources/LCEssentials/Extensions/LCEssentials+Optional.swift b/Sources/LCEssentials/Extensions/LCEssentials+Optional.swift index e2cd84d..0f93739 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+Optional.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+Optional.swift @@ -20,7 +20,9 @@ // THE SOFTWARE. +#if canImport(UIKit) import UIKit +#endif public extension Optional { /// Get self of default value (if self is nil). diff --git a/Sources/LCEssentials/Extensions/LCEssentials+String.swift b/Sources/LCEssentials/Extensions/LCEssentials+String.swift index ead8b3a..22eb8f4 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+String.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+String.swift @@ -21,7 +21,9 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif #if canImport(CommonCrypto) import CommonCrypto #endif @@ -48,10 +50,14 @@ public extension String { } var convertToHTML: NSAttributedString? { + #if canImport(UIKit) return convertHtmlToAttributedStringWithCSS(font: nil, csscolor: "", lineheight: 0, csstextalign: "") + #else + return convertHtmlToNSAttributedString + #endif } /// Check if string is a valid URL. @@ -646,7 +652,7 @@ public extension String { return strDate?.date(withCurrFormatt: newFormatt, localeIdentifier: localeIdentifier, timeZone: timeZone) } - #if os(iOS) || os(macOS) + #if canImport(UIKit) func height(withConstrainedWidth width: CGFloat, font: UIFont) -> CGFloat { let constraintRect = CGSize(width: width, height: .greatestFiniteMagnitude) let boundingBox = self.boundingRect(with: constraintRect, options: .usesLineFragmentOrigin, attributes: [NSAttributedString.Key.font: font], context: nil) @@ -757,7 +763,7 @@ public extension String { } return self } - +#if canImport(UIKit) /// Converte String para HTML com CSS. /// /// - Parameters: @@ -801,7 +807,8 @@ public extension String { return nil } } - +#endif + /// Float value from string (if applicable). /// /// - Parameter locale: Locale (default is Locale.current) diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIApplication.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIApplication.swift index b66d80f..8bbc050 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIApplication.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIApplication.swift @@ -19,8 +19,10 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#if canImport(UIKit) && os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif public extension UIApplication { /// Application running environment. diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIButton.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIButton.swift index 84db7d9..54f5284 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIButton.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIButton.swift @@ -21,9 +21,11 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif -#if os(iOS) || os(macOS) +#if canImport(UIKit) // MARK: - Properties public extension UIButton { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UICollectionView.swift b/Sources/LCEssentials/Extensions/LCEssentials+UICollectionView.swift index 8e6eed5..543831e 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UICollectionView.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UICollectionView.swift @@ -21,8 +21,10 @@ import Foundation -#if os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif public extension UICollectionView { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIColor.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIColor.swift index a1b4c75..e5056c3 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIColor.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIColor.swift @@ -21,9 +21,11 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif -#if os(iOS) || os(macOS) +#if canImport(UIKit) public extension UIColor { var redValue: CGFloat{ return CIColor(color: self).red } diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIDevice.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIDevice.swift index 93ebf04..db43bb1 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIDevice.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIDevice.swift @@ -21,9 +21,11 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif -#if os(iOS) || os(macOS) +#if canImport(UIKit) public extension UIDevice { static var topNotch: CGFloat { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIImage.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIImage.swift index cad51f3..e56467c 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIImage.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIImage.swift @@ -21,9 +21,11 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif -#if os(iOS) || os(macOS) +#if canImport(UIKit) public extension UIImage { //Extension Required by RoundedButton to create UIImage from UIColor func imageWithColor(color: UIColor) -> UIImage { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIImageView.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIImageView.swift index 5f88ee1..3e37a23 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIImageView.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIImageView.swift @@ -21,9 +21,11 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif -#if os(iOS) || os(macOS) +#if canImport(UIKit) @MainActor public extension UIImageView { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UILabel.swift b/Sources/LCEssentials/Extensions/LCEssentials+UILabel.swift index 4615549..eb13670 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UILabel.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UILabel.swift @@ -21,9 +21,11 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif -#if os(iOS) || os(macOS) +#if canImport(UIKit) public extension UILabel { func lineNumbers() -> Int{ diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UINavigationController.swift b/Sources/LCEssentials/Extensions/LCEssentials+UINavigationController.swift index 35a7ae4..f0ce0a6 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UINavigationController.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UINavigationController.swift @@ -21,8 +21,10 @@ import Foundation -#if os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif import QuartzCore public extension UINavigationController { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIResponder.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIResponder.swift index 387c9e5..79fa37a 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIResponder.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIResponder.swift @@ -21,8 +21,10 @@ import Foundation -#if os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif public extension UIResponder { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIScrollView.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIScrollView.swift index 1bfa710..76cf039 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIScrollView.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIScrollView.swift @@ -21,7 +21,9 @@ #if canImport(UIKit) && !os(watchOS) +#if canImport(UIKit) import UIKit +#endif // MARK: - Methods public extension UIScrollView { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIStackView.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIStackView.swift index 237052b..5aeb723 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIStackView.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIStackView.swift @@ -21,7 +21,9 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif #if os(iOS) // MARK: - Initializers diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UITabBarController.swift b/Sources/LCEssentials/Extensions/LCEssentials+UITabBarController.swift index 2cfe5ff..b467222 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UITabBarController.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UITabBarController.swift @@ -21,8 +21,10 @@ import Foundation -#if os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif public class CustomTabBadge: UILabel { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UITableView.swift b/Sources/LCEssentials/Extensions/LCEssentials+UITableView.swift index 6997458..1438e10 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UITableView.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UITableView.swift @@ -21,9 +21,11 @@ import Foundation +#if canImport(UIKit) import UIKit +#endif -#if os(iOS) || os(macOS) +#if canImport(UIKit) //MARK: - UITableView Animation Cell public typealias UITableViewCellAnimation = (UITableViewCell, IndexPath, UITableView) -> Void diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UITapGestureRecognizer.swift b/Sources/LCEssentials/Extensions/LCEssentials+UITapGestureRecognizer.swift index 4900df4..9082a30 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UITapGestureRecognizer.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UITapGestureRecognizer.swift @@ -21,8 +21,10 @@ import Foundation -#if canImport(UIKit) && os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif public extension UITapGestureRecognizer { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UITextField.swift b/Sources/LCEssentials/Extensions/LCEssentials+UITextField.swift index ce08c4f..57140e1 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UITextField.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UITextField.swift @@ -21,8 +21,10 @@ import Foundation -#if os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif public extension UITextField { diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIView.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIView.swift index e55e228..db5b5d8 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIView.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIView.swift @@ -21,8 +21,10 @@ import Foundation -#if os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif typealias GradientPoints = (startPoint: CGPoint, endPoint: CGPoint) diff --git a/Sources/LCEssentials/Extensions/LCEssentials+UIViewController.swift b/Sources/LCEssentials/Extensions/LCEssentials+UIViewController.swift index 7f95e87..c9a08b6 100644 --- a/Sources/LCEssentials/Extensions/LCEssentials+UIViewController.swift +++ b/Sources/LCEssentials/Extensions/LCEssentials+UIViewController.swift @@ -22,8 +22,10 @@ import Foundation -#if os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif import QuartzCore public enum ToastPosition { diff --git a/Sources/LCEssentials/ImagePicker/ImagePickerController.swift b/Sources/LCEssentials/ImagePicker/ImagePickerController.swift index c627beb..134fa64 100644 --- a/Sources/LCEssentials/ImagePicker/ImagePickerController.swift +++ b/Sources/LCEssentials/ImagePicker/ImagePickerController.swift @@ -20,8 +20,10 @@ // THE SOFTWARE. -#if os(iOS) || os(macOS) +#if canImport(UIKit) +#if canImport(UIKit) import UIKit +#endif import AVFoundation import Photos diff --git a/Sources/LCEssentials/ImageZoom/ImageZoom.swift b/Sources/LCEssentials/ImageZoom/ImageZoom.swift index 83f9115..c385db9 100644 --- a/Sources/LCEssentials/ImageZoom/ImageZoom.swift +++ b/Sources/LCEssentials/ImageZoom/ImageZoom.swift @@ -19,9 +19,11 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. +#if canImport(UIKit) import UIKit +#endif -#if os(iOS) || os(macOS) +#if canImport(UIKit) /// A protocol for delegates of `ImageZoomController` to provide callbacks for zoom and close events. @objc public protocol ImageZoomControllerDelegate { /// Called when the image in the controller is zoomed. diff --git a/Sources/LCEssentials/Message/LCSnackBarView.swift b/Sources/LCEssentials/Message/LCSnackBarView.swift index 669a730..76fc08f 100644 --- a/Sources/LCEssentials/Message/LCSnackBarView.swift +++ b/Sources/LCEssentials/Message/LCSnackBarView.swift @@ -20,6 +20,8 @@ // THE SOFTWARE. // MARK: - Framework headers +#if canImport(UIKit) +import Foundation import UIKit // MARK: - Protocols @@ -512,3 +514,5 @@ public extension LCSnackBarView { } } } + +#endif diff --git a/Sources/LCEssentials/SwiftUI/LCENavigationView.swift b/Sources/LCEssentials/SwiftUI/LCENavigationView.swift index da1b2e2..3acad1a 100644 --- a/Sources/LCEssentials/SwiftUI/LCENavigationView.swift +++ b/Sources/LCEssentials/SwiftUI/LCENavigationView.swift @@ -18,7 +18,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#if canImport(SwiftUI) +#if canImport(SwiftUI) && os(iOS) import SwiftUI /// `LCENavigationState` is an `ObservableObject` that manages the state for `LCENavigationView`.