Skip to content

Commit 9160f6d

Browse files
committed
Update to Swift 4 and update Demo project for Xcode 9
1 parent 2a0be57 commit 9160f6d

File tree

3 files changed

+33
-11
lines changed

3 files changed

+33
-11
lines changed

TDBadgedCell.xcodeproj/project.pbxproj

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,18 +145,19 @@
145145
isa = PBXProject;
146146
attributes = {
147147
LastSwiftUpdateCheck = 0830;
148-
LastUpgradeCheck = 0800;
148+
LastUpgradeCheck = 0900;
149149
ORGANIZATIONNAME = "Tim Davies";
150150
TargetAttributes = {
151151
22A9C13F1E460E1A0001F026 = {
152152
CreatedOnToolsVersion = 8.3;
153+
LastSwiftMigration = 0900;
153154
ProvisioningStyle = Automatic;
154155
TestTargetID = 22F678781D80288B007D2FAE;
155156
};
156157
22F678781D80288B007D2FAE = {
157158
CreatedOnToolsVersion = 7.2;
158159
DevelopmentTeam = W376QLUK5J;
159-
LastSwiftMigration = 0800;
160+
LastSwiftMigration = 0900;
160161
};
161162
};
162163
};
@@ -262,7 +263,8 @@
262263
PRODUCT_BUNDLE_IDENTIFIER = com.tmdvs.TDBadgedCellTests;
263264
PRODUCT_NAME = "$(TARGET_NAME)";
264265
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
265-
SWIFT_VERSION = 3.0;
266+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
267+
SWIFT_VERSION = 4.0;
266268
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TDBadgedCell.app/TDBadgedCell";
267269
};
268270
name = Debug;
@@ -279,7 +281,8 @@
279281
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
280282
PRODUCT_BUNDLE_IDENTIFIER = com.tmdvs.TDBadgedCellTests;
281283
PRODUCT_NAME = "$(TARGET_NAME)";
282-
SWIFT_VERSION = 3.0;
284+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
285+
SWIFT_VERSION = 4.0;
283286
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TDBadgedCell.app/TDBadgedCell";
284287
};
285288
name = Release;
@@ -292,14 +295,20 @@
292295
CLANG_CXX_LIBRARY = "libc++";
293296
CLANG_ENABLE_MODULES = YES;
294297
CLANG_ENABLE_OBJC_ARC = YES;
298+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
295299
CLANG_WARN_BOOL_CONVERSION = YES;
300+
CLANG_WARN_COMMA = YES;
296301
CLANG_WARN_CONSTANT_CONVERSION = YES;
297302
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
298303
CLANG_WARN_EMPTY_BODY = YES;
299304
CLANG_WARN_ENUM_CONVERSION = YES;
300305
CLANG_WARN_INFINITE_RECURSION = YES;
301306
CLANG_WARN_INT_CONVERSION = YES;
307+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
308+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
302309
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
310+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
311+
CLANG_WARN_STRICT_PROTOTYPES = YES;
303312
CLANG_WARN_SUSPICIOUS_MOVE = YES;
304313
CLANG_WARN_UNREACHABLE_CODE = YES;
305314
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -328,6 +337,7 @@
328337
ONLY_ACTIVE_ARCH = YES;
329338
SDKROOT = iphoneos;
330339
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
340+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
331341
TARGETED_DEVICE_FAMILY = "1,2";
332342
};
333343
name = Debug;
@@ -340,14 +350,20 @@
340350
CLANG_CXX_LIBRARY = "libc++";
341351
CLANG_ENABLE_MODULES = YES;
342352
CLANG_ENABLE_OBJC_ARC = YES;
353+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
343354
CLANG_WARN_BOOL_CONVERSION = YES;
355+
CLANG_WARN_COMMA = YES;
344356
CLANG_WARN_CONSTANT_CONVERSION = YES;
345357
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
346358
CLANG_WARN_EMPTY_BODY = YES;
347359
CLANG_WARN_ENUM_CONVERSION = YES;
348360
CLANG_WARN_INFINITE_RECURSION = YES;
349361
CLANG_WARN_INT_CONVERSION = YES;
362+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
363+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
350364
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
365+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
366+
CLANG_WARN_STRICT_PROTOTYPES = YES;
351367
CLANG_WARN_SUSPICIOUS_MOVE = YES;
352368
CLANG_WARN_UNREACHABLE_CODE = YES;
353369
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -369,6 +385,7 @@
369385
MTL_ENABLE_DEBUG_INFO = NO;
370386
SDKROOT = iphoneos;
371387
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
388+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
372389
TARGETED_DEVICE_FAMILY = "1,2";
373390
VALIDATE_PRODUCT = YES;
374391
};
@@ -383,7 +400,8 @@
383400
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
384401
PRODUCT_BUNDLE_IDENTIFIER = com.tmdvs.TDBadgedCell;
385402
PRODUCT_NAME = "$(TARGET_NAME)";
386-
SWIFT_VERSION = 3.0;
403+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
404+
SWIFT_VERSION = 4.0;
387405
};
388406
name = Debug;
389407
};
@@ -396,7 +414,8 @@
396414
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
397415
PRODUCT_BUNDLE_IDENTIFIER = com.tmdvs.TDBadgedCell;
398416
PRODUCT_NAME = "$(TARGET_NAME)";
399-
SWIFT_VERSION = 3.0;
417+
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
418+
SWIFT_VERSION = 4.0;
400419
};
401420
name = Release;
402421
};
@@ -410,6 +429,7 @@
410429
22A9C1481E460E1B0001F026 /* Release */,
411430
);
412431
defaultConfigurationIsVisible = 0;
432+
defaultConfigurationName = Release;
413433
};
414434
22F678741D80288B007D2FAE /* Build configuration list for PBXProject "TDBadgedCell" */ = {
415435
isa = XCConfigurationList;

TDBadgedCell.xcodeproj/xcuserdata/tim.xcuserdatad/xcschemes/TDBadgedCell.xcscheme

Lines changed: 4 additions & 2 deletions
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 = "0900"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,13 +26,14 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
language = ""
2930
shouldUseLaunchSchemeArgsEnv = "YES">
3031
<Testables>
3132
<TestableReference
3233
skipped = "NO">
3334
<BuildableReference
3435
BuildableIdentifier = "primary"
35-
BlueprintIdentifier = "22F6788C1D80288C007D2FAE"
36+
BlueprintIdentifier = "22A9C13F1E460E1A0001F026"
3637
BuildableName = "TDBadgedCellTests.xctest"
3738
BlueprintName = "TDBadgedCellTests"
3839
ReferencedContainer = "container:TDBadgedCell.xcodeproj">
@@ -65,6 +66,7 @@
6566
buildConfiguration = "Debug"
6667
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
6768
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
69+
language = ""
6870
launchStyle = "0"
6971
useCustomWorkingDirectory = "NO"
7072
ignoresPersistentStateOnLaunch = "NO"

TDBadgedCell/TDBadgedCell.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ open class TDBadgedCell: UITableViewCell {
7676
/// Generate the badge image
7777
internal func drawBadge() {
7878
// Calculate the size of our string
79-
let textSize : CGSize = NSString(string: badgeString).size(attributes:[NSFontAttributeName:UIFont.boldSystemFont(ofSize:CGFloat(badgeFontSize))])
79+
let textSize : CGSize = NSString(string: badgeString).size(withAttributes:[NSAttributedStringKey.font:UIFont.boldSystemFont(ofSize:CGFloat(badgeFontSize))])
8080

8181
// Create a frame with padding for our badge
8282
let height = textSize.height + 10
@@ -110,8 +110,8 @@ open class TDBadgedCell: UITableViewCell {
110110
}
111111

112112
NSString(string: badgeString).draw(in:CGRect(x:8, y:5, width:textSize.width, height:textSize.height), withAttributes: [
113-
NSFontAttributeName:UIFont.boldSystemFont(ofSize:CGFloat(badgeFontSize)),
114-
NSForegroundColorAttributeName: badgeTextColor ?? UIColor.clear
113+
NSAttributedStringKey.font:UIFont.boldSystemFont(ofSize:CGFloat(badgeFontSize)),
114+
NSAttributedStringKey.foregroundColor: badgeTextColor ?? UIColor.clear
115115
])
116116

117117
let badgeImage = UIGraphicsGetImageFromCurrentImageContext()!

0 commit comments

Comments
 (0)