Skip to content

Commit 87ef0ed

Browse files
authored
Merge pull request #45 from asowers1/as/Swift4.2
Swift 4.2 Migration
2 parents 77325e6 + b12a05e commit 87ef0ed

File tree

16 files changed

+90
-31
lines changed

16 files changed

+90
-31
lines changed

.swift-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.0
1+
4.2

.travis.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
language: objective-c
2-
cache: cocoapods
3-
rvm: 2.2.2
4-
osx_image: xcode8
2+
rvm: 2.4.2
3+
osx_image: xcode10
54

65
env:
76
global:
@@ -10,7 +9,7 @@ env:
109
- PROJECT=SwiftyTimer.xcodeproj
1110

1211
before_install:
13-
- gem install cocoapods -v 1.1.0.rc2 # remove -v after it ships
12+
- gem install cocoapods
1413
- gem install xcpretty
1514

1615
script:
@@ -19,10 +18,8 @@ script:
1918
- xcodebuild -showsdks
2019

2120
- xcodebuild -project "$PROJECT" -scheme 'SwiftyTimer' -destination 'name=iPhone 6,OS=10.0' ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO build | xcpretty
22-
- xcodebuild -project "$PROJECT" -scheme 'SwiftyTimer tvOS' -sdk appletvsimulator10.0 -destination 'name=Apple TV 1080p' ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO build | xcpretty
21+
- xcodebuild -project "$PROJECT" -scheme 'SwiftyTimer tvOS' -sdk appletvsimulator12.0 -destination 'name=Apple TV' ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO build | xcpretty
2322
- xcodebuild -project "$PROJECT" -scheme 'SwiftyTimer watchOS' -sdk iphonesimulator -destination 'name=Apple Watch - 42mm' ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO build | xcpretty
2423
- xcodebuild -project "$PROJECT" -scheme 'SwiftyTimer OS X' ONLY_ACTIVE_ARCH=NO CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO build | xcpretty
2524

26-
- pod _1.1.0.rc2_ lib lint
27-
2825
- xcodebuild -archivePath 'Tests' -project SwiftyTimerTests/SwiftyTimerTests.xcodeproj -scheme 'SwiftyTimerTests' archive && Tests.xcarchive/Products/Applications/SwiftyTimerTests.app/Contents/MacOS/SwiftyTimerTests

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
### 2.1.0 (2018-10-14)
2+
3+
This version supports Swift 4.2 without introducing changes to the library workflow.
4+
Library source modifications include adopting new changes in the `RunLoopMode` enum introduced in Swift 4.2
5+
- Updated for Swift 4.2 and Xcode 10 #45 @asowers1
6+
17
### 2.0.0 (2016-09-23)
28

39
This is the Swift 3 update version.
@@ -41,4 +47,4 @@ It contains no major changes in the library itself, however it does change some
4147
- Initial release
4248
- `NSTimer.after(...)` and `NSTimer.every(...)`
4349
- `NSTimer.new`
44-
- Ruby on Rails-inspired time helpers like (5.seconds or 1.minute)
50+
- Ruby on Rails-inspired time helpers like (5.seconds or 1.minute)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[![CI Status](https://api.travis-ci.org/radex/SwiftyTimer.svg?branch=master)](https://travis-ci.org/radex/SwiftyTimer)
55
[![CocoaPods](http://img.shields.io/cocoapods/v/SwiftyTimer.svg)](https://cocoapods.org/pods/SwiftyTimer)
66
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](#carthage)
7-
![Swift version](https://img.shields.io/badge/swift-3.0-orange.svg)
7+
![Swift version](https://img.shields.io/badge/swift-4.2-orange.svg)
88

99
#### Modern Swifty API for `NSTimer`
1010
###### SwiftyTimer allows you to instantly schedule delays and repeating timers using convenient closure syntax. It's time to get rid of Objective-C cruft.

Sources/SwiftyTimer.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,8 @@ extension Timer {
104104
/// By default, the timer is scheduled on the current run loop for the default mode.
105105
/// Specify `runLoop` or `modes` to override these defaults.
106106

107-
public func start(runLoop: RunLoop = .current, modes: RunLoopMode...) {
108-
let modes = modes.isEmpty ? [.defaultRunLoopMode] : modes
107+
public func start(runLoop: RunLoop = .current, modes: RunLoop.Mode...) {
108+
let modes = modes.isEmpty ? [.default] : modes
109109

110110
for mode in modes {
111111
runLoop.add(self, forMode: mode)

SwiftyTimer.podspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
Pod::Spec.new do |s|
22
s.name = 'SwiftyTimer'
3-
s.version = '2.0.0'
3+
s.version = '2.1.0'
44
s.license = 'MIT'
55
s.summary = 'Swifty API for NSTimer'
66
s.homepage = 'https://github.com/radex/SwiftyTimer'
77
s.authors = { 'Radek Pietruszewski' => '[email protected]' }
88
s.source = { git: 'https://github.com/radex/SwiftyTimer.git', tag: s.version }
9-
9+
s.swift_version = '4.2'
1010
s.requires_arc = true
1111
s.ios.deployment_target = '8.0'
1212
s.osx.deployment_target = '10.9'
1313
s.tvos.deployment_target = '9.0'
1414
s.watchos.deployment_target = '2.0'
1515

1616
s.source_files = 'Sources/*.swift'
17-
end
17+
end

SwiftyTimer.xcodeproj/project.pbxproj

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@
205205
3E721AB21BF7255C008AF027 /* Project object */ = {
206206
isa = PBXProject;
207207
attributes = {
208-
LastUpgradeCheck = 0800;
208+
LastUpgradeCheck = 1000;
209209
ORGANIZATIONNAME = "Radosław Pietruszewski";
210210
TargetAttributes = {
211211
3E721ABA1BF7255D008AF027 = {
@@ -318,14 +318,22 @@
318318
CLANG_CXX_LIBRARY = "libc++";
319319
CLANG_ENABLE_MODULES = YES;
320320
CLANG_ENABLE_OBJC_ARC = YES;
321+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
321322
CLANG_WARN_BOOL_CONVERSION = YES;
323+
CLANG_WARN_COMMA = YES;
322324
CLANG_WARN_CONSTANT_CONVERSION = YES;
325+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
323326
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
324327
CLANG_WARN_EMPTY_BODY = YES;
325328
CLANG_WARN_ENUM_CONVERSION = YES;
326329
CLANG_WARN_INFINITE_RECURSION = YES;
327330
CLANG_WARN_INT_CONVERSION = YES;
331+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
332+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
333+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
328334
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
335+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
336+
CLANG_WARN_STRICT_PROTOTYPES = YES;
329337
CLANG_WARN_SUSPICIOUS_MOVE = YES;
330338
CLANG_WARN_UNREACHABLE_CODE = YES;
331339
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -355,7 +363,7 @@
355363
ONLY_ACTIVE_ARCH = YES;
356364
SDKROOT = iphoneos;
357365
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
358-
SWIFT_VERSION = 3.0;
366+
SWIFT_VERSION = 4.2;
359367
TARGETED_DEVICE_FAMILY = "1,2";
360368
VERSIONING_SYSTEM = "apple-generic";
361369
VERSION_INFO_PREFIX = "";
@@ -370,14 +378,22 @@
370378
CLANG_CXX_LIBRARY = "libc++";
371379
CLANG_ENABLE_MODULES = YES;
372380
CLANG_ENABLE_OBJC_ARC = YES;
381+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
373382
CLANG_WARN_BOOL_CONVERSION = YES;
383+
CLANG_WARN_COMMA = YES;
374384
CLANG_WARN_CONSTANT_CONVERSION = YES;
385+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
375386
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
376387
CLANG_WARN_EMPTY_BODY = YES;
377388
CLANG_WARN_ENUM_CONVERSION = YES;
378389
CLANG_WARN_INFINITE_RECURSION = YES;
379390
CLANG_WARN_INT_CONVERSION = YES;
391+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
392+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
393+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
380394
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
395+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
396+
CLANG_WARN_STRICT_PROTOTYPES = YES;
381397
CLANG_WARN_SUSPICIOUS_MOVE = YES;
382398
CLANG_WARN_UNREACHABLE_CODE = YES;
383399
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -400,7 +416,7 @@
400416
MTL_ENABLE_DEBUG_INFO = NO;
401417
SDKROOT = iphoneos;
402418
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
403-
SWIFT_VERSION = 3.0;
419+
SWIFT_VERSION = 4.2;
404420
TARGETED_DEVICE_FAMILY = "1,2";
405421
VALIDATE_PRODUCT = YES;
406422
VERSIONING_SYSTEM = "apple-generic";
@@ -425,6 +441,7 @@
425441
PRODUCT_BUNDLE_IDENTIFIER = io.radex.SwiftyTimer;
426442
PRODUCT_NAME = "$(TARGET_NAME)";
427443
SKIP_INSTALL = YES;
444+
SWIFT_VERSION = 4.2;
428445
};
429446
name = Debug;
430447
};
@@ -445,6 +462,7 @@
445462
PRODUCT_BUNDLE_IDENTIFIER = io.radex.SwiftyTimer;
446463
PRODUCT_NAME = "$(TARGET_NAME)";
447464
SKIP_INSTALL = YES;
465+
SWIFT_VERSION = 4.2;
448466
};
449467
name = Release;
450468
};
@@ -467,6 +485,7 @@
467485
PRODUCT_NAME = SwiftyTimer;
468486
SDKROOT = macosx;
469487
SKIP_INSTALL = YES;
488+
SWIFT_VERSION = 4.2;
470489
};
471490
name = Debug;
472491
};
@@ -489,6 +508,7 @@
489508
PRODUCT_NAME = SwiftyTimer;
490509
SDKROOT = macosx;
491510
SKIP_INSTALL = YES;
511+
SWIFT_VERSION = 4.2;
492512
};
493513
name = Release;
494514
};
@@ -508,6 +528,7 @@
508528
PRODUCT_NAME = SwiftyTimer;
509529
SDKROOT = appletvos;
510530
SKIP_INSTALL = YES;
531+
SWIFT_VERSION = 4.2;
511532
TARGETED_DEVICE_FAMILY = 3;
512533
TVOS_DEPLOYMENT_TARGET = 9.0;
513534
};
@@ -529,6 +550,7 @@
529550
PRODUCT_NAME = SwiftyTimer;
530551
SDKROOT = appletvos;
531552
SKIP_INSTALL = YES;
553+
SWIFT_VERSION = 4.2;
532554
TARGETED_DEVICE_FAMILY = 3;
533555
TVOS_DEPLOYMENT_TARGET = 9.0;
534556
};
@@ -550,6 +572,7 @@
550572
PRODUCT_NAME = SwiftyTimer;
551573
SDKROOT = watchos;
552574
SKIP_INSTALL = YES;
575+
SWIFT_VERSION = 4.2;
553576
TARGETED_DEVICE_FAMILY = 4;
554577
WATCHOS_DEPLOYMENT_TARGET = 2.0;
555578
};
@@ -571,6 +594,7 @@
571594
PRODUCT_NAME = SwiftyTimer;
572595
SDKROOT = watchos;
573596
SKIP_INSTALL = YES;
597+
SWIFT_VERSION = 4.2;
574598
TARGETED_DEVICE_FAMILY = 4;
575599
WATCHOS_DEPLOYMENT_TARGET = 2.0;
576600
};
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>

SwiftyTimer.xcodeproj/xcshareddata/xcschemes/SwiftyTimer OS X.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0800"
3+
LastUpgradeVersion = "1000"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

SwiftyTimer.xcodeproj/xcshareddata/xcschemes/SwiftyTimer tvOS.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0800"
3+
LastUpgradeVersion = "1000"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

SwiftyTimer.xcodeproj/xcshareddata/xcschemes/SwiftyTimer watchOS.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0800"
3+
LastUpgradeVersion = "1000"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

SwiftyTimer.xcodeproj/xcshareddata/xcschemes/SwiftyTimer.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0800"
3+
LastUpgradeVersion = "1000"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

SwiftyTimerTests/SwiftyTimerTests.xcodeproj/project.pbxproj

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
isa = PBXProject;
9191
attributes = {
9292
LastSwiftUpdateCheck = 0700;
93-
LastUpgradeCheck = 0800;
93+
LastUpgradeCheck = 1000;
9494
TargetAttributes = {
9595
6EE9C1521B00BB5B00D6B91C = {
9696
CreatedOnToolsVersion = 6.4;
@@ -147,14 +147,22 @@
147147
CLANG_CXX_LIBRARY = "libc++";
148148
CLANG_ENABLE_MODULES = YES;
149149
CLANG_ENABLE_OBJC_ARC = YES;
150+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
150151
CLANG_WARN_BOOL_CONVERSION = YES;
152+
CLANG_WARN_COMMA = YES;
151153
CLANG_WARN_CONSTANT_CONVERSION = YES;
154+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
152155
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
153156
CLANG_WARN_EMPTY_BODY = YES;
154157
CLANG_WARN_ENUM_CONVERSION = YES;
155158
CLANG_WARN_INFINITE_RECURSION = YES;
156159
CLANG_WARN_INT_CONVERSION = YES;
160+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
161+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
162+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
157163
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
164+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
165+
CLANG_WARN_STRICT_PROTOTYPES = YES;
158166
CLANG_WARN_SUSPICIOUS_MOVE = YES;
159167
CLANG_WARN_UNREACHABLE_CODE = YES;
160168
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -183,7 +191,7 @@
183191
ONLY_ACTIVE_ARCH = YES;
184192
SDKROOT = macosx;
185193
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
186-
SWIFT_VERSION = 3.0;
194+
SWIFT_VERSION = 4.2;
187195
};
188196
name = Debug;
189197
};
@@ -195,14 +203,22 @@
195203
CLANG_CXX_LIBRARY = "libc++";
196204
CLANG_ENABLE_MODULES = YES;
197205
CLANG_ENABLE_OBJC_ARC = YES;
206+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
198207
CLANG_WARN_BOOL_CONVERSION = YES;
208+
CLANG_WARN_COMMA = YES;
199209
CLANG_WARN_CONSTANT_CONVERSION = YES;
210+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
200211
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
201212
CLANG_WARN_EMPTY_BODY = YES;
202213
CLANG_WARN_ENUM_CONVERSION = YES;
203214
CLANG_WARN_INFINITE_RECURSION = YES;
204215
CLANG_WARN_INT_CONVERSION = YES;
216+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
217+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
218+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
205219
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
220+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
221+
CLANG_WARN_STRICT_PROTOTYPES = YES;
206222
CLANG_WARN_SUSPICIOUS_MOVE = YES;
207223
CLANG_WARN_UNREACHABLE_CODE = YES;
208224
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -222,7 +238,7 @@
222238
MACOSX_DEPLOYMENT_TARGET = 10.10;
223239
MTL_ENABLE_DEBUG_INFO = NO;
224240
SDKROOT = macosx;
225-
SWIFT_VERSION = 3.0;
241+
SWIFT_VERSION = 4.2;
226242
};
227243
name = Release;
228244
};
@@ -235,7 +251,7 @@
235251
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks";
236252
PRODUCT_BUNDLE_IDENTIFIER = "radex.$(PRODUCT_NAME:rfc1034identifier)";
237253
PRODUCT_NAME = "$(TARGET_NAME)";
238-
SWIFT_VERSION = 3.0;
254+
SWIFT_VERSION = 4.2;
239255
};
240256
name = Debug;
241257
};
@@ -249,7 +265,7 @@
249265
PRODUCT_BUNDLE_IDENTIFIER = "radex.$(PRODUCT_NAME:rfc1034identifier)";
250266
PRODUCT_NAME = "$(TARGET_NAME)";
251267
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
252-
SWIFT_VERSION = 3.0;
268+
SWIFT_VERSION = 4.2;
253269
};
254270
name = Release;
255271
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>

SwiftyTimerTests/SwiftyTimerTests.xcodeproj/xcshareddata/xcschemes/SwiftyTimerTests.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "0800"
3+
LastUpgradeVersion = "1000"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

0 commit comments

Comments
 (0)