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 611630a..b6f6316 100644 --- a/LeadKitAdditions.podspec +++ b/LeadKitAdditions.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "LeadKitAdditions" - s.version = "0.3.4" + 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" @@ -9,6 +9,7 @@ Pod::Spec.new do |s| s.source = { :git => "https://github.com/TouchInstinct/LeadKitAdditions.git", :tag => s.version } s.subspec 'Core' do |ss| + ss.ios.deployment_target = '9.0' ss.source_files = "Sources/**/*.swift" @@ -16,16 +17,18 @@ Pod::Spec.new do |s| "Sources/Services/Network/DefaultNetworkService+ActivityIndicator+Extension.swift", ] - ss.dependency "LeadKit", '~> 0.8.0' + ss.dependency "LeadKit", '~> 0.9.0' ss.dependency "KeychainAccess", '3.1.0' ss.dependency "CryptoSwift", '~> 0.9.0' ss.dependency "SwiftValidator", '5.0.0' ss.dependency "PinLayout", '~> 1.6' + end s.subspec 'Core-iOS-Extension' do |ss| ss.platform = :ios, '9.0' - ss.source_files = "Sources/**/*.swift" + + ss.source_files = "Sources/**/*.swift" ss.exclude_files = [ "Sources/Classes/Cells/LabelTableViewCell/*.swift", @@ -33,7 +36,7 @@ Pod::Spec.new do |s| "Sources/Extensions/Cells/**/*.swift" ] - ss.dependency "LeadKit/Core-iOS-Extension", '~> 0.8.0' + ss.dependency "LeadKit/Core-iOS-Extension", '~> 0.9.0' ss.dependency "KeychainAccess", '3.1.0' ss.dependency "CryptoSwift", '~> 0.9.0' ss.dependency "SwiftValidator", '5.0.0' diff --git a/LeadKitAdditions.xcodeproj/project.pbxproj b/LeadKitAdditions.xcodeproj/project.pbxproj index 86ab041..2cca1c9 100644 --- a/LeadKitAdditions.xcodeproj/project.pbxproj +++ b/LeadKitAdditions.xcodeproj/project.pbxproj @@ -7,7 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 248389A288C0A6D7914F0546 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0ED4A1B793EAA73C9E95969F /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework */; }; 3622F5D620E15DD1009DED94 /* PinLayoutTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CF05AF206E99DF009A2AB9 /* PinLayoutTableViewCell.swift */; }; 3622F5D720E15DD5009DED94 /* SeparatorTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67C2A41520724BBA000A5682 /* SeparatorTableViewCell.swift */; }; 6760AF1A207268EC00C2BB7E /* PinLayoutCell+DefaultImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6760AF19207268EC00C2BB7E /* PinLayoutCell+DefaultImplementation.swift */; }; @@ -27,8 +26,10 @@ 67C2A41D20725359000A5682 /* LabelTableViewCell+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67C2A41C20725359000A5682 /* LabelTableViewCell+Extensions.swift */; }; 67CF05AA206E9880009A2AB9 /* PinLayoutCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CF05A9206E9880009A2AB9 /* PinLayoutCell.swift */; }; 67CF05B0206E99DF009A2AB9 /* PinLayoutTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CF05AF206E99DF009A2AB9 /* PinLayoutTableViewCell.swift */; }; + 8A400E8D824CFC3796C7F360 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7695273F6876B988333B78C5 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework */; }; + A6054E6D20E5CA3000750633 /* PinLayoutCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67CF05A9206E9880009A2AB9 /* PinLayoutCell.swift */; }; A6CFB8D91F5024A500A42CC2 /* Error+NetworkingExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = A6CFB8D81F5024A500A42CC2 /* Error+NetworkingExtensions.swift */; }; - B326804BA6CC8B8BB136A46A /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CFD5627139CAB27705F75C07 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework */; }; + C96D09613C44B7DA0ABD415E /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAA4F6E269CA4D976E41B759 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework */; }; CAE698E81E968820000394B0 /* LeadKitAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = CAE698E61E968820000394B0 /* LeadKitAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; }; ED0C34051F2906EC00FAE9FD /* BaseDateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0C33D41F2906EC00FAE9FD /* BaseDateFormatter.swift */; }; ED0C34061F2906EC00FAE9FD /* BaseDateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = ED0C33D41F2906EC00FAE9FD /* BaseDateFormatter.swift */; }; @@ -68,9 +69,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 01605ECA03749D49C27FA3DD /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig"; sourceTree = ""; }; - 0ED4A1B793EAA73C9E95969F /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 49738551AC648B0AFA74E57F /* Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS/Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig"; sourceTree = ""; }; + 09A9D2055627A163E5E7211E /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig"; sourceTree = ""; }; 67528BCE206E3CC6009F2525 /* iOS.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = iOS.playground; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.swift; }; 6760AF19207268EC00C2BB7E /* PinLayoutCell+DefaultImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PinLayoutCell+DefaultImplementation.swift"; sourceTree = ""; }; 67779CBB206986390098F024 /* BaseTextFieldViewEvents+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BaseTextFieldViewEvents+Extensions.swift"; sourceTree = ""; }; @@ -84,13 +83,13 @@ 67C2A41C20725359000A5682 /* LabelTableViewCell+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LabelTableViewCell+Extensions.swift"; sourceTree = ""; }; 67CF05A9206E9880009A2AB9 /* PinLayoutCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PinLayoutCell.swift; sourceTree = ""; }; 67CF05AF206E99DF009A2AB9 /* PinLayoutTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PinLayoutTableViewCell.swift; sourceTree = ""; }; - 7B7F57C5E5275C4D8DC71992 /* Pods_LeadKitAdditions.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKitAdditions.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D549FA5A7579702358E07DF /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig"; sourceTree = ""; }; + 725F7EEC3135BEFE1D184A6E /* Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS/Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig"; sourceTree = ""; }; + 7695273F6876B988333B78C5 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A031D6B7AAD4567E93FAD085 /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions/Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig"; sourceTree = ""; }; A6CFB8D81F5024A500A42CC2 /* Error+NetworkingExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Error+NetworkingExtensions.swift"; sourceTree = ""; }; + AAA4F6E269CA4D976E41B759 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CAE698E31E968820000394B0 /* LeadKitAdditions.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LeadKitAdditions.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CAE698E61E968820000394B0 /* LeadKitAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LeadKitAdditions.h; sourceTree = ""; }; - CFD5627139CAB27705F75C07 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D0AB283D10B2175EFDBF7924 /* Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS/Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig"; sourceTree = ""; }; ED0C33D41F2906EC00FAE9FD /* BaseDateFormatter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseDateFormatter.swift; sourceTree = ""; }; ED0C33D51F2906EC00FAE9FD /* LoadingBarButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadingBarButton.swift; sourceTree = ""; }; ED0C33D91F2906EC00FAE9FD /* PassCodeConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PassCodeConfiguration.swift; sourceTree = ""; }; @@ -111,6 +110,7 @@ EFBD55701EBB87100062AA63 /* LeadKitAdditions.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LeadKitAdditions.framework; sourceTree = BUILT_PRODUCTS_DIR; }; EFBD55781EBB893F0062AA63 /* Info-iOS-Extensions.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-iOS-Extensions.plist"; sourceTree = ""; }; EFBD55791EBB893F0062AA63 /* Info-iOS.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Info-iOS.plist"; sourceTree = ""; }; + F77FB9F7B2B89019ED3EB462 /* Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LeadKitAdditions-LeadKitAdditions iOS/Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -118,7 +118,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 248389A288C0A6D7914F0546 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework in Frameworks */, + 8A400E8D824CFC3796C7F360 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -126,7 +126,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B326804BA6CC8B8BB136A46A /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework in Frameworks */, + C96D09613C44B7DA0ABD415E /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -185,24 +185,34 @@ path = Cells; sourceTree = ""; }; - A3117951840B8B7D2E7A8A80 /* Frameworks */ = { + 73D214BB4B61D0D1052300AB /* Frameworks */ = { isa = PBXGroup; children = ( - 7B7F57C5E5275C4D8DC71992 /* Pods_LeadKitAdditions.framework */, - 0ED4A1B793EAA73C9E95969F /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework */, - CFD5627139CAB27705F75C07 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework */, + 7695273F6876B988333B78C5 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS.framework */, + AAA4F6E269CA4D976E41B759 /* Pods_LeadKitAdditions_LeadKitAdditions_iOS_Extensions.framework */, ); name = Frameworks; sourceTree = ""; }; + 8FF2D76BEA514F251CAFAF7A /* Pods */ = { + isa = PBXGroup; + children = ( + F77FB9F7B2B89019ED3EB462 /* Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig */, + 725F7EEC3135BEFE1D184A6E /* Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig */, + 09A9D2055627A163E5E7211E /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig */, + A031D6B7AAD4567E93FAD085 /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; CAE698D91E968820000394B0 = { isa = PBXGroup; children = ( - A3117951840B8B7D2E7A8A80 /* Frameworks */, - F8A65FEC7C0EB4B93746E50F /* Pods */, CAE698E41E968820000394B0 /* Products */, CAE698E51E968820000394B0 /* Sources */, 67528BCE206E3CC6009F2525 /* iOS.playground */, + 8FF2D76BEA514F251CAFAF7A /* Pods */, + 73D214BB4B61D0D1052300AB /* Frameworks */, ); sourceTree = ""; }; @@ -331,17 +341,6 @@ path = ValidationService; sourceTree = ""; }; - F8A65FEC7C0EB4B93746E50F /* Pods */ = { - isa = PBXGroup; - children = ( - 49738551AC648B0AFA74E57F /* Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig */, - D0AB283D10B2175EFDBF7924 /* Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig */, - 9D549FA5A7579702358E07DF /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig */, - 01605ECA03749D49C27FA3DD /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig */, - ); - name = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -368,12 +367,11 @@ isa = PBXNativeTarget; buildConfigurationList = CAE698EB1E968820000394B0 /* Build configuration list for PBXNativeTarget "LeadKitAdditions iOS" */; buildPhases = ( - E8E82E34792B38EF225575D7 /* [CP] Check Pods Manifest.lock */, + 0619631CBFBE193B7A0DE133 /* [CP] Check Pods Manifest.lock */, CAE698DE1E968820000394B0 /* Sources */, CAE698DF1E968820000394B0 /* Frameworks */, CAE698E01E968820000394B0 /* Headers */, CAE698E11E968820000394B0 /* Resources */, - 94F6E1BA5AD68C6E2F10062B /* [CP] Copy Pods Resources */, CAE6990A1E969A7A000394B0 /* Swiftlint */, ); buildRules = ( @@ -389,12 +387,11 @@ isa = PBXNativeTarget; buildConfigurationList = EFBD55751EBB87100062AA63 /* Build configuration list for PBXNativeTarget "LeadKitAdditions iOS Extensions" */; buildPhases = ( - 1C200FD9213D2207669C4304 /* [CP] Check Pods Manifest.lock */, + 14E80C2E6A9F8765611358BB /* [CP] Check Pods Manifest.lock */, EFBD556B1EBB87100062AA63 /* Sources */, EFBD556C1EBB87100062AA63 /* Frameworks */, EFBD556D1EBB87100062AA63 /* Headers */, EFBD556E1EBB87100062AA63 /* Resources */, - 808FF5474C0E1574D405EFAF /* [CP] Copy Pods Resources */, ED69E7E91F2AD0E000C74895 /* Swiftlint */, ); buildRules = ( @@ -462,7 +459,25 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1C200FD9213D2207669C4304 /* [CP] Check Pods Manifest.lock */ = { + 0619631CBFBE193B7A0DE133 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-LeadKitAdditions-LeadKitAdditions iOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + 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; + }; + 14E80C2E6A9F8765611358BB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -480,36 +495,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; @@ -524,24 +509,6 @@ shellPath = /bin/sh; shellScript = ". build-scripts/xcode/build_phases/swiftlint.sh Sources"; }; - E8E82E34792B38EF225575D7 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-LeadKitAdditions-LeadKitAdditions iOS-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - 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; - }; ED69E7E91F2AD0E000C74895 /* Swiftlint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -600,6 +567,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + A6054E6D20E5CA3000750633 /* PinLayoutCell.swift in Sources */, 67779CBD206986390098F024 /* BaseTextFieldViewEvents+Extensions.swift in Sources */, ED0C34101F2906EC00FAE9FD /* PassCodeHolderProtocol.swift in Sources */, ED0C34401F2906EC00FAE9FD /* ValidationError.swift in Sources */, @@ -749,7 +717,7 @@ }; CAE698EC1E968820000394B0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 49738551AC648B0AFA74E57F /* Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig */; + baseConfigurationReference = F77FB9F7B2B89019ED3EB462 /* Pods-LeadKitAdditions-LeadKitAdditions iOS.debug.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ENABLE_MODULES = YES; @@ -768,13 +736,13 @@ PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.2; }; name = Debug; }; CAE698ED1E968820000394B0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D0AB283D10B2175EFDBF7924 /* Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig */; + baseConfigurationReference = 725F7EEC3135BEFE1D184A6E /* Pods-LeadKitAdditions-LeadKitAdditions iOS.release.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = NO; CLANG_ENABLE_MODULES = YES; @@ -792,13 +760,13 @@ PRODUCT_NAME = LeadKitAdditions; PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.2; }; name = Release; }; EFBD55761EBB87100062AA63 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9D549FA5A7579702358E07DF /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig */; + baseConfigurationReference = 09A9D2055627A163E5E7211E /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.debug.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -816,13 +784,13 @@ PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.2; }; name = Debug; }; EFBD55771EBB87100062AA63 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 01605ECA03749D49C27FA3DD /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig */; + baseConfigurationReference = A031D6B7AAD4567E93FAD085 /* Pods-LeadKitAdditions-LeadKitAdditions iOS Extensions.release.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CODE_SIGN_IDENTITY = ""; @@ -840,7 +808,7 @@ PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = ""; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 4.2; }; name = Release; }; diff --git a/Podfile b/Podfile index e8c3fc9..1ccfa27 100644 --- a/Podfile +++ b/Podfile @@ -6,26 +6,40 @@ abstract_target 'LeadKitAdditions' do pod "CryptoSwift", "~> 0.9.0" pod "SwiftValidator", '5.0.0' pod "SwiftLint", '~> 0.25' - pod "PinLayout", '~> 1.6' + pod "PinLayout" inhibit_all_warnings! target 'LeadKitAdditions iOS' do - platform :ios, '9.0' + platform :ios, '10.0' 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 - platform :ios, '9.0' + platform :ios, '10.0' 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 # If you have slow HDD ENV['COCOAPODS_DISABLE_STATS'] = "true" + +post_install do |installer| + installer.pods_project.targets.each do |target| + if target.name.include? 'LeadKit' + target.build_configurations.each do |config| + config.build_settings['SWIFT_VERSION'] = '4.2' + end + else + target.build_configurations.each do |config| + config.build_settings['SWIFT_VERSION'] = '4.0' + end + end + end +end diff --git a/Podfile.lock b/Podfile.lock index f816c6a..88eefe1 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -2,63 +2,86 @@ 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.9.0): + - LeadKit/Core (= 0.9.0) + - LeadKit/Core (0.9.0): - 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.9.0): - 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) - - TableKit (2.6.0) + - TableKit (2.7.0) - UIScrollView-InfiniteScroll (1.0.2) 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: e92cdf4be67f738b20d4eedd83947926d762b79e + :git: https://github.com/TouchInstinct/LeadKit.git + SPEC CHECKSUMS: Alamofire: e4fa87002c137ba2d8d634d2c51fabcda0d5c223 CryptoSwift: bca8c5b653dcc2d9734409242a070ff53bafac86 KeychainAccess: 94c5540b32eabf7bc32bfb976a268e8ea05fd6da - LeadKit: e6628cfa16f5bab6fc001d4fcba9608f60fb6fd3 - ObjectMapper: 20505058f54e5c3ca69e1d6de9897d152a5369a6 - PinLayout: a2bbe9057d49a1e326b13dc4fe8c14751f8c8844 + LeadKit: 6d8cecd303279bde3888ea77aa3c6536972e8b80 + PinLayout: 359b7ce1714450139463595ef0a9b0046be215c0 RxAlamofire: 87a9c588541210cc3e4a1f843ccc3ecf3eb98b31 - RxCocoa: d88ba0f1f6abf040011a9eb4b539324fc426843a - RxSwift: e49536837d9901277638493ea537394d4b55f570 + RxCocoa: 0b54909c902e1e581212a03e690bbd94032d8baa + RxSwift: 99e10317ddfcc7fbe01356aafd118fde4a0be104 SwiftDate: 7b56d42a221f582047287deb256b23fc5ed49a60 SwiftLint: ce933681be10c3266e82576dad676fa815a602e9 SwiftValidator: 46cdd2061962df3ee8bab3c536dea9b34191d459 - TableKit: 61880e4c13ac0ba396a308fcb1ae48f6dec8b458 + TableKit: 506650573ed96ec007649b655559ecd43f9fd505 UIScrollView-InfiniteScroll: c132d6d5851daff229ab4a1060ccf70a05a051c9 -PODFILE CHECKSUM: 18dadbe1461045569b8c35d705ed56bcac3325c6 +PODFILE CHECKSUM: a37834b511410712f0ba7b2b28ca9e68f17f06a1 -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/Classes/Cells/PinLayoutTableViewCell.swift b/Sources/Classes/Cells/PinLayoutTableViewCell.swift index 0b9ce7a..a43c20b 100644 --- a/Sources/Classes/Cells/PinLayoutTableViewCell.swift +++ b/Sources/Classes/Cells/PinLayoutTableViewCell.swift @@ -26,7 +26,7 @@ import PinLayout /// Cell that uses PinLayout. Contains methods that should be overriden in subclasses. open class PinLayoutTableViewCell: UITableViewCell, PinLayoutCell { - public override init(style: UITableViewCellStyle, reuseIdentifier: String?) { + public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) initializeCell() diff --git a/Sources/Classes/Cells/SeparatorTableViewCell.swift b/Sources/Classes/Cells/SeparatorTableViewCell.swift index 1f3dfe7..8edd9ee 100644 --- a/Sources/Classes/Cells/SeparatorTableViewCell.swift +++ b/Sources/Classes/Cells/SeparatorTableViewCell.swift @@ -45,14 +45,14 @@ open class SeparatorTableViewCell: PinLayoutTableViewCell { /// Move separator upward in hierarchy public func bringSeparatorsToFront() { - contentView.bringSubview(toFront: topSeparator) - contentView.bringSubview(toFront: bottomSeparator) + contentView.bringSubviewToFront(topSeparator) + contentView.bringSubviewToFront(bottomSeparator) } /// Move separator backward in hierarchy public func sendSeparatorsToBack() { - contentView.sendSubview(toBack: topSeparator) - contentView.sendSubview(toBack: bottomSeparator) + contentView.sendSubviewToBack(topSeparator) + contentView.sendSubviewToBack(bottomSeparator) } // MARK: - PinLayoutTableViewCell diff --git a/Sources/Controllers/PassCode/View/BasePassCodeViewController.swift b/Sources/Controllers/PassCode/View/BasePassCodeViewController.swift index a711480..87958df 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 @@ -100,7 +109,7 @@ open class BasePassCodeViewController: UIViewController, ConfigurableController return } - NotificationCenter.default.rx.notification(.UIApplicationWillResignActive) + NotificationCenter.default.rx.notification(UIApplication.willResignActiveNotification) .subscribe(onNext: { [weak self] _ in self?.resetUI() }) @@ -288,12 +297,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