From 8baa2870e7f88c3999316ed6f054ac0acd6bbe2f Mon Sep 17 00:00:00 2001 From: Daniel Dahan Date: Wed, 11 Sep 2019 10:03:37 -0400 Subject: [PATCH] updated Grid and Switch sample project --- .../Grid/Grid.xcodeproj/project.pbxproj | 24 ++- .../Grid/Grid/ViewController.swift | 138 +++++++++--------- .../Switch/Switch.xcodeproj/project.pbxproj | 5 +- 3 files changed, 94 insertions(+), 73 deletions(-) diff --git a/Projects/Programmatic/Grid/Grid.xcodeproj/project.pbxproj b/Projects/Programmatic/Grid/Grid.xcodeproj/project.pbxproj index d94b292..f5bd81e 100644 --- a/Projects/Programmatic/Grid/Grid.xcodeproj/project.pbxproj +++ b/Projects/Programmatic/Grid/Grid.xcodeproj/project.pbxproj @@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 964F88DD2329276C00387599 /* Motion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 964F88DC2329276C00387599 /* Motion.framework */; }; + 964F88DE2329276C00387599 /* Motion.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 964F88DC2329276C00387599 /* Motion.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 964F88E02329276C00387599 /* Material.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 964F88DF2329276C00387599 /* Material.framework */; }; + 964F88E12329276C00387599 /* Material.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 964F88DF2329276C00387599 /* Material.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 965592191DEC9553001576E7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 965592181DEC9553001576E7 /* AppDelegate.swift */; }; 9655921B1DEC9553001576E7 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9655921A1DEC9553001576E7 /* ViewController.swift */; }; 965592201DEC9553001576E7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 9655921F1DEC9553001576E7 /* Assets.xcassets */; }; @@ -20,6 +24,8 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + 964F88DE2329276C00387599 /* Motion.framework in Embed Frameworks */, + 964F88E12329276C00387599 /* Material.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -27,6 +33,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 964F88DC2329276C00387599 /* Motion.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Motion.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 964F88DF2329276C00387599 /* Material.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Material.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 965592151DEC9553001576E7 /* Grid.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Grid.app; sourceTree = BUILT_PRODUCTS_DIR; }; 965592181DEC9553001576E7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 9655921A1DEC9553001576E7 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -40,6 +48,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 964F88DD2329276C00387599 /* Motion.framework in Frameworks */, + 964F88E02329276C00387599 /* Material.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -49,6 +59,8 @@ 9655920C1DEC9553001576E7 = { isa = PBXGroup; children = ( + 964F88DF2329276C00387599 /* Material.framework */, + 964F88DC2329276C00387599 /* Motion.framework */, 965592171DEC9553001576E7 /* Grid */, 965592161DEC9553001576E7 /* Products */, ); @@ -102,11 +114,12 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0810; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1030; ORGANIZATIONNAME = "CosmicMind, Inc."; TargetAttributes = { 965592141DEC9553001576E7 = { CreatedOnToolsVersion = 8.1; + LastSwiftMigration = 1030; ProvisioningStyle = Automatic; }; }; @@ -116,6 +129,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -169,6 +183,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -220,6 +235,7 @@ SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -228,6 +244,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -271,6 +288,7 @@ MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -286,7 +304,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.cosmicmind.Grid; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -300,7 +318,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.cosmicmind.Grid; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 4.0; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/Projects/Programmatic/Grid/Grid/ViewController.swift b/Projects/Programmatic/Grid/Grid/ViewController.swift index db5fc35..3fa6a76 100644 --- a/Projects/Programmatic/Grid/Grid/ViewController.swift +++ b/Projects/Programmatic/Grid/Grid/ViewController.swift @@ -1,80 +1,80 @@ /* - * Copyright (C) 2015 - 2018, Daniel Dahan and CosmicMind, Inc. . - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * * Neither the name of CosmicMind nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ +* Copyright (C) 2015 - 2018, Daniel Dahan and CosmicMind, Inc. . +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, this +* list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* +* * Neither the name of CosmicMind nor the names of its +* contributors may be used to endorse or promote products derived from +* this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ import UIKit import Material class ViewController: UIViewController { - override func viewDidLoad() { - super.viewDidLoad() - view.backgroundColor = .white - - prepareHorizontalExample() - prepareVerticalExample() - } + override func viewDidLoad() { + super.viewDidLoad() + view.backgroundColor = .white + + prepareHorizontalExample() + prepareVerticalExample() + } } extension ViewController { - fileprivate func prepareHorizontalExample() { - let container = View() - container.backgroundColor = nil - container.shapePreset = .square - - container.grid.interimSpacePreset = .interimSpace3 - - view.layout(container).center().left(20).right(20).height(300) - - for _ in 0..<12 { - let v = View() - v.grid.columns = 1 - v.backgroundColor = Color.blue.base - container.grid.views.append(v) - } - } - - fileprivate func prepareVerticalExample() { - let container = View() - container.backgroundColor = nil - container.shapePreset = .square - - container.grid.axis.direction = .vertical - container.grid.interimSpacePreset = .interimSpace3 - - view.layout(container).center().left(20).right(20).height(300) - - for _ in 0..<12 { - let v = View() - v.grid.rows = 1 - v.backgroundColor = Color.blue.base - container.grid.views.append(v) - } - } + fileprivate func prepareHorizontalExample() { + let container = View() + container.backgroundColor = nil + container.shapePreset = .square + + container.grid.interimSpacePreset = .interimSpace3 + + view.layout(container).center().left(20).right(20).height(300) + + for _ in 0..<12 { + let v = View() + v.grid.columns = 1 + v.backgroundColor = Color.blue.base + container.grid.views.append(v) + } + } + + fileprivate func prepareVerticalExample() { + let container = View() + container.backgroundColor = nil + container.shapePreset = .square + + container.grid.axis.direction = .vertical + container.grid.interimSpacePreset = .interimSpace3 + + view.layout(container).center().left(20).right(20).height(300) + + for _ in 0..<12 { + let v = View() + v.grid.rows = 1 + v.backgroundColor = Color.blue.base + container.grid.views.append(v) + } + } } diff --git a/Projects/Programmatic/Switch/Switch.xcodeproj/project.pbxproj b/Projects/Programmatic/Switch/Switch.xcodeproj/project.pbxproj index 51532df..9847715 100644 --- a/Projects/Programmatic/Switch/Switch.xcodeproj/project.pbxproj +++ b/Projects/Programmatic/Switch/Switch.xcodeproj/project.pbxproj @@ -102,7 +102,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0800; - LastUpgradeCheck = 0930; + LastUpgradeCheck = 1030; ORGANIZATIONNAME = CosmicMind; TargetAttributes = { 96B5AFD41D92086F00449DDD = { @@ -116,6 +116,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -169,6 +170,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -228,6 +230,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++";