Commit 325b21e7 by Dmitriy Stepanets

Processing SettingsController layout

parent 44b939ed
......@@ -7,7 +7,7 @@
<key>1Weather.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>5</integer>
<integer>6</integer>
</dict>
<key>PG (Playground) 1.xcscheme</key>
<dict>
......
......@@ -112,3 +112,8 @@
"settings.theme.automaticDesc" = "Enable light or dark theme based on your device brightness and display settings";
"settings.theme.light" = "Light";
"settings.theme.dark" = "Dark";
"settings.theme" = "Theme";
"settings.unit.temp" = "Temperature";
"settings.unit.wind" = "Wind";
"settings.unit.pressure" = "Pressure";
"settings.unit.distance" = "Distance";
......@@ -7,11 +7,6 @@
import UIKit
private enum Section {
case settings
case info
}
public enum MenuRow {
case settings
case about
......@@ -79,6 +74,11 @@ public enum MenuRow {
}
}
private enum Section {
case settings
case info
}
private struct SectionItem {
let type:Section
let rows:[MenuRow]
......
......@@ -8,4 +8,105 @@
import UIKit
class SettingsCell: UITableViewCell {
//Private
private let container = UIView()
private let settingsNameLabel = UILabel()
private let selectedValueLabel = UILabel()
private let arrowLabel = UILabel()
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
prepareCell()
prepareContainer()
prepareLabels()
updateUI()
}
func configure(settingsName:String, selectedValue:String, roundCorners:CACornerMask) {
settingsNameLabel.text = settingsName
selectedValueLabel.text = selectedValue
if roundCorners.isEmpty {
container.layer.cornerRadius = 0
}
else {
container.layer.cornerRadius = 12
container.layer.maskedCorners = roundCorners
}
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
super.traitCollectionDidChange(previousTraitCollection)
updateUI()
}
private func updateUI() {
contentView.backgroundColor = ThemeManager.currentTheme.baseBackgroundColor
container.backgroundColor = ThemeManager.currentTheme.containerBackgroundColor
switch interfaceStyle {
case .light:
settingsNameLabel.textColor = ThemeManager.currentTheme.secondaryTextColor
selectedValueLabel.textColor = ThemeManager.currentTheme.secondaryTextColor
arrowLabel.textColor = ThemeManager.currentTheme.secondaryTextColor
case .dark:
settingsNameLabel.textColor = ThemeManager.currentTheme.primaryTextColor
selectedValueLabel.textColor = ThemeManager.currentTheme.primaryTextColor
arrowLabel.textColor = ThemeManager.currentTheme.primaryTextColor
}
}
}
//MARK:- Prepare
private extension SettingsCell {
func prepareCell() {
selectionStyle = .none
}
func prepareContainer() {
contentView.addSubview(container)
container.snp.makeConstraints { (make) in
make.top.bottom.equalToSuperview()
make.left.right.equalToSuperview().inset(18)
}
}
func prepareLabels() {
settingsNameLabel.font = AppFont.SFPro.bold(size: 16)
settingsNameLabel.textAlignment = .left
container.addSubview(settingsNameLabel)
selectedValueLabel.font = AppFont.SFPro.regular(size: 16)
selectedValueLabel.textAlignment = .right
container.addSubview(selectedValueLabel)
arrowLabel.font = AppFont.SFPro.regular(size: 18)
arrowLabel.textAlignment = .right
arrowLabel.text = "􀆊"
container.addSubview(arrowLabel)
//Constraints
settingsNameLabel.snp.makeConstraints { (make) in
make.left.equalToSuperview().inset(18)
make.centerY.equalToSuperview()
make.top.bottom.equalToSuperview().inset(18)
}
arrowLabel.snp.makeConstraints { (make) in
make.right.equalToSuperview().inset(18)
make.centerY.equalToSuperview()
}
selectedValueLabel.snp.makeConstraints { (make) in
make.right.equalTo(arrowLabel.snp.left).inset(-8)
make.centerY.equalToSuperview()
}
}
}
......@@ -7,18 +7,59 @@
import UIKit
private enum SettingsRow {
public enum SettingsRow {
case theme
case temperature
case wind
case pressure
case distance
var roundedCorners:CACornerMask {
switch self {
case .theme:
return [.layerMinXMinYCorner, .layerMinXMaxYCorner, .layerMaxXMaxYCorner, .layerMaxXMinYCorner]
case .temperature:
return [.layerMinXMinYCorner, .layerMaxXMinYCorner]
case .distance:
return [.layerMinXMaxYCorner, .layerMaxXMaxYCorner]
default:
return []
}
}
var localizedName:String {
switch self {
case .theme:
return "settings.theme".localized()
case .temperature:
return "settings.unit.temp".localized()
case .wind:
return "settings.unit.wind".localized()
case .pressure:
return "settings.unit.pressure".localized()
case .distance:
return "settings.unit.distance".localized()
}
}
}
private struct Section {
public enum SettingsSection {
case theme
case units
case language
case other
}
private struct SettingsDataSource {
let section:SettingsSection
let rows:[SettingsRow]
}
class SettingsCellFactory: CellFactoryProtocol {
//Private
private let viewModel:SettingsViewModel
private let sections:[Section] = [Section(rows: [.theme])]
private let sections:[SettingsDataSource] = [SettingsDataSource(section: .theme, rows: [.theme]),
SettingsDataSource(section: .units, rows: [.temperature, .wind, .pressure, .distance])]
//Public
init(viewModel:SettingsViewModel) {
......@@ -35,9 +76,23 @@ class SettingsCellFactory: CellFactoryProtocol {
public func registerCells(on tableView: UITableView) {
self.registerCell(type: SettingsThemeCell.self, tableView: tableView)
self.registerCell(type: SettingsCell.self, tableView: tableView)
}
public func cellFromTableView(tableView: UITableView, indexPath: IndexPath) -> UITableViewCell {
return self.dequeueReusableCell(type: SettingsThemeCell.self, tableView: tableView, indexPath: indexPath)
let type = sections[indexPath.section].rows[indexPath.row]
switch type {
case .theme:
return self.dequeueReusableCell(type: SettingsThemeCell.self, tableView: tableView, indexPath: indexPath)
default:
let cell = self.dequeueReusableCell(type: SettingsCell.self, tableView: tableView, indexPath: indexPath)
cell.configure(settingsName: type.localizedName, selectedValue: "Some", roundCorners: type.roundedCorners)
return cell
}
}
public func sectionTypeAt(indexPath:IndexPath) -> SettingsSection {
return sections[indexPath.section].section
}
}
......@@ -64,6 +64,7 @@ private extension SettingsViewController {
func prepareTableView() {
settingsCellFactory.registerCells(on: tableView)
tableView.separatorStyle = .none
tableView.dataSource = self
tableView.separatorStyle = .none
tableView.tableFooterView = UIView()
......@@ -91,3 +92,28 @@ extension SettingsViewController: UITableViewDataSource {
return settingsCellFactory.cellFromTableView(tableView: tableView, indexPath: indexPath)
}
}
//MARK:- UITableView Delegate
extension SettingsViewController: UITableViewDelegate {
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
switch settingsCellFactory.sectionTypeAt(indexPath: [section, 0]) {
case .theme, .units:
let view = UIView()
let label = UILabel()
view.backgroundColor = ThemeManager.currentTheme.baseBackgroundColor
label.font = AppFont.SFPro.bold(size: 18)
view.snp.makeConstraints { (make) in
make.height.equalTo(24)
}
return view
default:
return nil
}
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return UITableView.automaticDimension
}
}
......@@ -206,19 +206,19 @@
2BC78469AEF9199340FB8FFDE8341AA4 /* ConstraintDSL.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDSL.swift; path = Source/ConstraintDSL.swift; sourceTree = "<group>"; };
2C15FC363161AD305DAD091F33400DBF /* IBDesignable+Localize.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "IBDesignable+Localize.swift"; path = "Sources/UI/IBDesignable+Localize.swift"; sourceTree = "<group>"; };
2EBDB653EDF0AB44F6A8A05F8238368B /* String+LocalizeTableName.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+LocalizeTableName.swift"; path = "Sources/String+LocalizeTableName.swift"; sourceTree = "<group>"; };
2ECF488EFD24A1B916546FB54E5E6827 /* Localize_Swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Localize_Swift.framework; path = "Localize-Swift.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
2ECF488EFD24A1B916546FB54E5E6827 /* Localize_Swift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Localize_Swift.framework; sourceTree = BUILT_PRODUCTS_DIR; };
2F8EDEC56FAA3D9939AC61F4F329ECFC /* DynamicNodeDecoding.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DynamicNodeDecoding.swift; path = Sources/XMLCoder/Decoder/DynamicNodeDecoding.swift; sourceTree = "<group>"; };
326873BE082019FE775ECE15C7B0DF1C /* ConstraintView+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "ConstraintView+Extensions.swift"; path = "Source/ConstraintView+Extensions.swift"; sourceTree = "<group>"; };
32DFC6219722BF1FF20256C8A673E6E8 /* Localize_Swift.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Localize_Swift.h; path = Sources/Localize_Swift.h; sourceTree = "<group>"; };
34CA141A200EFB187E811BDCA548C751 /* Pods-1Weather-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-1Weather-acknowledgements.markdown"; sourceTree = "<group>"; };
34F62093A9386B849DCA5257F6D41E81 /* Pods-1Weather-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-1Weather-Info.plist"; sourceTree = "<group>"; };
3C47815DA534E7F162ACEF8D8523EAFE /* BoolBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = BoolBox.swift; path = Sources/XMLCoder/Auxiliaries/Box/BoolBox.swift; sourceTree = "<group>"; };
3F616D3E24543D97C200EBBCFDF225D0 /* XMLCoder.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = XMLCoder.framework; path = XMLCoder.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3F616D3E24543D97C200EBBCFDF225D0 /* XMLCoder.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = XMLCoder.framework; sourceTree = BUILT_PRODUCTS_DIR; };
3F647CDA3D53771E3580FF62F50641FA /* UnkeyedBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = UnkeyedBox.swift; path = Sources/XMLCoder/Auxiliaries/Box/UnkeyedBox.swift; sourceTree = "<group>"; };
3FBEDE159AF8EC901D09A45620355601 /* DataBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DataBox.swift; path = Sources/XMLCoder/Auxiliaries/Box/DataBox.swift; sourceTree = "<group>"; };
42EB2E303981BA89C011D1A50751FA9A /* Pods-1Weather-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-1Weather-umbrella.h"; sourceTree = "<group>"; };
43659F26612E6F4B62993C5AB158FAD2 /* PathComponent+WindingCount.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "PathComponent+WindingCount.swift"; path = "BezierKit/Library/PathComponent+WindingCount.swift"; sourceTree = "<group>"; };
4418FB4E800DFA4DB13A6252DCF8A266 /* Pods_1Weather.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_1Weather.framework; path = "Pods-1Weather.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
4418FB4E800DFA4DB13A6252DCF8A266 /* Pods_1Weather.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_1Weather.framework; sourceTree = BUILT_PRODUCTS_DIR; };
443FAC3D7E7F685F9FFCF26989FF3EA7 /* Localize-Swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Localize-Swift.modulemap"; sourceTree = "<group>"; };
44F8E3481B859CBFF7C8A8879D695560 /* ConstraintView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintView.swift; path = Source/ConstraintView.swift; sourceTree = "<group>"; };
47AAD106F93027741D1A2D8CFA447319 /* SingleValueDecodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SingleValueDecodingContainer.swift; path = Sources/XMLCoder/Decoder/SingleValueDecodingContainer.swift; sourceTree = "<group>"; };
......@@ -268,11 +268,11 @@
8D923FF56E4752B61B425A3121B17A87 /* DecimalBox.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = DecimalBox.swift; path = Sources/XMLCoder/Auxiliaries/Box/DecimalBox.swift; sourceTree = "<group>"; };
8EFD132810CEE9D33E5F6593B494CA66 /* Cirque-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Cirque-Info.plist"; sourceTree = "<group>"; };
94FFB522941BC2613299B0B7B61B0711 /* BezierKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = BezierKit.modulemap; sourceTree = "<group>"; };
979486118B3E90C08386079D57962701 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SnapKit.framework; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
979486118B3E90C08386079D57962701 /* SnapKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SnapKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
97A75ED9FD9582EA1D5274441135C20A /* Localize-Swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Localize-Swift-prefix.pch"; sourceTree = "<group>"; };
9B0CB4D7F505DB61ED25C7A9BA4AD6C8 /* EncodingErrorExtension.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EncodingErrorExtension.swift; path = Sources/XMLCoder/Encoder/EncodingErrorExtension.swift; sourceTree = "<group>"; };
9B643C40A778476BC87E783DF0C838A7 /* XMLCoder.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = XMLCoder.release.xcconfig; sourceTree = "<group>"; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
9EE661DE97F64098077CAE04D746DF9C /* ConstraintAttributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintAttributes.swift; path = Source/ConstraintAttributes.swift; sourceTree = "<group>"; };
A1643D304443EA68C32720E411CB83E0 /* String+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "String+Extensions.swift"; path = "Sources/XMLCoder/Auxiliaries/String+Extensions.swift"; sourceTree = "<group>"; };
A32B6EC0910F6D16360EB7B128939375 /* Pods-1Weather-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-1Weather-dummy.m"; sourceTree = "<group>"; };
......@@ -280,7 +280,7 @@
A58FF228BD11A65A4BE6DAD59CC8644A /* AugmentedGraph.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = AugmentedGraph.swift; path = BezierKit/Library/AugmentedGraph.swift; sourceTree = "<group>"; };
A6FA0CB6B6918EDCAF2EED9EFFFFEAA2 /* XMLChoiceCodingKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XMLChoiceCodingKey.swift; path = Sources/XMLCoder/Auxiliaries/XMLChoiceCodingKey.swift; sourceTree = "<group>"; };
A747872CBC14EE7499AF2F70BC68326D /* Draw.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Draw.swift; path = BezierKit/Library/Draw.swift; sourceTree = "<group>"; };
A888B562708683A8759D7AFB66862717 /* BezierKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = BezierKit.framework; path = BezierKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
A888B562708683A8759D7AFB66862717 /* BezierKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BezierKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
ADC9BF64D9C9624A4A690DADD3713D4B /* ConstraintConfig.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintConfig.swift; path = Source/ConstraintConfig.swift; sourceTree = "<group>"; };
B261A8C0206268ACBBD3EA734FCDC783 /* XMLKey.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XMLKey.swift; path = Sources/XMLCoder/Auxiliaries/XMLKey.swift; sourceTree = "<group>"; };
B455EC19AE15265553BE321918820C2C /* XMLChoiceDecodingContainer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XMLChoiceDecodingContainer.swift; path = Sources/XMLCoder/Decoder/XMLChoiceDecodingContainer.swift; sourceTree = "<group>"; };
......@@ -308,7 +308,7 @@
D008B2289BBF464C336E2AAD1865C406 /* ConstraintDirectionalInsets.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintDirectionalInsets.swift; path = Source/ConstraintDirectionalInsets.swift; sourceTree = "<group>"; };
D24525D4E5306E2261C46DC46AF34AA8 /* XMLStackParser.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = XMLStackParser.swift; path = Sources/XMLCoder/Auxiliaries/XMLStackParser.swift; sourceTree = "<group>"; };
D2C527D8C6F1C760BF93EFB39A143AC6 /* SnapKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SnapKit-dummy.m"; sourceTree = "<group>"; };
D2E8AD4B581675199AC6CC607EF12826 /* Cirque.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Cirque.framework; path = Cirque.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D2E8AD4B581675199AC6CC607EF12826 /* Cirque.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cirque.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D34B09D13F4C555857F8E02412510FBD /* ConstraintMakerEditable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ConstraintMakerEditable.swift; path = Source/ConstraintMakerEditable.swift; sourceTree = "<group>"; };
D44069425C7962D30D40C8931C705A69 /* KeyedStorage.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = KeyedStorage.swift; path = Sources/XMLCoder/Auxiliaries/KeyedStorage.swift; sourceTree = "<group>"; };
D4CF935DDAE9A117C5C490770A35F19E /* Constraint.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Constraint.swift; path = Source/Constraint.swift; sourceTree = "<group>"; };
......@@ -432,7 +432,6 @@
0E0437C2E8120E3ADB18AB6A8C11E4DE /* Support Files */,
3D5B1D7EBAC896208D4FB23C1EC93E96 /* UIKit */,
);
name = "Localize-Swift";
path = "Localize-Swift";
sourceTree = "<group>";
};
......@@ -487,7 +486,6 @@
EC798E34AEAB454610F3F710F00961BA /* XMLUnkeyedEncodingContainer.swift */,
4B4AAA10A72E7A68C4D3D833987DCAE3 /* Support Files */,
);
name = XMLCoder;
path = XMLCoder;
sourceTree = "<group>";
};
......@@ -577,7 +575,6 @@
1C97B999C1A69E6E43BB42A2DED24CE6 /* UIColor+Utility.swift */,
72DDDAF7CC9EC49AB7108BF9C07BE309 /* Support Files */,
);
name = Cirque;
path = Cirque;
sourceTree = "<group>";
};
......@@ -630,7 +627,6 @@
5E981DF481A9763DDF9A2BBBD50CC499 /* UILayoutSupport+Extensions.swift */,
470372B2AF931C60CA0F1DB356FBFA07 /* Support Files */,
);
name = SnapKit;
path = SnapKit;
sourceTree = "<group>";
};
......@@ -673,7 +669,6 @@
6E7FF914EC163E5DC04F66787B3B43A1 /* Utils.swift */,
021E9D409619EF6C09691E6EA7EE9494 /* Support Files */,
);
name = BezierKit;
path = BezierKit;
sourceTree = "<group>";
};
......@@ -904,7 +899,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1100;
LastUpgradeCheck = 1100;
LastUpgradeCheck = 1240;
};
buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 10.0";
......
......@@ -21,7 +21,7 @@
<key>Cirque.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>3</integer>
<integer>4</integer>
</dict>
<key>Localize-Swift.xcscheme</key>
<dict>
......@@ -40,19 +40,19 @@
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>2</integer>
<integer>1</integer>
</dict>
<key>SnapKit.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>3</integer>
<integer>2</integer>
</dict>
<key>XMLCoder.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>6</integer>
<integer>3</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment