From f24aa346448f7ebd7c9127c0d727b68d5ecbf608 Mon Sep 17 00:00:00 2001 From: PoeticPete Date: Sat, 30 Sep 2017 20:18:05 -0400 Subject: [PATCH 1/2] Swift 4 support --- .../TwicketSegmentedControl.swift | 2 +- .../project.pbxproj | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/TwicketSegmentedControl/TwicketSegmentedControl.swift b/TwicketSegmentedControl/TwicketSegmentedControl.swift index 030f3b2..49446b8 100644 --- a/TwicketSegmentedControl/TwicketSegmentedControl.swift +++ b/TwicketSegmentedControl/TwicketSegmentedControl.swift @@ -88,7 +88,7 @@ open class TwicketSegmentedControl: UIControl { } } - open var font: UIFont = UIFont.systemFont(ofSize: 15, weight: UIFontWeightMedium) { + open var font: UIFont = UIFont.systemFont(ofSize: 15, weight: UIFont.Weight.medium) { didSet { updateLabelsFont(with: font) } diff --git a/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/project.pbxproj b/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/project.pbxproj index 73b188e..f6a2081 100644 --- a/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/project.pbxproj +++ b/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/project.pbxproj @@ -187,12 +187,13 @@ C18581821D8D7220001A9A00 = { CreatedOnToolsVersion = 8.0; DevelopmentTeam = TT6EHSB5EG; + LastSwiftMigration = 0900; ProvisioningStyle = Automatic; }; C185819C1D8D7237001A9A00 = { CreatedOnToolsVersion = 8.0; DevelopmentTeam = TT6EHSB5EG; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; ProvisioningStyle = Automatic; }; }; @@ -389,7 +390,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "Pol-Quintana.TwicketSegmentedControlDemo"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -403,7 +405,8 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "Pol-Quintana.TwicketSegmentedControlDemo"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -426,7 +429,8 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -450,7 +454,8 @@ PRODUCT_BUNDLE_IDENTIFIER = "Pol-Quintana.TwicketSegmentedControl"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_VERSION = 4.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; From 6367337ca428ba523b28674a1306602a29293ab7 Mon Sep 17 00:00:00 2001 From: PoeticPete Date: Mon, 9 Oct 2017 14:59:31 -0400 Subject: [PATCH 2/2] fixed swift 3 @objc inference warnings --- .../project.pbxproj | 24 +++++++++++++++---- .../TwicketSegmentedControl.xcscheme | 4 +++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/project.pbxproj b/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/project.pbxproj index f6a2081..f4a6b2c 100644 --- a/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/project.pbxproj +++ b/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/project.pbxproj @@ -181,7 +181,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0800; - LastUpgradeCheck = 0800; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = "Pol Quintana"; TargetAttributes = { C18581821D8D7220001A9A00 = { @@ -296,7 +296,9 @@ 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_DOCUMENTATION_COMMENTS = YES; @@ -304,7 +306,12 @@ 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_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -346,7 +353,9 @@ 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_DOCUMENTATION_COMMENTS = YES; @@ -354,7 +363,12 @@ 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_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -390,7 +404,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "Pol-Quintana.TwicketSegmentedControlDemo"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.0; }; name = Debug; @@ -405,7 +419,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "Pol-Quintana.TwicketSegmentedControlDemo"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.0; }; name = Release; @@ -429,7 +443,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -454,7 +468,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "Pol-Quintana.TwicketSegmentedControl"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_SWIFT3_OBJC_INFERENCE = On; + SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; diff --git a/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/xcshareddata/xcschemes/TwicketSegmentedControl.xcscheme b/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/xcshareddata/xcschemes/TwicketSegmentedControl.xcscheme index db97b44..7688783 100644 --- a/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/xcshareddata/xcschemes/TwicketSegmentedControl.xcscheme +++ b/TwicketSegmentedControlDemo/TwicketSegmentedControlDemo.xcodeproj/xcshareddata/xcschemes/TwicketSegmentedControl.xcscheme @@ -1,6 +1,6 @@ @@ -36,6 +37,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO"