From 961f89e46e9c812832b0fe9bc7c17edd2da4e5c4 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 14 Sep 2016 16:46:02 +0100 Subject: [PATCH] Migrate project to Swift 3. --- Source/Info.plist | 2 +- Source/TPObfuscatedString.swift | 6 ++-- Source/TPObfuscatedStringConverter.swift | 10 +++---- TPObfuscatedString.podspec | 2 +- TPObfuscatedString.xcodeproj/project.pbxproj | 26 ++++++++++++------ .../UserInterfaceState.xcuserstate | Bin 10431 -> 0 bytes .../xcschemes/TPObfuscatedString.xcscheme | 2 +- .../TPObfuscatedStringTests.swift | 14 +++++----- 8 files changed, 35 insertions(+), 27 deletions(-) delete mode 100644 TPObfuscatedString.xcodeproj/project.xcworkspace/xcuserdata/dan.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/Source/Info.plist b/Source/Info.plist index 5f59404..60b9c00 100644 --- a/Source/Info.plist +++ b/Source/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 0.0.1 + 1.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/Source/TPObfuscatedString.swift b/Source/TPObfuscatedString.swift index a3c5c47..29d1286 100644 --- a/Source/TPObfuscatedString.swift +++ b/Source/TPObfuscatedString.swift @@ -113,6 +113,6 @@ public extension String { } -private func UC(value: Int) -> String { - return String(Character(UnicodeScalar(value))) -} \ No newline at end of file +private func UC(_ value: Int) -> String { + return String(Character(UnicodeScalar(value)!)) +} diff --git a/Source/TPObfuscatedStringConverter.swift b/Source/TPObfuscatedStringConverter.swift index 51eda8b..d42ec09 100644 --- a/Source/TPObfuscatedStringConverter.swift +++ b/Source/TPObfuscatedStringConverter.swift @@ -14,8 +14,8 @@ class TPObfuscatedStringConverter { let characters = phrase.characters var result = [String]() - let formatter = NSNumberFormatter() - formatter.numberStyle = NSNumberFormatterStyle.SpellOutStyle + let formatter = NumberFormatter() + formatter.numberStyle = NumberFormatter.Style.spellOut for c in characters { let s = String(c).unicodeScalars @@ -25,7 +25,7 @@ class TPObfuscatedStringConverter { result.append(String(c)) break case 48...57: - result.append(formatter.stringFromNumber(Int(String(c))!)!) + result.append(formatter.string(from: NSNumber(value: Int(String(c))!))!) break case 32: result.append("space") @@ -131,8 +131,8 @@ class TPObfuscatedStringConverter { break } } - return result.joinWithSeparator(".") + return result.joined(separator: ".") } -} \ No newline at end of file +} diff --git a/TPObfuscatedString.podspec b/TPObfuscatedString.podspec index cf24789..d71bfda 100644 --- a/TPObfuscatedString.podspec +++ b/TPObfuscatedString.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "TPObfuscatedString" - s.version = "0.0.2" + s.version = "1.0.0" s.license = "MIT" s.summary = "Simple and basic string obfuscating - based on UAObfuscatedString by Matt Coneybeare" s.homepage = "https://github.com/Techprimate/TPObfuscatedString" diff --git a/TPObfuscatedString.xcodeproj/project.pbxproj b/TPObfuscatedString.xcodeproj/project.pbxproj index d9a926d..80085ac 100644 --- a/TPObfuscatedString.xcodeproj/project.pbxproj +++ b/TPObfuscatedString.xcodeproj/project.pbxproj @@ -178,14 +178,17 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0700; + LastUpgradeCheck = 0800; ORGANIZATIONNAME = "Philip Niedertscheider"; TargetAttributes = { D4DB29441B8EFE0900E6E8D4 = { CreatedOnToolsVersion = 6.4; + LastSwiftMigration = 0800; + ProvisioningStyle = Manual; }; D4DB296E1B8F017D00E6E8D4 = { CreatedOnToolsVersion = 6.4; + LastSwiftMigration = 0800; }; }; }; @@ -269,8 +272,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"; @@ -318,8 +323,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"; @@ -339,6 +346,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.4; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -350,7 +358,9 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -361,6 +371,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; }; name = Debug; }; @@ -368,7 +379,9 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -378,16 +391,13 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.niedertscheider.philip.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; }; name = Release; }; D4DB29791B8F017D00E6E8D4 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -396,20 +406,18 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.niedertscheider.philip.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; }; name = Debug; }; D4DB297A1B8F017D00E6E8D4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); INFOPLIST_FILE = TPObfuscatedStringTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.niedertscheider.philip.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; }; name = Release; }; diff --git a/TPObfuscatedString.xcodeproj/project.xcworkspace/xcuserdata/dan.xcuserdatad/UserInterfaceState.xcuserstate b/TPObfuscatedString.xcodeproj/project.xcworkspace/xcuserdata/dan.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 9f0c64369947dda60b63a440204bcf73e4019c49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10431 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 diff --git a/TPObfuscatedString.xcodeproj/xcshareddata/xcschemes/TPObfuscatedString.xcscheme b/TPObfuscatedString.xcodeproj/xcshareddata/xcschemes/TPObfuscatedString.xcscheme index 798f836..b6938b1 100644 --- a/TPObfuscatedString.xcodeproj/xcshareddata/xcschemes/TPObfuscatedString.xcscheme +++ b/TPObfuscatedString.xcodeproj/xcshareddata/xcschemes/TPObfuscatedString.xcscheme @@ -1,6 +1,6 @@ Void in + measure { () -> Void in var _ = "z{OpsNY^3xo\"-WO[k+0NGlXX&k()\t=&[#:th:t.Wb.Ow&dQ=\"aoi@s>N2_J String { var result = "" for _ in 0.. String { - let methodParts = method.componentsSeparatedByString(".") + let methodParts = method.components(separatedBy: ".") var result = TPObStr for call in methodParts { if call == "zero" { @@ -350,4 +350,4 @@ func callMethod(method: String) -> String { } } return result -} \ No newline at end of file +}