Skip to content

Commit ce76e15

Browse files
authored
Release OneTimePassword 3.2.0
2 parents 8e32517 + 1a203dc commit ce76e15

39 files changed

+240
-441
lines changed

.swift-version

Lines changed: 0 additions & 1 deletion
This file was deleted.

.swiftlint.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ opt_in_rules:
2929
- implicit_return
3030
- implicitly_unwrapped_optional
3131
- joined_default_parameter
32+
- last_where
33+
- legacy_multiple
3234
- legacy_random
3335
- let_var_whitespace
3436
- literal_expression_end_indentation
@@ -38,13 +40,16 @@ opt_in_rules:
3840
- multiline_literal_brackets
3941
- multiline_parameters
4042
- nimble_operator
43+
- nslocalizedstring_key
4144
- operator_usage_whitespace
4245
- overridden_super_call
4346
- override_in_extension
4447
- pattern_matching_keywords
4548
- private_action
4649
- private_outlet
50+
- prohibited_interface_builder
4751
- prohibited_super_call
52+
- reduce_into
4853
- redundant_nil_coalescing
4954
- single_test_class
5055
- sorted_first_last
@@ -53,14 +58,18 @@ opt_in_rules:
5358
- toggle_bool
5459
- unavailable_function
5560
- unneeded_parentheses_in_closure_argument
61+
- unowned_variable_capture
5662
- untyped_error_in_catch
63+
- unused_declaration
5764
- unused_import
58-
- unused_private_declaration
5965
- vertical_parameter_alignment_on_call
66+
- vertical_whitespace_closing_braces
67+
- vertical_whitespace_opening_braces
68+
- xct_specific_matcher
6069
- yoda_condition
70+
6171
disabled_rules:
6272
- cyclomatic_complexity
63-
- identifier_name
6473

6574
colon:
6675
flexible_right_spacing: true

.travis.yml

Lines changed: 23 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5,59 +5,49 @@ language: objective-c
55
xcode_workspace: OneTimePassword.xcworkspace
66
xcode_scheme: OneTimePassword (iOS)
77

8-
osx_image: xcode10
8+
osx_image: xcode10.3
9+
10+
before_install:
11+
- gem install cocoapods -v 1.7
912

1013
env:
1114
- RUNTIME="iOS 10.3" DEVICE="iPhone 7 Plus"
12-
- RUNTIME="iOS 11.3" DEVICE="iPhone X"
13-
- RUNTIME="iOS 12.0" DEVICE="iPhone XS Max"
15+
- RUNTIME="iOS 11.4" DEVICE="iPhone X"
16+
- RUNTIME="iOS 12.4" DEVICE="iPhone XS Max"
1417

1518
# Include builds for watchOS
1619
matrix:
1720
include:
18-
# Include an Xcode 9.0 build to test Swift 4.0 support
19-
- osx_image: xcode9
20-
env: RUNTIME="iOS 11.0" DEVICE="iPhone 8"
21-
# Include an Xcode 9.2 build to test on iOS 8.x, because Xcode 9.3's iOS 8 simulator fails to launch
22-
- osx_image: xcode9.2
23-
env: RUNTIME="iOS 8.4" DEVICE="iPhone 4s"
24-
# Include an Xcode 9.4 build to ensure compatibility until Xcode 10 is in widespread use
25-
- osx_image: xcode9.4
26-
env: RUNTIME="iOS 9.3" DEVICE="iPhone 6s"
2721
# Include several build-only jobs for watchOS
2822
- xcode_scheme: OneTimePassword (watchOS)
29-
env: BUILD_ONLY="YES" RUNTIME="watchOS 5.0" DEVICE="Apple Watch Series 4 - 44mm"
23+
env: BUILD_ONLY="YES" RUNTIME="watchOS 5.1" DEVICE="Apple Watch Series 4 - 44mm"
3024
- xcode_scheme: OneTimePassword (watchOS)
31-
osx_image: xcode9.4
32-
env: BUILD_ONLY="YES" RUNTIME="watchOS 4.3" DEVICE="Apple Watch Series 3 - 38mm"
25+
env: BUILD_ONLY="YES" RUNTIME="watchOS 4.2" DEVICE="Apple Watch Series 3 - 38mm"
3326
- xcode_scheme: OneTimePassword (watchOS)
3427
env: BUILD_ONLY="YES" RUNTIME="watchOS 3.2" DEVICE="Apple Watch Series 2 - 42mm"
3528
- xcode_scheme: OneTimePassword (watchOS)
29+
osx_image: xcode10.2
3630
env: BUILD_ONLY="YES" RUNTIME="watchOS 2.0" DEVICE="Apple Watch - 38mm"
37-
# Include Carthage builds
31+
# Build with Carthage
3832
- env:
3933
before_script:
4034
script: carthage build --no-skip-current
41-
- osx_image: xcode9
35+
# Build with CocoaPods
36+
- &cocoapods
4237
env:
4338
before_script:
44-
script: carthage build --no-skip-current
45-
# Include CocoaPods builds
46-
- env:
47-
before_script:
48-
script: pod lib lint --allow-warnings
49-
- osx_image: xcode9
50-
env:
51-
before_install: gem update cocoapods
52-
before_script:
53-
script: pod lib lint --allow-warnings --verbose
54-
allow_failures:
55-
# Allow the Xcode 9 `pod lib lint` to fail, as this test method currently has an issue using the custom CommonCrypto module maps.
56-
- osx_image: xcode9
57-
env:
58-
before_install: gem update cocoapods
59-
before_script:
6039
script: pod lib lint --allow-warnings --verbose
40+
# Build with Xcode 10.1 and Swift 4.2
41+
- &swift42
42+
osx_image: xcode10.1
43+
env: RUNTIME="iOS 8.4" DEVICE="iPhone 4s"
44+
script: set -o pipefail && xcodebuild -workspace "$TRAVIS_XCODE_WORKSPACE" -scheme "$TRAVIS_XCODE_SCHEME" -destination "id=$DESTINATION_ID" SWIFT_VERSION=4.2 $ACTIONS | xcpretty -c
45+
- <<: *swift42
46+
env: RUNTIME="iOS 9.3" DEVICE="iPhone 6s"
47+
# Build with CocoaPods and Swift 4.2
48+
- <<: *cocoapods
49+
osx_image: xcode10.1
50+
script: pod lib lint --allow-warnings --verbose --swift-version=4.2
6151

6252
before_script:
6353
- DEVICE_ID=com.apple.CoreSimulator.SimDeviceType.$(echo $DEVICE | sed -E -e "s/[ \-]+/ /g" -e "s/[^[:alnum:]]/-/g")

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,21 @@
22

33
<!--## [In development][develop]-->
44

5+
## [3.2.0][] (2019-09-20)
6+
7+
- Upgrade the source to compile with both Swift 4.2 and Swift 5.
8+
([#201](https://github.com/mattrubin/OneTimePassword/pull/201),
9+
[#202](https://github.com/mattrubin/OneTimePassword/pull/202),
10+
[#204](https://github.com/mattrubin/OneTimePassword/pull/204),
11+
[#209](https://github.com/mattrubin/OneTimePassword/pull/209),
12+
[#215](https://github.com/mattrubin/OneTimePassword/pull/215),
13+
[#216](https://github.com/mattrubin/OneTimePassword/pull/216))
14+
- Update the SwiftLint configuration, and move the SwiftLint build phase to a separate dedicated target so that new lint errors do not interfere with consumers of the framework.
15+
([#212](https://github.com/mattrubin/OneTimePassword/pull/212),
16+
[#206](https://github.com/mattrubin/OneTimePassword/pull/206))
17+
- Upgrade xcconfigs to enable new warnings introduced in Xcode 10.2
18+
([#203](https://github.com/mattrubin/OneTimePassword/pull/203))
19+
520
## [3.1.5][] (2019-04-11)
621
- Enable additional linting and CI testing.
722
([#196](https://github.com/mattrubin/OneTimePassword/pull/196),
@@ -175,6 +190,7 @@ Changes between prerelease versions of OneTimePassword version 2 can be found be
175190

176191
[develop]: https://github.com/mattrubin/OneTimePassword/compare/3.1.5...develop
177192

193+
[3.2.0]: https://github.com/mattrubin/OneTimePassword/compare/3.1.5...3.2.0
178194
[3.1.5]: https://github.com/mattrubin/OneTimePassword/compare/3.1.4...3.1.5
179195
[3.1.4]: https://github.com/mattrubin/OneTimePassword/compare/3.1.3...3.1.4
180196
[3.1.3]: https://github.com/mattrubin/OneTimePassword/compare/3.1.2...3.1.3

Cartfile.private

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Configuration for Carthage (https://github.com/Carthage/Carthage)
22

3-
github "jspahrsummers/xcconfigs" ~> 0.12
3+
github "jspahrsummers/xcconfigs" ~> 1.0

Cartfile.resolved

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
github "jspahrsummers/xcconfigs" "0.12"
1+
github "jspahrsummers/xcconfigs" "1.0"
22
github "mattrubin/Base32" "1.1.2+xcode10.2"

Carthage/Checkouts/xcconfigs

CommonCrypto/README.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

CommonCrypto/appletvos/module.modulemap

Lines changed: 0 additions & 4 deletions
This file was deleted.

CommonCrypto/appletvsimulator/module.modulemap

Lines changed: 0 additions & 4 deletions
This file was deleted.

CommonCrypto/injectXcodePath.sh

Lines changed: 0 additions & 62 deletions
This file was deleted.

CommonCrypto/iphoneos/module.modulemap

Lines changed: 0 additions & 4 deletions
This file was deleted.

CommonCrypto/iphonesimulator/module.modulemap

Lines changed: 0 additions & 4 deletions
This file was deleted.

CommonCrypto/macosx/module.modulemap

Lines changed: 0 additions & 4 deletions
This file was deleted.

CommonCrypto/watchos/module.modulemap

Lines changed: 0 additions & 4 deletions
This file was deleted.

CommonCrypto/watchsimulator/module.modulemap

Lines changed: 0 additions & 4 deletions
This file was deleted.

Configuration/OneTimePassword.xcconfig

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,3 @@ PRODUCT_BUNDLE_IDENTIFIER = me.mattrubin.onetimepassword;
33
INFOPLIST_FILE = Sources/Info.plist;
44

55
SWIFT_INSTALL_OBJC_HEADER = NO;
6-
7-
SWIFT_INCLUDE_PATHS[sdk=appletvos*] = $(SRCROOT)/CommonCrypto/appletvos;
8-
SWIFT_INCLUDE_PATHS[sdk=appletvsimulator*] = $(SRCROOT)/CommonCrypto/appletvsimulator;
9-
SWIFT_INCLUDE_PATHS[sdk=iphoneos*] = $(SRCROOT)/CommonCrypto/iphoneos;
10-
SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*] = $(SRCROOT)/CommonCrypto/iphonesimulator;
11-
SWIFT_INCLUDE_PATHS[sdk=macosx*] = $(SRCROOT)/CommonCrypto/macosx;
12-
SWIFT_INCLUDE_PATHS[sdk=watchos*] = $(SRCROOT)/CommonCrypto/watchos;
13-
SWIFT_INCLUDE_PATHS[sdk=watchsimulator*] = $(SRCROOT)/CommonCrypto/watchsimulator;

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2013-2017 Matt Rubin and the [OneTimePassword authors](AUTHORS.txt)
3+
Copyright (c) 2013-2019 Matt Rubin and the [OneTimePassword authors](AUTHORS.txt)
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

OneTimePassword.podspec

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,15 @@
11
Pod::Spec.new do |s|
22
s.name = "OneTimePassword"
3-
s.version = "3.1.5"
3+
s.version = "3.2.0"
44
s.summary = "A small library for generating TOTP and HOTP one-time passwords."
55
s.homepage = "https://github.com/mattrubin/OneTimePassword"
66
s.license = "MIT"
77
s.author = "Matt Rubin"
8-
s.swift_version = "4.0"
8+
s.swift_versions = ["4.2", "5.0"]
99
s.ios.deployment_target = "8.0"
1010
s.watchos.deployment_target = "2.0"
1111
s.source = { :git => "https://github.com/mattrubin/OneTimePassword.git", :tag => s.version }
1212
s.source_files = "Sources/*.{swift}"
1313
s.requires_arc = true
1414
s.dependency "Base32", "~> 1.1.2"
15-
s.pod_target_xcconfig = {
16-
"SWIFT_INCLUDE_PATHS[sdk=appletvos*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/appletvos",
17-
"SWIFT_INCLUDE_PATHS[sdk=appletvsimulator*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/appletvsimulator",
18-
"SWIFT_INCLUDE_PATHS[sdk=iphoneos*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/iphoneos",
19-
"SWIFT_INCLUDE_PATHS[sdk=iphonesimulator*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/iphonesimulator",
20-
"SWIFT_INCLUDE_PATHS[sdk=macosx*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/macosx",
21-
"SWIFT_INCLUDE_PATHS[sdk=watchos*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/watchos",
22-
"SWIFT_INCLUDE_PATHS[sdk=watchsimulator*]" => "$(SRCROOT)/OneTimePassword/CommonCrypto/watchsimulator",
23-
}
24-
s.preserve_paths = "CommonCrypto/*"
25-
# The prepare_command "will be executed after the Pod is downloaded."
26-
# The script is *not* run on every build, or even on every `pod install`, so if the selected
27-
# Xcode path changes after the pod is downloaded, you may need to clear the pod from the cache at
28-
# ~/Library/Caches/CocoaPods so the script can update the modulemaps with the new path.
29-
# https://guides.cocoapods.org/syntax/podspec.html#prepare_command
30-
s.prepare_command = "CommonCrypto/injectXcodePath.sh"
3115
end

0 commit comments

Comments
 (0)