From d56d80f0a61ada935f406f5f1ed83236d95729cd Mon Sep 17 00:00:00 2001 From: Gian Nucci Date: Mon, 29 Jan 2018 16:57:13 -0200 Subject: [PATCH 1/3] Updating to Swift 4 --- MotionAnimation/MotionAnimator.swift | 2 +- MotionAnimation/Types.swift | 6 +++++- .../project.pbxproj | 20 +++++++++++++++---- .../ListViewController.swift | 2 +- .../SquareViewController.swift | 8 ++++---- 5 files changed, 27 insertions(+), 11 deletions(-) diff --git a/MotionAnimation/MotionAnimator.swift b/MotionAnimation/MotionAnimator.swift index 9419037..15e746f 100644 --- a/MotionAnimation/MotionAnimator.swift +++ b/MotionAnimation/MotionAnimator.swift @@ -33,7 +33,7 @@ open class MotionAnimator: NSObject { super.init() } - func update() { + @objc func update() { _removeAllPendingStopAnimations() let duration = CGFloat(displayLink.duration) diff --git a/MotionAnimation/Types.swift b/MotionAnimation/Types.swift index b649ff7..41588fc 100644 --- a/MotionAnimation/Types.swift +++ b/MotionAnimation/Types.swift @@ -87,7 +87,11 @@ extension UIColor:MotionAnimatableProperty{ return self.init(red: values[0], green: values[1], blue: values[2], alpha: values[3]) } public func toCGFloatValues(_ values: inout [CGFloat]) { - self.getRed(&values[0], green: &values[1], blue: &values[2], alpha: &values[3]) + var red = values[0] + var green = values[1] + var blue = values[2] + var alpha = values[3] + self.getRed(&red, green: &green, blue: &blue, alpha: &alpha) } } diff --git a/MotionAnimationExample.xcodeproj/project.pbxproj b/MotionAnimationExample.xcodeproj/project.pbxproj index 393f866..4aa3fb0 100644 --- a/MotionAnimationExample.xcodeproj/project.pbxproj +++ b/MotionAnimationExample.xcodeproj/project.pbxproj @@ -152,14 +152,14 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0720; - LastUpgradeCheck = 0800; + LastUpgradeCheck = 0920; ORGANIZATIONNAME = lkzhao; TargetAttributes = { A3D92B211C6803C000C34FBD = { CreatedOnToolsVersion = 7.2; DevelopmentTeam = 4VSEW78TKT; DevelopmentTeamName = "Yi Lun Zhao"; - LastSwiftMigration = 0800; + LastSwiftMigration = 0920; }; }; }; @@ -237,14 +237,20 @@ 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_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_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; @@ -284,14 +290,20 @@ 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_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_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; @@ -324,7 +336,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.lkzhao.MotionAnimation; PRODUCT_NAME = MotionAnimationExample; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -337,7 +349,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.lkzhao.MotionAnimation; PRODUCT_NAME = MotionAnimationExample; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; diff --git a/MotionAnimationExample/ListViewController.swift b/MotionAnimationExample/ListViewController.swift index 9036809..62604da 100644 --- a/MotionAnimationExample/ListViewController.swift +++ b/MotionAnimationExample/ListViewController.swift @@ -47,7 +47,7 @@ class ListViewController: ExampleBaseViewController { listItems.first?.m_animate("center", to: CGPoint(x: view.center.x, y: 150), stiffness: 200, damping:15, threshold:1) } - func pan(_ gr:LZPanGestureRecognizer){ + @objc func pan(_ gr:LZPanGestureRecognizer){ switch gr.state{ case .began, .changed: // move the item under touch diff --git a/MotionAnimationExample/SquareViewController.swift b/MotionAnimationExample/SquareViewController.swift index 5347ad4..a6f7d96 100644 --- a/MotionAnimationExample/SquareViewController.swift +++ b/MotionAnimationExample/SquareViewController.swift @@ -8,7 +8,7 @@ import UIKit -let π = CGFloat(M_PI) +let π: CGFloat = .pi class SquareViewController: ExampleBaseViewController { @@ -54,7 +54,7 @@ class SquareViewController: ExampleBaseViewController { } var isBig = false - func doubleTap(_ gr:UITapGestureRecognizer){ + @objc func doubleTap(_ gr:UITapGestureRecognizer){ let newSize = isBig ? CGSize(width: 150, height: 150) : CGSize(width: 200, height: 200) let newColor = isBig ? UIColor.white : UIColor.black isBig = !isBig @@ -62,11 +62,11 @@ class SquareViewController: ExampleBaseViewController { square.m_animate("bounds", to: CGRect(origin: CGPoint.zero, size: newSize), stiffness:200, damping:10) } - func tap(_ gr:UITapGestureRecognizer){ + @objc func tap(_ gr:UITapGestureRecognizer){ square.m_animate("center", to: gr.location(in: view), stiffness:200, damping:10) } - func pan(_ gr:LZPanGestureRecognizer){ + @objc func pan(_ gr:LZPanGestureRecognizer){ // high stiffness -> high acceleration (will help it stay under touch) square.m_animate("center", to: gr.translatedViewCenterPoint, stiffness:500, damping:25) } From 479b1ed9232020eff5e263c74e744f84844359df Mon Sep 17 00:00:00 2001 From: Gian Nucci Date: Mon, 29 Jan 2018 16:59:34 -0200 Subject: [PATCH 2/3] Updating podspec file --- MotionAnimation.podspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MotionAnimation.podspec b/MotionAnimation.podspec index 17079f4..f6a4418 100644 --- a/MotionAnimation.podspec +++ b/MotionAnimation.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "MotionAnimation" - s.version = "0.1.2" + s.version = "0.1.3" s.summary = "Lightweight animation library for UIKit in Swift" s.description = <<-DESC @@ -15,7 +15,7 @@ Pod::Spec.new do |s| s.author = { "Luke" => "lzhaoyilun@gmail.com" } s.source = { :git => "https://github.com/lkzhao/MotionAnimation.git", :tag => s.version.to_s } - s.ios.deployment_target = '8.0' + s.ios.deployment_target = '9.2' s.ios.frameworks = 'UIKit', 'Foundation' s.requires_arc = true From 882819e1cda400f5607aff7df0821c9f64bafe58 Mon Sep 17 00:00:00 2001 From: Gian Nucci Date: Mon, 29 Jan 2018 17:07:20 -0200 Subject: [PATCH 3/3] updating version on swift-version file --- .swift-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.swift-version b/.swift-version index 9f55b2c..5186d07 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -3.0 +4.0