diff --git a/LeadKitAdditions.podspec b/LeadKitAdditions.podspec index fe1e0c9..90812f4 100644 --- a/LeadKitAdditions.podspec +++ b/LeadKitAdditions.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "LeadKitAdditions" - s.version = "0.0.5" + s.version = "0.0.6" s.summary = "iOS framework with a bunch of tools for rapid development" s.homepage = "https://github.com/NikAshanin/LeadKitAdditions" s.license = "Apache License, Version 2.0" diff --git a/LeadKitAdditions/LeadKitAdditions/Classes/BaseDateFormatter.swift b/LeadKitAdditions/LeadKitAdditions/Classes/BaseDateFormatter.swift index a72cbbc..87080fc 100644 --- a/LeadKitAdditions/LeadKitAdditions/Classes/BaseDateFormatter.swift +++ b/LeadKitAdditions/LeadKitAdditions/Classes/BaseDateFormatter.swift @@ -33,40 +33,44 @@ open class BaseDateFormatter { private static let apiFormatter: DateFormatter = { let dateFormatter = DateFormatter() - dateFormatter.locale = Locale.current + dateFormatter.locale = usedLocale dateFormatter.dateFormat = BaseDateFormatter.apiDateTimeFormat return dateFormatter }() private static let apiDateWithoutTimeFormatter: DateFormatter = { let dateFormatter = DateFormatter() - dateFormatter.locale = Locale.current + dateFormatter.locale = usedLocale dateFormatter.dateFormat = BaseDateFormatter.apiDateWithoutTimeFormat return dateFormatter }() private static let hourAndMinuteFormatter: DateFormatter = { let dateFormater = DateFormatter() - dateFormater.locale = Locale.current + dateFormater.locale = usedLocale dateFormater.dateFormat = BaseDateFormatter.hourAndMinuteDateTimeFormat return dateFormater }() private static let dayAndMonthFormatter: DateFormatter = { let dateFormater = DateFormatter() - dateFormater.locale = Locale.current + dateFormater.locale = usedLocale dateFormater.dateFormat = BaseDateFormatter.dayAndMonthDateTimeFormat return dateFormater }() private static let dayMonthYearFormatter: DateFormatter = { let dateFormater = DateFormatter() - dateFormater.locale = Locale.current + dateFormater.locale = usedLocale dateFormater.dateFormat = BaseDateFormatter.dayMonthYearDateTimeFormat return dateFormater }() - // MARK: Internal functions + // MARK: Public interface + + open class var usedLocale: Locale { + return .current + } public static func backendDate(fromStrDate strDate: String) -> Date? { return BaseDateFormatter.apiFormatter.date(from: strDate) diff --git a/LeadKitAdditions/LeadKitAdditions/Controllers/PassCode/View/BasePassCodeViewController.swift b/LeadKitAdditions/LeadKitAdditions/Controllers/PassCode/View/BasePassCodeViewController.swift index e88e3a0..7a309f1 100644 --- a/LeadKitAdditions/LeadKitAdditions/Controllers/PassCode/View/BasePassCodeViewController.swift +++ b/LeadKitAdditions/LeadKitAdditions/Controllers/PassCode/View/BasePassCodeViewController.swift @@ -50,7 +50,7 @@ open class BasePassCodeViewController: UIViewController { @IBOutlet public weak var errorLabel: UILabel? @IBOutlet public weak var dotStackView: UIStackView! - let disposeBag = DisposeBag() + public let disposeBag = DisposeBag() fileprivate lazy var fakeTextField: UITextField = { let fakeTextField = UITextField() @@ -159,19 +159,19 @@ open class BasePassCodeViewController: UIViewController { } // override to change Images - func imageFor(type: PinImageType) -> UIImage { + open func imageFor(type: PinImageType) -> UIImage { assertionFailure("You should override this method: imageFor(type: PinImageType)") return UIImage() } // override to change error text - func errorDescription(for error: PassCodeError) -> String { + open func errorDescription(for error: PassCodeError) -> String { assertionFailure("You should override this method: errorDescription(for error: PassCodeError)") return "" } // override to change action title text - func actionTitle(for passCodeControllerState: PassCodeControllerState) -> String { + open func actionTitle(for passCodeControllerState: PassCodeControllerState) -> String { assertionFailure("You should override this method: actionTitle(for passCodeControllerState: PassCodeControllerState)") return "" } diff --git a/LeadKitAdditions/LeadKitAdditions/Controllers/PassCode/ViewModel/BasePassCodeViewModel.swift b/LeadKitAdditions/LeadKitAdditions/Controllers/PassCode/ViewModel/BasePassCodeViewModel.swift index 333e65d..f5701fa 100644 --- a/LeadKitAdditions/LeadKitAdditions/Controllers/PassCode/ViewModel/BasePassCodeViewModel.swift +++ b/LeadKitAdditions/LeadKitAdditions/Controllers/PassCode/ViewModel/BasePassCodeViewModel.swift @@ -56,9 +56,9 @@ open class BasePassCodeViewModel: BaseViewModel { return PassCodeHolderBuilder.build(with: self.controllerType) }() - init(controllerType: PassCodeControllerType, - passCodeConfiguration: PassCodeConfiguration, - touchIdService: TouchIDService? = nil) { + public init(controllerType: PassCodeControllerType, + passCodeConfiguration: PassCodeConfiguration, + touchIdService: TouchIDService? = nil) { self.controllerType = controllerType self.passCodeConfiguration = passCodeConfiguration diff --git a/LeadKitAdditions/LeadKitAdditions/Services/BaseUserService.swift b/LeadKitAdditions/LeadKitAdditions/Services/BaseUserService.swift index 34eb1ff..8923c7f 100644 --- a/LeadKitAdditions/LeadKitAdditions/Services/BaseUserService.swift +++ b/LeadKitAdditions/LeadKitAdditions/Services/BaseUserService.swift @@ -53,6 +53,7 @@ open class BaseUserService { open class func clearData() { UserDefaults.standard.sessionId = nil UserDefaults.standard.userLogin = nil + UserDefaults.standard.synchronize() } } diff --git a/LeadKitAdditions/LeadKitAdditions/Services/Network/SimpleNetworkService.swift b/LeadKitAdditions/LeadKitAdditions/Services/Network/SimpleNetworkService.swift index 2ed8156..24a9961 100644 --- a/LeadKitAdditions/LeadKitAdditions/Services/Network/SimpleNetworkService.swift +++ b/LeadKitAdditions/LeadKitAdditions/Services/Network/SimpleNetworkService.swift @@ -29,9 +29,6 @@ import RxAlamofire open class SimpleNetworkService: DefaultNetworkService { - // Singleton - static let shared = SimpleNetworkService() - public convenience init() { self.init(sessionManager: SimpleNetworkService.sessionManager) } diff --git a/LeadKitAdditions/LeadKitAdditions/Services/TouchIDService.swift b/LeadKitAdditions/LeadKitAdditions/Services/TouchIDService.swift index 6eaa96e..394186d 100644 --- a/LeadKitAdditions/LeadKitAdditions/Services/TouchIDService.swift +++ b/LeadKitAdditions/LeadKitAdditions/Services/TouchIDService.swift @@ -30,6 +30,8 @@ public class TouchIDService { return LAContext() }() + public init() {} + public var canAuthenticateByTouchId: Bool { return laContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil) }