diff --git a/.travis.yml b/.travis.yml index 500c0c9..1d422d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ # reference: http://www.objc.io/issue-6/travis-ci.html language: objective-c -osx_image: xcode7.2 +osx_image: xcode8 script: -- xctool test -project SwiftHEXColors.xcodeproj -scheme SwiftHEXColors -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO +- xcodebuild clean test -project SwiftHEXColors.xcodeproj -scheme SwiftHEXColors -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6,OS=10.0' ONLY_ACTIVE_ARCH=NO diff --git a/README.md b/README.md index 0b2a91e..b63dd9d 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,8 @@ Run `carthage update` to build the framework and drag the built `SwiftHEXColors. - Drag and drop `SwiftHEXColors.swift` file into your project # Requirements -iOS 8.0 or above. +- Swift 3 +- iOS 8.0 or above. # License [MIT](http://thi.mit-license.org/) diff --git a/Sources/SwiftHEXColors.swift b/Sources/SwiftHEXColors.swift index 4c85f0e..a37791f 100644 --- a/Sources/SwiftHEXColors.swift +++ b/Sources/SwiftHEXColors.swift @@ -46,13 +46,13 @@ public extension SWColor { self.init(hexString: hexString, alpha: 1.0) } - private convenience init?(hex3: Int, alpha: Float) { + fileprivate convenience init?(hex3: Int, alpha: Float) { self.init(red: CGFloat( ((hex3 & 0xF00) >> 8).duplicate4bits() ) / 255.0, green: CGFloat( ((hex3 & 0x0F0) >> 4).duplicate4bits() ) / 255.0, blue: CGFloat( ((hex3 & 0x00F) >> 0).duplicate4bits() ) / 255.0, alpha: CGFloat(alpha)) } - private convenience init?(hex6: Int, alpha: Float) { + fileprivate convenience init?(hex6: Int, alpha: Float) { self.init(red: CGFloat( (hex6 & 0xFF0000) >> 16 ) / 255.0, green: CGFloat( (hex6 & 0x00FF00) >> 8 ) / 255.0, blue: CGFloat( (hex6 & 0x0000FF) >> 0 ) / 255.0, alpha: CGFloat(alpha)) @@ -70,7 +70,7 @@ public extension SWColor { // Check for hash and remove the hash if hex.hasPrefix("#") { - hex = hex.substringFromIndex(hex.startIndex.advancedBy(1)) + hex = hex.substring(from: hex.index(hex.startIndex, offsetBy: 1)) } guard let hexVal = Int(hex, radix: 16) else { diff --git a/SwiftHEXColors.xcodeproj/project.pbxproj b/SwiftHEXColors.xcodeproj/project.pbxproj index 2e02ef2..9c8cdf2 100644 --- a/SwiftHEXColors.xcodeproj/project.pbxproj +++ b/SwiftHEXColors.xcodeproj/project.pbxproj @@ -146,13 +146,15 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0720; - LastUpgradeCheck = 0710; + LastUpgradeCheck = 0800; TargetAttributes = { 844B370E1C561B0B009DC82F = { CreatedOnToolsVersion = 7.2; + LastSwiftMigration = 0800; }; 84B79F861C058E4400CAF4AA = { CreatedOnToolsVersion = 7.1.1; + LastSwiftMigration = 0800; }; }; }; @@ -227,6 +229,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = im.thi.SwiftHEXColorsTests; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; }; name = Debug; }; @@ -238,6 +241,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = im.thi.SwiftHEXColorsTests; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; }; name = Release; }; @@ -254,8 +258,10 @@ 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -283,6 +289,7 @@ ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -302,8 +309,10 @@ 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -323,6 +332,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -334,6 +345,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -345,6 +357,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; }; name = Debug; }; @@ -352,6 +365,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -362,6 +376,7 @@ PRODUCT_BUNDLE_IDENTIFIER = im.thi.SwiftHEXColors; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; }; name = Release; }; diff --git a/SwiftHEXColors.xcodeproj/xcshareddata/xcschemes/SwiftHEXColors.xcscheme b/SwiftHEXColors.xcodeproj/xcshareddata/xcschemes/SwiftHEXColors.xcscheme index c890058..ff54a30 100644 --- a/SwiftHEXColors.xcodeproj/xcshareddata/xcschemes/SwiftHEXColors.xcscheme +++ b/SwiftHEXColors.xcodeproj/xcshareddata/xcschemes/SwiftHEXColors.xcscheme @@ -1,6 +1,6 @@ Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool { return true } } diff --git a/SwiftHEXColorsExamples/Info.plist b/SwiftHEXColorsExamples/Info.plist index a558ff2..40c6215 100644 --- a/SwiftHEXColorsExamples/Info.plist +++ b/SwiftHEXColorsExamples/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - codes.thi.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/SwiftHEXColorsExamples/ViewController.swift b/SwiftHEXColorsExamples/ViewController.swift index 0e73e00..e3178de 100644 --- a/SwiftHEXColorsExamples/ViewController.swift +++ b/SwiftHEXColorsExamples/ViewController.swift @@ -28,7 +28,7 @@ class ViewController: UIViewController { super.viewDidLoad() } - @IBAction func colorOne(sender: UIButton) { + @IBAction func colorOne(_ sender: UIButton) { view.backgroundColor = UIColor(hexString: sender.titleLabel!.text!) } } diff --git a/Tests/SwiftHEXColorsTests.swift b/Tests/SwiftHEXColorsTests.swift index 54c3c27..f6bf246 100644 --- a/Tests/SwiftHEXColorsTests.swift +++ b/Tests/SwiftHEXColorsTests.swift @@ -112,7 +112,7 @@ class SwiftHEXColorsTests: XCTestCase { // test how Apple might create the black color func testBlackColorAppleWay() { - let blackColor1 = SWColor.blackColor() + let blackColor1 = SWColor.black let blackColor2 = SWColor(white: 0.0, alpha: 1.0) XCTAssertEqual(blackColor1, blackColor2) }