Skip to content

Commit 614a2af

Browse files
committed
Update to Swift 4.0
1 parent b890460 commit 614a2af

File tree

8 files changed

+95
-16
lines changed

8 files changed

+95
-16
lines changed

.swift-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.1
1+
4.0

DataDecoder.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
Pod::Spec.new do |s|
1010
s.name = 'DataDecoder'
11-
s.version = '0.7.0'
11+
s.version = '4.0.0'
1212
s.summary = 'Swift Data Decoder. Easily Decode Data values'
1313

1414
s.description = <<-DESC

DataDecoder.xcodeproj/DataDecoder_Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<key>CFBundlePackageType</key>
1616
<string>FMWK</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>0.7.0</string>
18+
<string>4.0.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>NSPrincipalClass</key>

DataDecoder.xcodeproj/project.pbxproj

Lines changed: 68 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
OBJ_14 /* Nibble.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Nibble.swift; sourceTree = "<group>"; };
3737
OBJ_17 /* DataDecoderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataDecoderTests.swift; sourceTree = "<group>"; };
3838
OBJ_19 /* DataDecoder.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DataDecoder.framework; sourceTree = BUILT_PRODUCTS_DIR; };
39-
OBJ_20 /* DataDecoderTests.xctest */ = {isa = PBXFileReference; lastKnownFileType = file; path = DataDecoderTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
39+
OBJ_20 /* DataDecoderTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = DataDecoderTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4040
OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = "<group>"; };
4141
OBJ_9 /* DataDecoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataDecoder.swift; sourceTree = "<group>"; };
4242
/* End PBXFileReference section */
@@ -178,7 +178,15 @@
178178
OBJ_1 /* Project object */ = {
179179
isa = PBXProject;
180180
attributes = {
181-
LastUpgradeCheck = 9999;
181+
LastUpgradeCheck = 0900;
182+
TargetAttributes = {
183+
OBJ_21 = {
184+
LastSwiftMigration = 0900;
185+
};
186+
OBJ_31 = {
187+
LastSwiftMigration = 0900;
188+
};
189+
};
182190
};
183191
buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "DataDecoder" */;
184192
compatibilityVersion = "Xcode 3.2";
@@ -246,6 +254,8 @@
246254
PRODUCT_BUNDLE_IDENTIFIER = DataDecoder;
247255
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
248256
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
257+
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
258+
SWIFT_VERSION = 4.0;
249259
TARGET_NAME = DataDecoder;
250260
};
251261
name = Debug;
@@ -266,19 +276,45 @@
266276
PRODUCT_BUNDLE_IDENTIFIER = DataDecoder;
267277
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
268278
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
279+
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
280+
SWIFT_VERSION = 4.0;
269281
TARGET_NAME = DataDecoder;
270282
};
271283
name = Release;
272284
};
273285
OBJ_3 /* Debug */ = {
274286
isa = XCBuildConfiguration;
275287
buildSettings = {
288+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
289+
CLANG_WARN_BOOL_CONVERSION = YES;
290+
CLANG_WARN_COMMA = YES;
291+
CLANG_WARN_CONSTANT_CONVERSION = YES;
292+
CLANG_WARN_EMPTY_BODY = YES;
293+
CLANG_WARN_ENUM_CONVERSION = YES;
294+
CLANG_WARN_INFINITE_RECURSION = YES;
295+
CLANG_WARN_INT_CONVERSION = YES;
296+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
297+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
298+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
299+
CLANG_WARN_STRICT_PROTOTYPES = YES;
300+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
301+
CLANG_WARN_UNREACHABLE_CODE = YES;
302+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
276303
COMBINE_HIDPI_IMAGES = YES;
277304
COPY_PHASE_STRIP = NO;
278305
DEBUG_INFORMATION_FORMAT = dwarf;
279306
DYLIB_INSTALL_NAME_BASE = "@rpath";
280307
ENABLE_NS_ASSERTIONS = YES;
308+
ENABLE_STRICT_OBJC_MSGSEND = YES;
309+
ENABLE_TESTABILITY = YES;
310+
GCC_NO_COMMON_BLOCKS = YES;
281311
GCC_OPTIMIZATION_LEVEL = 0;
312+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
313+
GCC_WARN_ABOUT_RETURN_TYPE = YES;
314+
GCC_WARN_UNDECLARED_SELECTOR = YES;
315+
GCC_WARN_UNINITIALIZED_AUTOS = YES;
316+
GCC_WARN_UNUSED_FUNCTION = YES;
317+
GCC_WARN_UNUSED_VARIABLE = YES;
282318
MACOSX_DEPLOYMENT_TARGET = 10.10;
283319
ONLY_ACTIVE_ARCH = YES;
284320
OTHER_SWIFT_FLAGS = "-DXcode";
@@ -295,7 +331,7 @@
295331
OBJ_33 /* Debug */ = {
296332
isa = XCBuildConfiguration;
297333
buildSettings = {
298-
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
334+
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
299335
FRAMEWORK_SEARCH_PATHS = (
300336
"$(inherited)",
301337
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
@@ -305,14 +341,16 @@
305341
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
306342
OTHER_LDFLAGS = "$(inherited)";
307343
OTHER_SWIFT_FLAGS = "$(inherited)";
344+
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
345+
SWIFT_VERSION = 4.0;
308346
TARGET_NAME = DataDecoderTests;
309347
};
310348
name = Debug;
311349
};
312350
OBJ_34 /* Release */ = {
313351
isa = XCBuildConfiguration;
314352
buildSettings = {
315-
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
353+
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
316354
FRAMEWORK_SEARCH_PATHS = (
317355
"$(inherited)",
318356
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
@@ -322,25 +360,50 @@
322360
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
323361
OTHER_LDFLAGS = "$(inherited)";
324362
OTHER_SWIFT_FLAGS = "$(inherited)";
363+
SWIFT_SWIFT3_OBJC_INFERENCE = Off;
364+
SWIFT_VERSION = 4.0;
325365
TARGET_NAME = DataDecoderTests;
326366
};
327367
name = Release;
328368
};
329369
OBJ_4 /* Release */ = {
330370
isa = XCBuildConfiguration;
331371
buildSettings = {
372+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
373+
CLANG_WARN_BOOL_CONVERSION = YES;
374+
CLANG_WARN_COMMA = YES;
375+
CLANG_WARN_CONSTANT_CONVERSION = YES;
376+
CLANG_WARN_EMPTY_BODY = YES;
377+
CLANG_WARN_ENUM_CONVERSION = YES;
378+
CLANG_WARN_INFINITE_RECURSION = YES;
379+
CLANG_WARN_INT_CONVERSION = YES;
380+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
381+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
382+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
383+
CLANG_WARN_STRICT_PROTOTYPES = YES;
384+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
385+
CLANG_WARN_UNREACHABLE_CODE = YES;
386+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
332387
COMBINE_HIDPI_IMAGES = YES;
333388
COPY_PHASE_STRIP = YES;
334389
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
335390
DYLIB_INSTALL_NAME_BASE = "@rpath";
391+
ENABLE_STRICT_OBJC_MSGSEND = YES;
392+
GCC_NO_COMMON_BLOCKS = YES;
336393
GCC_OPTIMIZATION_LEVEL = s;
394+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
395+
GCC_WARN_ABOUT_RETURN_TYPE = YES;
396+
GCC_WARN_UNDECLARED_SELECTOR = YES;
397+
GCC_WARN_UNINITIALIZED_AUTOS = YES;
398+
GCC_WARN_UNUSED_FUNCTION = YES;
399+
GCC_WARN_UNUSED_VARIABLE = YES;
337400
MACOSX_DEPLOYMENT_TARGET = 10.10;
338401
OTHER_SWIFT_FLAGS = "-DXcode";
339402
PRODUCT_NAME = "$(TARGET_NAME)";
340403
SDKROOT = macosx;
341404
SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator";
342405
SWIFT_ACTIVE_COMPILATION_CONDITIONS = SWIFT_PACKAGE;
343-
SWIFT_OPTIMIZATION_LEVEL = "-O";
406+
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
344407
SWIFT_VERSION = 3.0;
345408
USE_HEADERMAP = NO;
346409
};

DataDecoder.xcodeproj/xcshareddata/xcschemes/DataDecoder.xcscheme

Lines changed: 3 additions & 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 = "9999"
3+
LastUpgradeVersion = "0900"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -40,6 +40,7 @@
4040
buildConfiguration = "Debug"
4141
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
4242
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
43+
language = ""
4344
shouldUseLaunchSchemeArgsEnv = "YES">
4445
<Testables>
4546
<TestableReference
@@ -69,6 +70,7 @@
6970
buildConfiguration = "Debug"
7071
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
7172
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
73+
language = ""
7274
launchStyle = "0"
7375
useCustomWorkingDirectory = "NO"
7476
ignoresPersistentStateOnLaunch = "NO"

DataDecoder.xcodeproj/xcshareddata/xcschemes/DataDecoderTests.xcscheme

Lines changed: 3 additions & 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 = "0830"
3+
LastUpgradeVersion = "0900"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,6 +26,7 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
language = ""
2930
shouldUseLaunchSchemeArgsEnv = "YES">
3031
<Testables>
3132
<TestableReference
@@ -46,6 +47,7 @@
4647
buildConfiguration = "Debug"
4748
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
4849
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
50+
language = ""
4951
launchStyle = "0"
5052
useCustomWorkingDirectory = "NO"
5153
ignoresPersistentStateOnLaunch = "NO"

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# DataDecoder
22
Swift Data Decoder. Easily Decode Data values
33

4+
[![Swift4](https://img.shields.io/badge/swift4-compatible-4BC51D.svg?style=flat)](https://developer.apple.com/swift)
45
[![CI Status](http://img.shields.io/travis/FitnessKit/DataDecoder.svg?style=flat)](https://travis-ci.org/FitnessKit/DataDecoder)
56
[![Version](https://img.shields.io/cocoapods/v/DataDecoder.svg?style=flat)](http://cocoapods.org/pods/DataDecoder)
67
[![License](https://img.shields.io/cocoapods/l/DataDecoder.svg?style=flat)](http://cocoapods.org/pods/DataDecoder)
@@ -18,7 +19,7 @@ pod "DataDecoder"
1819
Swift Package Manager:
1920
```swift
2021
dependencies: [
21-
.Package(url: "https://github.com/FitnessKit/DataDecoder", majorVersion: 0)
22+
.Package(url: "https://github.com/FitnessKit/DataDecoder", majorVersion: 4)
2223
]
2324
```
2425

Sources/DataDecoder/DataDecoder.swift

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -131,9 +131,14 @@ public struct DataDecoder {
131131
var value: Int = 0
132132

133133
if val2 & 0x80 == 1 {
134-
value = Int( Int(0xFF) << 24) | (Int(val2) << 16) | (Int(val1) << 8) | Int(val0)
134+
135+
value |= Int(val0)
136+
value |= Int(val1) << 8
137+
value |= Int(val2) << 16
138+
value |= Int(0xFF) << 24
139+
135140
} else {
136-
value = Int( (Int(val2) << 16) | (Int(val1) << 8) | Int(val0))
141+
value = Int( (Int(val2) << 16) | (Int(val1) << 8) | Int(val0) )
137142
}
138143

139144
return value
@@ -164,9 +169,15 @@ public struct DataDecoder {
164169
let val4 = decode.scanValue(index: &index, type: UInt8.self) ?? 0
165170
let val5 = decode.scanValue(index: &index, type: UInt8.self) ?? 0
166171

167-
let value: UInt = UInt( (UInt(val5) << 40) | (UInt(val4) << 32) |
168-
(UInt(val3) << 24) | (UInt(val2) << 16) |
169-
(UInt(val1) << 8) | UInt(val0))
172+
var value: UInt = 0
173+
174+
value |= UInt(val0)
175+
value |= UInt(val1) << 8
176+
value |= UInt(val2) << 16
177+
value |= UInt(val3) << 24
178+
value |= UInt(val4) << 32
179+
value |= UInt(val5) << 40
180+
170181
return value
171182
}
172183

0 commit comments

Comments
 (0)