diff --git a/.swift-version b/.swift-version index 5186d07..bf77d54 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -4.0 +4.2 diff --git a/LeadKitAdditions.podspec b/LeadKitAdditions.podspec index 8632cfe..c846c84 100644 --- a/LeadKitAdditions.podspec +++ b/LeadKitAdditions.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "LeadKitAdditions" - s.version = "0.3.1" + s.version = "0.4.0" s.summary = "iOS framework with a bunch of tools for rapid development" s.homepage = "https://github.com/TouchInstinct/LeadKitAdditions" s.license = "Apache License, Version 2.0" diff --git a/LeadKitAdditions.xcodeproj/project.pbxproj b/LeadKitAdditions.xcodeproj/project.pbxproj index 86ab041..32ef8c6 100644 --- a/LeadKitAdditions.xcodeproj/project.pbxproj +++ b/LeadKitAdditions.xcodeproj/project.pbxproj @@ -373,7 +373,6 @@ CAE698DF1E968820000394B0 /* Frameworks */, CAE698E01E968820000394B0 /* Headers */, CAE698E11E968820000394B0 /* Resources */, - 94F6E1BA5AD68C6E2F10062B /* [CP] Copy Pods Resources */, CAE6990A1E969A7A000394B0 /* Swiftlint */, ); buildRules = ( @@ -394,7 +393,6 @@ EFBD556C1EBB87100062AA63 /* Frameworks */, EFBD556D1EBB87100062AA63 /* Headers */, EFBD556E1EBB87100062AA63 /* Resources */, - 808FF5474C0E1574D405EFAF /* [CP] Copy Pods Resources */, ED69E7E91F2AD0E000C74895 /* Swiftlint */, ); buildRules = ( @@ -480,36 +478,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 808FF5474C0E1574D405EFAF /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 94F6E1BA5AD68C6E2F10062B /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS/Pods-LeadKitAdditions-LeadKitAdditions iOS-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; CAE6990A1E969A7A000394B0 /* Swiftlint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/Podfile b/Podfile index e8c3fc9..4e6dcf6 100644 --- a/Podfile +++ b/Podfile @@ -6,7 +6,7 @@ abstract_target 'LeadKitAdditions' do pod "CryptoSwift", "~> 0.9.0" pod "SwiftValidator", '5.0.0' pod "SwiftLint", '~> 0.25' - pod "PinLayout", '~> 1.6' + pod "PinLayout" # :git => 'https://github.com/igorkislyuk/PinLayout.git', :branch => 'feature/swift4.2' inhibit_all_warnings! @@ -15,7 +15,7 @@ abstract_target 'LeadKitAdditions' do use_frameworks! - pod 'LeadKit', '~> 0.7.0' + pod 'LeadKit', :git => 'https://github.com/TouchInstinct/LeadKit.git', :branch => 'feature/swift4.2' end target 'LeadKitAdditions iOS Extensions' do @@ -23,7 +23,7 @@ abstract_target 'LeadKitAdditions' do use_frameworks! - pod "LeadKit/Core-iOS-Extension", '~> 0.7.0' + pod "LeadKit/Core-iOS-Extension", :git => 'https://github.com/TouchInstinct/LeadKit.git', :branch => 'feature/swift4.2' end end diff --git a/Podfile.lock b/Podfile.lock index f816c6a..7c6f0f0 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -2,32 +2,30 @@ PODS: - Alamofire (4.7.2) - CryptoSwift (0.9.0) - KeychainAccess (3.1.0) - - LeadKit (0.7.12): - - LeadKit/Core (= 0.7.12) - - LeadKit/Core (0.7.12): - - ObjectMapper (~> 3.1) + - LeadKit (0.8.4): + - LeadKit/Core (= 0.8.4) + - LeadKit/Core (0.8.4): - RxAlamofire (~> 4.1) - RxCocoa (~> 4.1) - RxSwift (~> 4.1) - SwiftDate (~> 4.5) - TableKit (~> 2.6) - UIScrollView-InfiniteScroll (~> 1.0.0) - - LeadKit/Core-iOS-Extension (0.7.12): - - ObjectMapper (~> 3.1) + - LeadKit/Core-iOS-Extension (0.8.4): - RxAlamofire (~> 4.1) - RxCocoa (~> 4.1) - RxSwift (~> 4.1) - SwiftDate (~> 4.5) - - ObjectMapper (3.1.0) - - PinLayout (1.6.0) + - TableKit (~> 2.6) + - PinLayout (1.7.6) - RxAlamofire (4.2.0): - RxAlamofire/Core (= 4.2.0) - RxAlamofire/Core (4.2.0): - Alamofire (~> 4.5) - RxSwift (~> 4) - - RxCocoa (4.1.2): + - RxCocoa (4.2.0): - RxSwift (~> 4.0) - - RxSwift (4.1.2) + - RxSwift (4.2.0) - SwiftDate (4.5.1) - SwiftLint (0.25.1) - SwiftValidator (5.0.0) @@ -37,28 +35,53 @@ PODS: DEPENDENCIES: - CryptoSwift (~> 0.9.0) - KeychainAccess (= 3.1.0) - - LeadKit (~> 0.7.0) - - LeadKit/Core-iOS-Extension (~> 0.7.0) - - PinLayout (~> 1.6) + - LeadKit (from `https://github.com/TouchInstinct/LeadKit.git`, branch `feature/swift4.2`) + - LeadKit/Core-iOS-Extension (from `https://github.com/TouchInstinct/LeadKit.git`, branch `feature/swift4.2`) + - PinLayout - SwiftLint (~> 0.25) - SwiftValidator (= 5.0.0) +SPEC REPOS: + https://github.com/cocoapods/specs.git: + - Alamofire + - CryptoSwift + - KeychainAccess + - PinLayout + - RxAlamofire + - RxCocoa + - RxSwift + - SwiftDate + - SwiftLint + - TableKit + - UIScrollView-InfiniteScroll + https://github.com/TouchInstinct/Podspecs.git: + - SwiftValidator + +EXTERNAL SOURCES: + LeadKit: + :branch: feature/swift4.2 + :git: https://github.com/TouchInstinct/LeadKit.git + +CHECKOUT OPTIONS: + LeadKit: + :commit: af60c61909146fa17d4482454a82eaecbcf65141 + :git: https://github.com/TouchInstinct/LeadKit.git + SPEC CHECKSUMS: Alamofire: e4fa87002c137ba2d8d634d2c51fabcda0d5c223 CryptoSwift: bca8c5b653dcc2d9734409242a070ff53bafac86 KeychainAccess: 94c5540b32eabf7bc32bfb976a268e8ea05fd6da - LeadKit: e6628cfa16f5bab6fc001d4fcba9608f60fb6fd3 - ObjectMapper: 20505058f54e5c3ca69e1d6de9897d152a5369a6 - PinLayout: a2bbe9057d49a1e326b13dc4fe8c14751f8c8844 + LeadKit: cec9148463b89da075371cc90cf5c80261d33771 + PinLayout: 359b7ce1714450139463595ef0a9b0046be215c0 RxAlamofire: 87a9c588541210cc3e4a1f843ccc3ecf3eb98b31 - RxCocoa: d88ba0f1f6abf040011a9eb4b539324fc426843a - RxSwift: e49536837d9901277638493ea537394d4b55f570 + RxCocoa: 0b54909c902e1e581212a03e690bbd94032d8baa + RxSwift: 99e10317ddfcc7fbe01356aafd118fde4a0be104 SwiftDate: 7b56d42a221f582047287deb256b23fc5ed49a60 SwiftLint: ce933681be10c3266e82576dad676fa815a602e9 SwiftValidator: 46cdd2061962df3ee8bab3c536dea9b34191d459 TableKit: 61880e4c13ac0ba396a308fcb1ae48f6dec8b458 UIScrollView-InfiniteScroll: c132d6d5851daff229ab4a1060ccf70a05a051c9 -PODFILE CHECKSUM: 18dadbe1461045569b8c35d705ed56bcac3325c6 +PODFILE CHECKSUM: 48432343afe293f66e1143ec9cc431ae0e5b16e3 -COCOAPODS: 1.4.0 +COCOAPODS: 1.5.3 diff --git a/Sources/Classes/Cells/LabelTableViewCell/LabelCellViewModel.swift b/Sources/Classes/Cells/LabelTableViewCell/LabelCellViewModel.swift index 8451897..2bfb43b 100644 --- a/Sources/Classes/Cells/LabelTableViewCell/LabelCellViewModel.swift +++ b/Sources/Classes/Cells/LabelTableViewCell/LabelCellViewModel.swift @@ -42,8 +42,8 @@ open class LabelCellViewModel { /// - separatorType: Separator type to use for separators. public init(viewText: ViewText, contentBackground: ViewBackground = .color(.clear), - contentInsets: UIEdgeInsets = .zero, - labelInsets: UIEdgeInsets = .zero, + contentInsets: UIEdgeInsets = .nonCrashZero, + labelInsets: UIEdgeInsets = .nonCrashZero, separatorType: CellSeparatorType = .none) { self.viewText = viewText diff --git a/Sources/Classes/Cells/LabelTableViewCell/LabelTableViewCell.swift b/Sources/Classes/Cells/LabelTableViewCell/LabelTableViewCell.swift index 2337c7d..1152bcc 100644 --- a/Sources/Classes/Cells/LabelTableViewCell/LabelTableViewCell.swift +++ b/Sources/Classes/Cells/LabelTableViewCell/LabelTableViewCell.swift @@ -80,11 +80,11 @@ open class LabelTableViewCell: SeparatorTableViewCell { } private var labelInsets: UIEdgeInsets { - return viewModel?.labelInsets ?? .zero + return viewModel?.labelInsets ?? .nonCrashZero } private var contentInsets: UIEdgeInsets { - return viewModel?.contentInsets ?? .zero + return viewModel?.contentInsets ?? .nonCrashZero } override open var contentHeight: CGFloat { diff --git a/Sources/Controllers/PassCode/View/BasePassCodeViewController.swift b/Sources/Controllers/PassCode/View/BasePassCodeViewController.swift index a24be3a..9a3b536 100644 --- a/Sources/Controllers/PassCode/View/BasePassCodeViewController.swift +++ b/Sources/Controllers/PassCode/View/BasePassCodeViewController.swift @@ -49,7 +49,16 @@ public enum PassCodeControllerState { /// Base view controller that operates with pass code open class BasePassCodeViewController: UIViewController, ConfigurableController { - public var viewModel: BasePassCodeViewModel! + public let viewModel: BasePassCodeViewModel + + public init(viewModel: BasePassCodeViewModel) { + self.viewModel = viewModel + super.init(nibName: nil, bundle: nil) + } + + required public init?(coder aDecoder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } // MARK: - IBOutlets @@ -276,12 +285,11 @@ open class BasePassCodeViewController: UIViewController, ConfigurableController open func addViews() {} - open func setAppearance() {} + open func configureAppearance() {} open func configureBarButtons() {} open func localize() {} - } // MARK: - UITextFieldDelegate diff --git a/build-scripts b/build-scripts index 622b2d3..3668aee 160000 --- a/build-scripts +++ b/build-scripts @@ -1 +1 @@ -Subproject commit 622b2d34508fe0d4103af643bc0d91c75f7bf026 +Subproject commit 3668aee8169dbf8074d95cba67b6d684aaa842d0