Skip to content

Commit d53cd39

Browse files
authored
Merge pull request #85 from layoutBox/upgrade_to_swift_4
Upgrade to Swift 4.1
2 parents 47e8055 + ac43611 commit d53cd39

File tree

10 files changed

+85
-30
lines changed

10 files changed

+85
-30
lines changed

Example/FlexLayoutSample.xcodeproj/project.pbxproj

+28-3
Original file line numberDiff line numberDiff line change
@@ -369,8 +369,13 @@
369369
isa = PBXProject;
370370
attributes = {
371371
LastSwiftUpdateCheck = 0830;
372-
LastUpgradeCheck = 0820;
372+
LastUpgradeCheck = 0930;
373373
ORGANIZATIONNAME = Mirego;
374+
TargetAttributes = {
375+
DF1F2A051F17D11700BA1B97 = {
376+
LastSwiftMigration = 0930;
377+
};
378+
};
374379
};
375380
buildConfigurationList = 249EFE3A1E64FAFE00165E39 /* Build configuration list for PBXProject "FlexLayoutSample" */;
376381
compatibilityVersion = "Xcode 3.2";
@@ -525,15 +530,23 @@
525530
CLANG_CXX_LIBRARY = "libc++";
526531
CLANG_ENABLE_MODULES = YES;
527532
CLANG_ENABLE_OBJC_ARC = YES;
533+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
528534
CLANG_WARN_BOOL_CONVERSION = YES;
535+
CLANG_WARN_COMMA = YES;
529536
CLANG_WARN_CONSTANT_CONVERSION = YES;
537+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
530538
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
531539
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
532540
CLANG_WARN_EMPTY_BODY = YES;
533541
CLANG_WARN_ENUM_CONVERSION = YES;
534542
CLANG_WARN_INFINITE_RECURSION = YES;
535543
CLANG_WARN_INT_CONVERSION = YES;
544+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
545+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
546+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
536547
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
548+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
549+
CLANG_WARN_STRICT_PROTOTYPES = YES;
537550
CLANG_WARN_SUSPICIOUS_MOVE = YES;
538551
CLANG_WARN_UNREACHABLE_CODE = YES;
539552
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -562,6 +575,7 @@
562575
SDKROOT = iphoneos;
563576
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
564577
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
578+
SWIFT_VERSION = 4.0;
565579
TARGETED_DEVICE_FAMILY = "1,2";
566580
};
567581
name = Debug;
@@ -575,15 +589,23 @@
575589
CLANG_CXX_LIBRARY = "libc++";
576590
CLANG_ENABLE_MODULES = YES;
577591
CLANG_ENABLE_OBJC_ARC = YES;
592+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
578593
CLANG_WARN_BOOL_CONVERSION = YES;
594+
CLANG_WARN_COMMA = YES;
579595
CLANG_WARN_CONSTANT_CONVERSION = YES;
596+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
580597
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
581598
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
582599
CLANG_WARN_EMPTY_BODY = YES;
583600
CLANG_WARN_ENUM_CONVERSION = YES;
584601
CLANG_WARN_INFINITE_RECURSION = YES;
585602
CLANG_WARN_INT_CONVERSION = YES;
603+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
604+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
605+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
586606
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
607+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
608+
CLANG_WARN_STRICT_PROTOTYPES = YES;
587609
CLANG_WARN_SUSPICIOUS_MOVE = YES;
588610
CLANG_WARN_UNREACHABLE_CODE = YES;
589611
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -604,6 +626,7 @@
604626
MTL_ENABLE_DEBUG_INFO = NO;
605627
SDKROOT = iphoneos;
606628
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
629+
SWIFT_VERSION = 4.0;
607630
TARGETED_DEVICE_FAMILY = "1,2";
608631
VALIDATE_PRODUCT = YES;
609632
};
@@ -618,7 +641,8 @@
618641
INFOPLIST_FILE = "FlexLayoutSample/Supporting Files/Info.plist";
619642
PRODUCT_BUNDLE_IDENTIFIER = com.lucdion.FlexLayoutSample;
620643
PRODUCT_NAME = "$(TARGET_NAME)";
621-
SWIFT_VERSION = 3.0;
644+
SWIFT_SWIFT3_OBJC_INFERENCE = On;
645+
SWIFT_VERSION = 4.0;
622646
};
623647
name = Debug;
624648
};
@@ -631,7 +655,8 @@
631655
INFOPLIST_FILE = "FlexLayoutSample/Supporting Files/Info.plist";
632656
PRODUCT_BUNDLE_IDENTIFIER = com.lucdion.FlexLayoutSample;
633657
PRODUCT_NAME = "$(TARGET_NAME)";
634-
SWIFT_VERSION = 3.0;
658+
SWIFT_SWIFT3_OBJC_INFERENCE = On;
659+
SWIFT_VERSION = 4.0;
635660
};
636661
name = Release;
637662
};

Example/FlexLayoutSample.xcodeproj/xcshareddata/xcschemes/FlexLayoutSample.xcscheme

+1-3
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 = "0930"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,7 +26,6 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
language = ""
3029
shouldUseLaunchSchemeArgsEnv = "YES">
3130
<Testables>
3231
<TestableReference
@@ -56,7 +55,6 @@
5655
buildConfiguration = "Debug"
5756
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
5857
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
59-
language = ""
6058
launchStyle = "0"
6159
useCustomWorkingDirectory = "NO"
6260
ignoresPersistentStateOnLaunch = "NO"

Example/FlexLayoutSample/UI/Examples/RaywenderlichTutorial/RaywenderlichTutorialView.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ class RayWenderlichTutorialView: UIView {
209209
#if swift(>=4)
210210
let labelSize = text.size(withAttributes: [NSAttributedStringKey.font: tabLabelFont])
211211
#else
212-
let labelSize = text.size(attributes: [NSFontAttributeName: tabLabelFont])
212+
let labelSize = text.size(withAttributes: [NSAttributedStringKey.font: tabLabelFont])
213213
#endif
214214

215215
let tabView = UIView()

Example/FlexLayoutSample/UI/Examples/RaywenderlichTutorial/RaywenderlichTutorialViewController.swift

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ class RayWenderlichTutorialViewController: BaseViewController {
2222
init(pageType: PageType) {
2323
super.init()
2424
title = pageType.text
25+
26+
// This property is used only on iOS 7/8/9/10. See https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin
27+
automaticallyAdjustsScrollViewInsets = false
2528
}
2629

2730
required init?(coder aDecoder: NSCoder) {

FlexLayout.xcodeproj/project.pbxproj

+31-8
Original file line numberDiff line numberDiff line change
@@ -325,17 +325,18 @@
325325
isa = PBXProject;
326326
attributes = {
327327
LastSwiftUpdateCheck = 0830;
328-
LastUpgradeCheck = 0830;
328+
LastUpgradeCheck = 0930;
329329
ORGANIZATIONNAME = Mirego;
330330
TargetAttributes = {
331331
24DA37591EF843C500D1AB2F = {
332332
CreatedOnToolsVersion = 8.3.2;
333-
LastSwiftMigration = 0910;
333+
LastSwiftMigration = 0930;
334334
ProvisioningStyle = Manual;
335335
};
336336
24DA37621EF843C500D1AB2F = {
337337
CreatedOnToolsVersion = 8.3.2;
338338
DevelopmentTeam = F37Y9H9E46;
339+
LastSwiftMigration = 0930;
339340
ProvisioningStyle = Automatic;
340341
};
341342
};
@@ -470,15 +471,23 @@
470471
CLANG_CXX_LIBRARY = "libc++";
471472
CLANG_ENABLE_MODULES = YES;
472473
CLANG_ENABLE_OBJC_ARC = YES;
474+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
473475
CLANG_WARN_BOOL_CONVERSION = YES;
476+
CLANG_WARN_COMMA = YES;
474477
CLANG_WARN_CONSTANT_CONVERSION = YES;
478+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
475479
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
476480
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
477481
CLANG_WARN_EMPTY_BODY = YES;
478482
CLANG_WARN_ENUM_CONVERSION = YES;
479483
CLANG_WARN_INFINITE_RECURSION = YES;
480484
CLANG_WARN_INT_CONVERSION = YES;
485+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
486+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
487+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
481488
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
489+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
490+
CLANG_WARN_STRICT_PROTOTYPES = YES;
482491
CLANG_WARN_SUSPICIOUS_MOVE = YES;
483492
CLANG_WARN_UNREACHABLE_CODE = YES;
484493
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -503,12 +512,13 @@
503512
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
504513
GCC_WARN_UNUSED_FUNCTION = YES;
505514
GCC_WARN_UNUSED_VARIABLE = YES;
506-
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
515+
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
507516
MTL_ENABLE_DEBUG_INFO = YES;
508517
ONLY_ACTIVE_ARCH = YES;
509518
SDKROOT = iphoneos;
510519
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG XCODE_PROJECT_BUILD";
511520
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
521+
SWIFT_VERSION = 4.0;
512522
TARGETED_DEVICE_FAMILY = "1,2";
513523
VERSIONING_SYSTEM = "apple-generic";
514524
VERSION_INFO_PREFIX = "";
@@ -526,15 +536,23 @@
526536
CLANG_CXX_LIBRARY = "libc++";
527537
CLANG_ENABLE_MODULES = YES;
528538
CLANG_ENABLE_OBJC_ARC = YES;
539+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
529540
CLANG_WARN_BOOL_CONVERSION = YES;
541+
CLANG_WARN_COMMA = YES;
530542
CLANG_WARN_CONSTANT_CONVERSION = YES;
543+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
531544
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
532545
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
533546
CLANG_WARN_EMPTY_BODY = YES;
534547
CLANG_WARN_ENUM_CONVERSION = YES;
535548
CLANG_WARN_INFINITE_RECURSION = YES;
536549
CLANG_WARN_INT_CONVERSION = YES;
550+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
551+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
552+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
537553
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
554+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
555+
CLANG_WARN_STRICT_PROTOTYPES = YES;
538556
CLANG_WARN_SUSPICIOUS_MOVE = YES;
539557
CLANG_WARN_UNREACHABLE_CODE = YES;
540558
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
@@ -553,11 +571,12 @@
553571
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
554572
GCC_WARN_UNUSED_FUNCTION = YES;
555573
GCC_WARN_UNUSED_VARIABLE = YES;
556-
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
574+
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
557575
MTL_ENABLE_DEBUG_INFO = NO;
558576
SDKROOT = iphoneos;
559577
SWIFT_ACTIVE_COMPILATION_CONDITIONS = XCODE_PROJECT_BUILD;
560578
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
579+
SWIFT_VERSION = 4.0;
561580
TARGETED_DEVICE_FAMILY = "1,2";
562581
VALIDATE_PRODUCT = YES;
563582
VERSIONING_SYSTEM = "apple-generic";
@@ -590,7 +609,8 @@
590609
SKIP_INSTALL = YES;
591610
SWIFT_OBJC_BRIDGING_HEADER = "";
592611
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
593-
SWIFT_VERSION = 3.0;
612+
SWIFT_SWIFT3_OBJC_INFERENCE = On;
613+
SWIFT_VERSION = 4.0;
594614
};
595615
name = Debug;
596616
};
@@ -618,7 +638,8 @@
618638
PROVISIONING_PROFILE_SPECIFIER = "";
619639
SKIP_INSTALL = YES;
620640
SWIFT_OBJC_BRIDGING_HEADER = "";
621-
SWIFT_VERSION = 3.0;
641+
SWIFT_SWIFT3_OBJC_INFERENCE = On;
642+
SWIFT_VERSION = 4.0;
622643
};
623644
name = Release;
624645
};
@@ -632,7 +653,8 @@
632653
OTHER_LDFLAGS = "$(inherited)";
633654
PRODUCT_BUNDLE_IDENTIFIER = com.lucdion.FlexLayoutTests;
634655
PRODUCT_NAME = "$(TARGET_NAME)";
635-
SWIFT_VERSION = 3.0;
656+
SWIFT_SWIFT3_OBJC_INFERENCE = On;
657+
SWIFT_VERSION = 4.0;
636658
};
637659
name = Debug;
638660
};
@@ -646,7 +668,8 @@
646668
OTHER_LDFLAGS = "$(inherited)";
647669
PRODUCT_BUNDLE_IDENTIFIER = com.lucdion.FlexLayoutTests;
648670
PRODUCT_NAME = "$(TARGET_NAME)";
649-
SWIFT_VERSION = 3.0;
671+
SWIFT_SWIFT3_OBJC_INFERENCE = On;
672+
SWIFT_VERSION = 4.0;
650673
};
651674
name = Release;
652675
};

FlexLayout.xcodeproj/xcshareddata/xcschemes/FlexLayout.xcscheme

+1-3
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 = "0930"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
@@ -26,7 +26,6 @@
2626
buildConfiguration = "Debug"
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29-
language = ""
3029
shouldUseLaunchSchemeArgsEnv = "YES">
3130
<Testables>
3231
<TestableReference
@@ -56,7 +55,6 @@
5655
buildConfiguration = "Debug"
5756
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
5857
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
59-
language = ""
6058
launchStyle = "0"
6159
useCustomWorkingDirectory = "NO"
6260
ignoresPersistentStateOnLaunch = "NO"
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>

FlexLayoutTests/FlexLayoutTests.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class FlexLayoutTests: XCTestCase {
2121
let strongView = UIView()
2222
strongView.flex.direction(.column)
2323
weakView = strongView
24-
}()
24+
}(())
2525

2626
XCTAssertNil(weakView, "Creation of flex should not lead to retain cycle")
2727
}

Podfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use_frameworks!
2-
platform :ios, '9.0'
2+
platform :ios, '8.0'
33

44
workspace 'FlexLayout.xcworkspace'
55

Podfile.lock

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
PODS:
22
- FlexLayout (1.3.6)
3-
- Nimble (7.0.3)
4-
- PinLayout (1.6.0)
5-
- Quick (1.2.0)
3+
- Nimble (7.1.1)
4+
- PinLayout (1.7.3)
5+
- Quick (1.3.0)
66
- Reveal-SDK (10)
7-
- SwiftLint (0.25.0)
7+
- SwiftLint (0.25.1)
88

99
DEPENDENCIES:
1010
- FlexLayout (from `./`)
@@ -27,13 +27,13 @@ EXTERNAL SOURCES:
2727
:path: "./"
2828

2929
SPEC CHECKSUMS:
30-
FlexLayout: ad7c468dd6314e14a7d02ba6354c585ff3248e52
31-
Nimble: 7f5a9c447a33002645a071bddafbfb24ea70e0ac
32-
PinLayout: a2bbe9057d49a1e326b13dc4fe8c14751f8c8844
33-
Quick: 58d203b1c5e27fff7229c4c1ae445ad7069a7a08
30+
FlexLayout: 0f56895b2f65ad067a1a4012ba301224c2389cd0
31+
Nimble: 391f07782af4b37914f9bd7b2ffbb952731b8202
32+
PinLayout: 0c2e68dba036a291ca9278aa8b799f58506f2a6d
33+
Quick: 03278013f71aa05fe9ecabc94fbcc6835f1ee76f
3434
Reveal-SDK: 7869ddf1f902cabbb07a1f0dd06bd25861a126f7
35-
SwiftLint: e14651157288e9e01d6e1a71db7014fb5744a8ea
35+
SwiftLint: ce933681be10c3266e82576dad676fa815a602e9
3636

37-
PODFILE CHECKSUM: 17e434c5ea0e4a80a0221e86e99c1962e47f6a3d
37+
PODFILE CHECKSUM: b49d5685f476a6600d008e69e030f9d4045be518
3838

3939
COCOAPODS: 1.5.0

0 commit comments

Comments
 (0)