diff --git a/Authenticator.xcodeproj/project.pbxproj b/Authenticator.xcodeproj/project.pbxproj index 942666c..651b546 100644 --- a/Authenticator.xcodeproj/project.pbxproj +++ b/Authenticator.xcodeproj/project.pbxproj @@ -785,7 +785,7 @@ "$(BUILT_PRODUCTS_DIR)", ); GCC_DYNAMIC_NO_PIC = NO; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; SWIFT_VERSION = 4.0; }; name = Debug; @@ -800,7 +800,7 @@ "$(BUILT_PRODUCTS_DIR)", ); GCC_DYNAMIC_NO_PIC = NO; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; SWIFT_VERSION = 4.0; }; name = Release; diff --git a/Authenticator/Source/Demo.swift b/Authenticator/Source/Demo.swift index 857c803..b704469 100644 --- a/Authenticator/Source/Demo.swift +++ b/Authenticator/Source/Demo.swift @@ -88,8 +88,8 @@ struct DemoTokenStore: TokenStore { private extension Token { init(name: String = "", issuer: String = "", factor: Generator.Factor) { - // swiftlint:disable:next force_unwrapping - let generator = Generator(factor: factor, secret: Data(), algorithm: .sha1, digits: 6)! + // swiftlint:disable:next force_try + let generator = try! Generator(factor: factor, secret: Data(), algorithm: .sha1, digits: 6) self.init(name: name, issuer: issuer, generator: generator) } } diff --git a/Authenticator/Source/OTPAppDelegate.swift b/Authenticator/Source/OTPAppDelegate.swift index 1d46636..ab30187 100644 --- a/Authenticator/Source/OTPAppDelegate.swift +++ b/Authenticator/Source/OTPAppDelegate.swift @@ -62,7 +62,7 @@ class OTPAppDelegate: UIResponder, UIApplicationDelegate { } func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey: Any] = [:]) -> Bool { - if let token = Token(url: url) { + if let token = try? Token(url: url) { let message = "Do you want to add a token for “\(token.name)”?" let alert = UIAlertController(title: "Add Token", message: message, preferredStyle: .alert) diff --git a/Authenticator/Source/TokenEntryForm.swift b/Authenticator/Source/TokenEntryForm.swift index b25a849..db7a8ed 100644 --- a/Authenticator/Source/TokenEntryForm.swift +++ b/Authenticator/Source/TokenEntryForm.swift @@ -224,7 +224,7 @@ extension TokenEntryForm { factor = defaultTimerFactor } - guard let generator = Generator( + guard let generator = try? Generator( factor: factor, secret: secretData, algorithm: algorithm, diff --git a/Authenticator/Source/TokenScanner.swift b/Authenticator/Source/TokenScanner.swift index 39f20a2..9ddb317 100644 --- a/Authenticator/Source/TokenScanner.swift +++ b/Authenticator/Source/TokenScanner.swift @@ -77,7 +77,7 @@ struct TokenScanner: Component { case .scannerDecodedText(let text): // Attempt to create a token from the decoded text guard let url = URL(string: text), - let token = Token(url: url) else { + let token = try? Token(url: url) else { // Show an error message return .showErrorMessage("Invalid Token") } diff --git a/AuthenticatorTests/TableDiffTests.swift b/AuthenticatorTests/TableDiffTests.swift index b2e3406..e58c5d6 100644 --- a/AuthenticatorTests/TableDiffTests.swift +++ b/AuthenticatorTests/TableDiffTests.swift @@ -30,12 +30,12 @@ import XCTest class TableDiffTests: XCTestCase { private let defaultDigitGroupSize = 2 - func testNoChanges() { + func testNoChanges() throws { // swiftlint:disable force_unwrapping - let generator = Generator(factor: .timer(period: 60), - secret: "secret".data(using: String.Encoding.utf8)!, - algorithm: .sha256, - digits: 6)! + let generator = try Generator(factor: .timer(period: 60), + secret: "secret".data(using: String.Encoding.utf8)!, + algorithm: .sha256, + digits: 6) // swiftlint:enable force_unwrapping let token = Token(name: "Token Name", issuer: "Token Issuer", diff --git a/AuthenticatorTests/TokenListTests.swift b/AuthenticatorTests/TokenListTests.swift index 54b2ef4..5782a19 100644 --- a/AuthenticatorTests/TokenListTests.swift +++ b/AuthenticatorTests/TokenListTests.swift @@ -158,10 +158,11 @@ func mockPersistentTokens(_ list: [(String, String)]) -> [PersistentToken] { func mockToken(name: String, issuer: String, secret: String = "mocksecret") -> Token { // swiftlint:disable force_unwrapping - let generator = Generator(factor: .timer(period: 60), - secret: secret.data(using: String.Encoding.utf8)!, - algorithm: .sha256, - digits: 6)! + // swiftlint:disable:next force_try + let generator = try! Generator(factor: .timer(period: 60), + secret: secret.data(using: String.Encoding.utf8)!, + algorithm: .sha256, + digits: 6) // swiftlint:enable force_unwrapping return Token(name: name, issuer: issuer, generator: generator) } diff --git a/AuthenticatorTests/TokenScannerTests.swift b/AuthenticatorTests/TokenScannerTests.swift index c9b7bd9..7cccd04 100644 --- a/AuthenticatorTests/TokenScannerTests.swift +++ b/AuthenticatorTests/TokenScannerTests.swift @@ -103,7 +103,7 @@ class TokenScannerTests: XCTestCase { XCTAssertTrue(tokenScanner.viewModel.isScanning) } - func testScannerDecodedGoodURL() { + func testScannerDecodedGoodURL() throws { var tokenScanner = TokenScanner() XCTAssertTrue(tokenScanner.viewModel.isScanning) @@ -116,7 +116,7 @@ class TokenScannerTests: XCTestCase { return } // swiftlint:disable:next force_unwrapping - let expectedToken = Token(url: URL(string: urlString)!) + let expectedToken = try Token(url: URL(string: urlString)!) XCTAssertEqual(token, expectedToken) // The scanner should stop after the first successful token capture. diff --git a/Cartfile b/Cartfile index c8c0ec8..2ecb519 100644 --- a/Cartfile +++ b/Cartfile @@ -1,4 +1,4 @@ # Configuration for Carthage (https://github.com/Carthage/Carthage) -github "mattrubin/OneTimePassword" ~> 3.2 +github "mattrubin/OneTimePassword" "4.0.0-pre.0" github "SVProgressHUD/SVProgressHUD" ~> 2.2 diff --git a/Cartfile.resolved b/Cartfile.resolved index f9c3d61..2fe2815 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,5 +1,5 @@ github "SVProgressHUD/SVProgressHUD" "2.2.5" -github "mattrubin/Base32" "1.1.2+xcode10.2" -github "mattrubin/OneTimePassword" "3.2.0" +github "mattrubin/Base32" "1.2.0" +github "mattrubin/OneTimePassword" "4.0.0-pre.0" github "shinydevelopment/SimulatorStatusMagic" "2.7" github "xcconfigs/xcconfigs" "1.1" diff --git a/Carthage/Checkouts/Base32 b/Carthage/Checkouts/Base32 index d326580..6389546 160000 --- a/Carthage/Checkouts/Base32 +++ b/Carthage/Checkouts/Base32 @@ -1 +1 @@ -Subproject commit d3265800b6c0ac9c0927f7989d0750017dd10ffc +Subproject commit 6389546e8e9a34a9d9db452726900383f3e4ac57 diff --git a/Carthage/Checkouts/OneTimePassword b/Carthage/Checkouts/OneTimePassword index ce76e15..66f284e 160000 --- a/Carthage/Checkouts/OneTimePassword +++ b/Carthage/Checkouts/OneTimePassword @@ -1 +1 @@ -Subproject commit ce76e15025a2091fd109c5cb12901808dc75f0fb +Subproject commit 66f284e22c170ffcc2c9dcf055a1efeb260c766d