From 139bcfe3d697f91c30af50b5f4b1e5dee3f68f10 Mon Sep 17 00:00:00 2001 From: Mihael Isaev Date: Fri, 21 Sep 2018 15:04:32 +0300 Subject: [PATCH 1/3] Update DGElasticPullToRefreshExtensions.swift Fixes for swift 4.2 --- DGElasticPullToRefresh/DGElasticPullToRefreshExtensions.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DGElasticPullToRefresh/DGElasticPullToRefreshExtensions.swift b/DGElasticPullToRefresh/DGElasticPullToRefreshExtensions.swift index ab4f89e..53b2396 100644 --- a/DGElasticPullToRefresh/DGElasticPullToRefreshExtensions.swift +++ b/DGElasticPullToRefresh/DGElasticPullToRefreshExtensions.swift @@ -157,8 +157,8 @@ public extension UIPanGestureRecognizer { // MARK: - // MARK: (UIGestureRecognizerState) Extension -public extension UIGestureRecognizerState { - func dg_isAnyOf(_ values: [UIGestureRecognizerState]) -> Bool { +public extension UIGestureRecognizer.State { + func dg_isAnyOf(_ values: [UIGestureRecognizer.State]) -> Bool { return values.contains(where: { $0 == self }) } } From 0cc55106204a3f81a6e9898eb090d10cd09eb3f9 Mon Sep 17 00:00:00 2001 From: Mihael Isaev Date: Fri, 21 Sep 2018 15:04:55 +0300 Subject: [PATCH 2/3] Update DGElasticPullToRefreshLoadingViewCircle.swift Fixes for swift 4.2 --- .../DGElasticPullToRefreshLoadingViewCircle.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DGElasticPullToRefresh/DGElasticPullToRefreshLoadingViewCircle.swift b/DGElasticPullToRefresh/DGElasticPullToRefreshLoadingViewCircle.swift index c510baf..5eae828 100644 --- a/DGElasticPullToRefresh/DGElasticPullToRefreshLoadingViewCircle.swift +++ b/DGElasticPullToRefresh/DGElasticPullToRefreshLoadingViewCircle.swift @@ -103,7 +103,7 @@ open class DGElasticPullToRefreshLoadingViewCircle: DGElasticPullToRefreshLoadin rotationAnimation.duration = 1.0 rotationAnimation.repeatCount = Float.infinity rotationAnimation.isRemovedOnCompletion = false - rotationAnimation.fillMode = kCAFillModeForwards + rotationAnimation.fillMode = CAMediaTimingFillMode.forwards shapeLayer.add(rotationAnimation, forKey: kRotationAnimation) } From 089bedf84801b6d6444ae6921de0424e9c121c72 Mon Sep 17 00:00:00 2001 From: Matteo Crippa Date: Fri, 2 Nov 2018 16:36:43 +0100 Subject: [PATCH 3/3] update swift 4.2 --- ...lasticPullToRefreshLoadingViewCircle.swift | 6 ++-- .../DGElasticPullToRefreshView.swift | 8 ++--- .../project.pbxproj | 31 +++++++++++++++--- .../xcshareddata/IDEWorkspaceChecks.plist | 8 +++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 23270 bytes .../xcschemes/xcschememanagement.plist | 14 ++++++++ 6 files changed, 56 insertions(+), 11 deletions(-) create mode 100644 DGElasticPullToRefreshExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 DGElasticPullToRefreshExample.xcodeproj/project.xcworkspace/xcuserdata/matteocrippa.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 DGElasticPullToRefreshExample.xcodeproj/xcuserdata/matteocrippa.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/DGElasticPullToRefresh/DGElasticPullToRefreshLoadingViewCircle.swift b/DGElasticPullToRefresh/DGElasticPullToRefreshLoadingViewCircle.swift index 5eae828..781af5d 100644 --- a/DGElasticPullToRefresh/DGElasticPullToRefreshLoadingViewCircle.swift +++ b/DGElasticPullToRefresh/DGElasticPullToRefreshLoadingViewCircle.swift @@ -32,11 +32,11 @@ import UIKit public extension CGFloat { public func toRadians() -> CGFloat { - return (self * CGFloat(M_PI)) / 180.0 + return (self * CGFloat(Double.pi)) / 180.0 } public func toDegrees() -> CGFloat { - return self * 180.0 / CGFloat(M_PI) + return self * 180.0 / CGFloat(Double.pi) } } @@ -99,7 +99,7 @@ open class DGElasticPullToRefreshLoadingViewCircle: DGElasticPullToRefreshLoadin if shapeLayer.animation(forKey: kRotationAnimation) != nil { return } let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation.z") - rotationAnimation.toValue = CGFloat(2 * M_PI) + currentDegree() + rotationAnimation.toValue = CGFloat(2 * Double.pi) + currentDegree() rotationAnimation.duration = 1.0 rotationAnimation.repeatCount = Float.infinity rotationAnimation.isRemovedOnCompletion = false diff --git a/DGElasticPullToRefresh/DGElasticPullToRefreshView.swift b/DGElasticPullToRefresh/DGElasticPullToRefreshView.swift index d393eaf..c715b58 100644 --- a/DGElasticPullToRefresh/DGElasticPullToRefreshView.swift +++ b/DGElasticPullToRefresh/DGElasticPullToRefreshView.swift @@ -124,7 +124,7 @@ open class DGElasticPullToRefreshView: UIView { super.init(frame: CGRect.zero) displayLink = CADisplayLink(target: self, selector: #selector(DGElasticPullToRefreshView.displayLinkTick)) - displayLink.add(to: RunLoop.main, forMode: RunLoopMode.commonModes) + displayLink.add(to: RunLoop.main, forMode: RunLoop.Mode.common) displayLink.isPaused = true shapeLayer.backgroundColor = UIColor.clear.cgColor @@ -141,7 +141,7 @@ open class DGElasticPullToRefreshView: UIView { addSubview(r2ControlPointView) addSubview(r3ControlPointView) - NotificationCenter.default.addObserver(self, selector: #selector(DGElasticPullToRefreshView.applicationWillEnterForeground), name: NSNotification.Name.UIApplicationWillEnterForeground, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(DGElasticPullToRefreshView.applicationWillEnterForeground), name: UIApplication.willEnterForegroundNotification, object: nil) } required public init?(coder aDecoder: NSCoder) { @@ -193,7 +193,7 @@ open class DGElasticPullToRefreshView: UIView { // MARK: - // MARK: Notifications - func applicationWillEnterForeground() { + @objc func applicationWillEnterForeground() { if state == .loading { layoutSubviews() } @@ -355,7 +355,7 @@ open class DGElasticPullToRefreshView: UIView { displayLink.isPaused = true } - func displayLinkTick() { + @objc func displayLinkTick() { let width = bounds.width var height: CGFloat = 0.0 diff --git a/DGElasticPullToRefreshExample.xcodeproj/project.pbxproj b/DGElasticPullToRefreshExample.xcodeproj/project.pbxproj index c778cf5..7ed047d 100644 --- a/DGElasticPullToRefreshExample.xcodeproj/project.pbxproj +++ b/DGElasticPullToRefreshExample.xcodeproj/project.pbxproj @@ -113,12 +113,12 @@ 05CD145D1BBE8FEA00AF4030 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0700; + LastUpgradeCheck = 1010; ORGANIZATIONNAME = "Danil Gontovnik"; TargetAttributes = { 05CD14641BBE8FEA00AF4030 = { CreatedOnToolsVersion = 7.0; - LastSwiftMigration = 0800; + LastSwiftMigration = 1010; }; }; }; @@ -190,13 +190,23 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -235,13 +245,23 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -260,6 +280,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -274,7 +295,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.gatafan.DGElasticPullToRefreshExample; PRODUCT_NAME = DGElasticPullToRefreshExample; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 4.2; }; name = Debug; }; @@ -287,7 +309,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.gatafan.DGElasticPullToRefreshExample; PRODUCT_NAME = DGElasticPullToRefreshExample; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; + SWIFT_VERSION = 4.2; }; name = Release; }; diff --git a/DGElasticPullToRefreshExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/DGElasticPullToRefreshExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/DGElasticPullToRefreshExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/DGElasticPullToRefreshExample.xcodeproj/project.xcworkspace/xcuserdata/matteocrippa.xcuserdatad/UserInterfaceState.xcuserstate b/DGElasticPullToRefreshExample.xcodeproj/project.xcworkspace/xcuserdata/matteocrippa.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..db60a9c782f9661adcfa6c4564564350ef0e92ef GIT binary patch literal 23270 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 V3Q@Q8AHxWLMKq$f+rQF*{|9Uq8$JL4 literal 0 HcmV?d00001 diff --git a/DGElasticPullToRefreshExample.xcodeproj/xcuserdata/matteocrippa.xcuserdatad/xcschemes/xcschememanagement.plist b/DGElasticPullToRefreshExample.xcodeproj/xcuserdata/matteocrippa.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5056fef --- /dev/null +++ b/DGElasticPullToRefreshExample.xcodeproj/xcuserdata/matteocrippa.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + DGElasticPullToRefreshExample.xcscheme_^#shared#^_ + + orderHint + 0 + + + +