From 17c05d7eee9611ec71f2bc11400e401345987014 Mon Sep 17 00:00:00 2001 From: Ezekiel Elin Date: Sun, 24 May 2020 10:46:08 -0400 Subject: [PATCH 01/35] Added Icon.sfSymbol for SF Symbols (#41) * Added Icon.system * Mark availability for .system to iOS 13 * Check for iOS 13 before using systemName * Fixed tvOS build * Rename Icon.sfSymbol and add tests --- Source/Model/Icon.swift | 11 ++++++++++- Tests/Model/IconTests.swift | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/Source/Model/Icon.swift b/Source/Model/Icon.swift index 7691c87f..b8841ea9 100644 --- a/Source/Model/Icon.swift +++ b/Source/Model/Icon.swift @@ -32,6 +32,9 @@ public enum Icon: Equatable { /// Icon with an image of the given name for the normal state. /// The "-highlighted" suffix is appended to the name for the highlighted image. case named(String) + /// System icon with the given name + @available(iOS 13.0, *) + case sfSymbol(String) /// Icon with an image for the normal state. case image(UIImage) /// Icon with images for the normal and highlighted states. @@ -42,6 +45,12 @@ public enum Icon: Equatable { switch self { case let .named(name): return UIImage(named: name) + case let .sfSymbol(name): + if #available(iOS 13.0, *), #available(tvOS 13.0, *) { + return UIImage(systemName: name) + } else { + return nil + } case let .image(image): return image case let .images(normal: image, highlighted: _): @@ -54,7 +63,7 @@ public enum Icon: Equatable { switch self { case let .named(name): return UIImage(named: name + "-highlighted") - case .image: + case .sfSymbol, .image: return nil case let .images(normal: _, highlighted: image): return image diff --git a/Tests/Model/IconTests.swift b/Tests/Model/IconTests.swift index 85bb571f..16958084 100644 --- a/Tests/Model/IconTests.swift +++ b/Tests/Model/IconTests.swift @@ -46,6 +46,30 @@ internal final class IconTests: XCTestCase { XCTAssertNil(icon.highlightedImage) } + @available(iOS 13.0, tvOS 13.0, *) + func testSFSymbol() { + // Given + let name = "gear" + + // When + let icon: Icon? = .sfSymbol(name) + + // Then + let expectedImage = UIImage(systemName: name) + XCTAssertEqual(icon?.image, expectedImage) + XCTAssertNil(icon?.highlightedImage) + } + + @available(iOS 13.0, tvOS 13.0, *) + func testSFSymbol_notFound() { + // When + let icon: Icon? = .sfSymbol("not-found") + + // Then + XCTAssertNil(icon?.image) + XCTAssertNil(icon?.highlightedImage) + } + // MARK: - Equatable func testEquatable_withIdenticalParameters() { From aed81ff1c0fba5a907ec8748cd7f127bc3e94eee Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 24 May 2020 16:07:31 +0100 Subject: [PATCH 02/35] Scale SF Symbol images with the Dynamic Type settings --- Source/Model/Icon.swift | 22 ++++++++++++---------- Tests/Model/IconTests.swift | 19 ++++++++++++++++++- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/Source/Model/Icon.swift b/Source/Model/Icon.swift index b8841ea9..824b5021 100644 --- a/Source/Model/Icon.swift +++ b/Source/Model/Icon.swift @@ -32,9 +32,6 @@ public enum Icon: Equatable { /// Icon with an image of the given name for the normal state. /// The "-highlighted" suffix is appended to the name for the highlighted image. case named(String) - /// System icon with the given name - @available(iOS 13.0, *) - case sfSymbol(String) /// Icon with an image for the normal state. case image(UIImage) /// Icon with images for the normal and highlighted states. @@ -45,12 +42,6 @@ public enum Icon: Equatable { switch self { case let .named(name): return UIImage(named: name) - case let .sfSymbol(name): - if #available(iOS 13.0, *), #available(tvOS 13.0, *) { - return UIImage(systemName: name) - } else { - return nil - } case let .image(image): return image case let .images(normal: image, highlighted: _): @@ -63,11 +54,22 @@ public enum Icon: Equatable { switch self { case let .named(name): return UIImage(named: name + "-highlighted") - case .sfSymbol, .image: + case .image: return nil case let .images(normal: _, highlighted: image): return image } } + /// Returns `Icon.image` with the specified SF Symbol. + /// - Parameters: + /// - name: The name of the system symbol image. + /// - configuration: The configuration to specify traits and other details that define the variant of image. + @available(iOS 13.0, tvOS 13.0, *) + public static func sfSymbol(_ name: String, withConfiguration configuration: UIImage.Configuration? = nil) -> Self? { + // Make sure the image scales with the Dynamic Type settings. + let fallback = UIImage.SymbolConfiguration(textStyle: .body) + return UIImage(systemName: name, withConfiguration: configuration ?? fallback).map { .image($0) } + } + } diff --git a/Tests/Model/IconTests.swift b/Tests/Model/IconTests.swift index 16958084..4ce54923 100644 --- a/Tests/Model/IconTests.swift +++ b/Tests/Model/IconTests.swift @@ -46,6 +46,8 @@ internal final class IconTests: XCTestCase { XCTAssertNil(icon.highlightedImage) } + // MARK: - SFSymbols + @available(iOS 13.0, tvOS 13.0, *) func testSFSymbol() { // Given @@ -55,7 +57,22 @@ internal final class IconTests: XCTestCase { let icon: Icon? = .sfSymbol(name) // Then - let expectedImage = UIImage(systemName: name) + let expectedImage = UIImage(systemName: name, withConfiguration: UIImage.SymbolConfiguration(textStyle: .body)) + XCTAssertEqual(icon?.image, expectedImage) + XCTAssertNil(icon?.highlightedImage) + } + + @available(iOS 13.0, tvOS 13.0, *) + func testSFSymbol_withConfiguration() { + // Given + let name = "camera" + let configuration = UIImage.SymbolConfiguration(scale: .large) + + // When + let icon: Icon? = .sfSymbol(name, withConfiguration: configuration) + + // Then + let expectedImage = UIImage(systemName: name, withConfiguration: configuration) XCTAssertEqual(icon?.image, expectedImage) XCTAssertNil(icon?.highlightedImage) } From 0b9e01591baf83054f586a28674ea762fc940274 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 30 May 2020 16:16:12 +0100 Subject: [PATCH 03/35] Change Icon to struct to specify bundle when using image names --- Source/Model/Icon.swift | 52 ++++++++++++++++++------------------- Tests/Model/IconTests.swift | 46 ++++++++++++++++++++++++++++---- 2 files changed, 67 insertions(+), 31 deletions(-) diff --git a/Source/Model/Icon.swift b/Source/Model/Icon.swift index 824b5021..8a3ca1c9 100644 --- a/Source/Model/Icon.swift +++ b/Source/Model/Icon.swift @@ -27,38 +27,38 @@ import UIKit /// A struct that represents the image used in a row. -public enum Icon: Equatable { +public struct Icon: Equatable { + + /// The image for the normal state. + public let image: UIImage? + + /// The image for the highlighted state. + public let highlightedImage: UIImage? /// Icon with an image of the given name for the normal state. /// The "-highlighted" suffix is appended to the name for the highlighted image. - case named(String) - /// Icon with an image for the normal state. - case image(UIImage) - /// Icon with images for the normal and highlighted states. - case images(normal: UIImage, highlighted: UIImage) + /// + /// - Parameters: + /// - name: The name of the image asset. + /// - bundle: The bundle containing the image file or asset catalog. Specify nil to search the app’s main bundle. + /// - traitCollection: The traits associated with the intended environment for the image. Specify nil to use the traits associated with the main screen. + public static func named(_ name: String, in bundle: Bundle? = nil, compatibleWith traitCollection: UITraitCollection? = nil) -> Self { + return Icon( + image: UIImage(named: name, in: bundle, compatibleWith: traitCollection), + highlightedImage: UIImage(named: name + "-highlighted", in: bundle, compatibleWith: traitCollection) + ) + } - /// The image for the normal state. - public var image: UIImage? { - switch self { - case let .named(name): - return UIImage(named: name) - case let .image(image): - return image - case let .images(normal: image, highlighted: _): - return image - } + /// Icon with an image for the normal state. + /// A method to provide backward compatiblility with the previous enum `case image(UIImage)`. + public static func image(_ image: UIImage) -> Self { + return Icon(image: image, highlightedImage: nil) } - /// The image for the highlighted state. - public var highlightedImage: UIImage? { - switch self { - case let .named(name): - return UIImage(named: name + "-highlighted") - case .image: - return nil - case let .images(normal: _, highlighted: image): - return image - } + /// Icon with images for the normal and highlighted states. + /// A method to provide backward compatiblility with the previous enum `case images(normal: UIImage, highlighted: UIImage)`. + public static func images(normal: UIImage, highlighted: UIImage) -> Self { + return Icon(image: normal, highlightedImage: highlighted) } /// Returns `Icon.image` with the specified SF Symbol. diff --git a/Tests/Model/IconTests.swift b/Tests/Model/IconTests.swift index 4ce54923..301ab74d 100644 --- a/Tests/Model/IconTests.swift +++ b/Tests/Model/IconTests.swift @@ -29,23 +29,55 @@ import XCTest internal final class IconTests: XCTestCase { - private let image = UIImage(named: "icon", in: Bundle(for: IconTests.self), compatibleWith: nil)! - private let highlighted = UIImage(named: "icon-highlighted", in: Bundle(for: IconTests.self), compatibleWith: nil)! + private func testImageNamed(_ name: String) -> UIImage { + return UIImage(named: name, in: Bundle(for: IconTests.self), compatibleWith: nil)! + } // MARK: - Initialization - func testInitialiation() { + func testInitialiation_withName() { + // When + let icon: Icon = .named("icon", in: Bundle(for: IconTests.self)) + + // Then + XCTAssertEqual(icon.image, testImageNamed("icon")) + XCTAssertEqual(icon.highlightedImage, testImageNamed("icon-highlighted")) + } + + func testInitialiation_withNameNotFound() { + // When + let icon: Icon = .named("not-found", in: Bundle(for: IconTests.self)) + + // Then + XCTAssertNil(icon.image) + XCTAssertNil(icon.highlightedImage) + } + + func testInitialiation_withImage() { // Given - let image = self.image + let image = testImageNamed("icon") // When - let icon = Icon.image(image) + let icon: Icon = .image(image) // Then XCTAssertEqual(icon.image, image) XCTAssertNil(icon.highlightedImage) } + func testInitialiation_withImages() { + // Given + let imageA = testImageNamed("icon") + let imageB = testImageNamed("icon-highlighted") + + // When + let icon: Icon = .images(normal: imageA, highlighted: imageB) + + // Then + XCTAssertEqual(icon.image, imageA) + XCTAssertEqual(icon.highlightedImage, imageB) + } + // MARK: - SFSymbols @available(iOS 13.0, tvOS 13.0, *) @@ -89,6 +121,9 @@ internal final class IconTests: XCTestCase { // MARK: - Equatable + private lazy var image = testImageNamed("icon") + private lazy var highlighted = testImageNamed("icon-highlighted") + func testEquatable_withIdenticalParameters() { // Given let one = Icon.image(image) @@ -154,4 +189,5 @@ internal final class IconTests: XCTestCase { // Then XCTAssert(one != another) } + } From 1b671d1fe93ec4a3896ab6871bbf8bd62fc74a3e Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 30 May 2020 16:29:35 +0100 Subject: [PATCH 04/35] Return non-optional Icon from .sfSymbol --- Source/Model/Icon.swift | 16 ++++++++++------ Tests/Model/IconTests.swift | 18 +++++++++--------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Source/Model/Icon.swift b/Source/Model/Icon.swift index 8a3ca1c9..8f5bee88 100644 --- a/Source/Model/Icon.swift +++ b/Source/Model/Icon.swift @@ -35,7 +35,9 @@ public struct Icon: Equatable { /// The image for the highlighted state. public let highlightedImage: UIImage? - /// Icon with an image of the given name for the normal state. + // MARK: - + + /// Returns `Icon` with an image of the given name for the normal state. /// The "-highlighted" suffix is appended to the name for the highlighted image. /// /// - Parameters: @@ -49,27 +51,29 @@ public struct Icon: Equatable { ) } - /// Icon with an image for the normal state. + /// Returns `Icon` with an image for the normal state. The image for the highlighted state is nil. /// A method to provide backward compatiblility with the previous enum `case image(UIImage)`. public static func image(_ image: UIImage) -> Self { return Icon(image: image, highlightedImage: nil) } - /// Icon with images for the normal and highlighted states. + /// Returns `Icon` with images for the normal and highlighted states. /// A method to provide backward compatiblility with the previous enum `case images(normal: UIImage, highlighted: UIImage)`. public static func images(normal: UIImage, highlighted: UIImage) -> Self { return Icon(image: normal, highlightedImage: highlighted) } - /// Returns `Icon.image` with the specified SF Symbol. + /// Returns `Icon` with the specified SF Symbol as the image for the normal state. + /// The image for the highlighted state is nil. + /// /// - Parameters: /// - name: The name of the system symbol image. /// - configuration: The configuration to specify traits and other details that define the variant of image. @available(iOS 13.0, tvOS 13.0, *) - public static func sfSymbol(_ name: String, withConfiguration configuration: UIImage.Configuration? = nil) -> Self? { + public static func sfSymbol(_ name: String, withConfiguration configuration: UIImage.Configuration? = nil) -> Self { // Make sure the image scales with the Dynamic Type settings. let fallback = UIImage.SymbolConfiguration(textStyle: .body) - return UIImage(systemName: name, withConfiguration: configuration ?? fallback).map { .image($0) } + return Icon(image: UIImage(systemName: name, withConfiguration: configuration ?? fallback), highlightedImage: nil) } } diff --git a/Tests/Model/IconTests.swift b/Tests/Model/IconTests.swift index 301ab74d..d3410306 100644 --- a/Tests/Model/IconTests.swift +++ b/Tests/Model/IconTests.swift @@ -86,12 +86,12 @@ internal final class IconTests: XCTestCase { let name = "gear" // When - let icon: Icon? = .sfSymbol(name) + let icon: Icon = .sfSymbol(name) // Then let expectedImage = UIImage(systemName: name, withConfiguration: UIImage.SymbolConfiguration(textStyle: .body)) - XCTAssertEqual(icon?.image, expectedImage) - XCTAssertNil(icon?.highlightedImage) + XCTAssertEqual(icon.image, expectedImage) + XCTAssertNil(icon.highlightedImage) } @available(iOS 13.0, tvOS 13.0, *) @@ -101,22 +101,22 @@ internal final class IconTests: XCTestCase { let configuration = UIImage.SymbolConfiguration(scale: .large) // When - let icon: Icon? = .sfSymbol(name, withConfiguration: configuration) + let icon: Icon = .sfSymbol(name, withConfiguration: configuration) // Then let expectedImage = UIImage(systemName: name, withConfiguration: configuration) - XCTAssertEqual(icon?.image, expectedImage) - XCTAssertNil(icon?.highlightedImage) + XCTAssertEqual(icon.image, expectedImage) + XCTAssertNil(icon.highlightedImage) } @available(iOS 13.0, tvOS 13.0, *) func testSFSymbol_notFound() { // When - let icon: Icon? = .sfSymbol("not-found") + let icon: Icon = .sfSymbol("not-found") // Then - XCTAssertNil(icon?.image) - XCTAssertNil(icon?.highlightedImage) + XCTAssertNil(icon.image) + XCTAssertNil(icon.highlightedImage) } // MARK: - Equatable From 678673f175c759bf612685e3503e0a90f9fc2eee Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 30 May 2020 17:52:08 +0100 Subject: [PATCH 05/35] Avoid breaking changes until v2.0 --- Source/Model/Icon.swift | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Source/Model/Icon.swift b/Source/Model/Icon.swift index 8f5bee88..d8fa2611 100644 --- a/Source/Model/Icon.swift +++ b/Source/Model/Icon.swift @@ -29,6 +29,19 @@ import UIKit /// A struct that represents the image used in a row. public struct Icon: Equatable { + /// The initializer is kept private until v2.0 when `methodSignature` is removed. + private init(methodSignature: String, image: UIImage?, highlightedImage: UIImage?) { + self.methodSignature = methodSignature + self.image = image + self.highlightedImage = highlightedImage + } + + // MARK: - Properties + + /// A string to keep track of how the struct is initialized. + /// It's used internally to avoid the breaking Equatable changes of Icon (as enum) until v2.0. + private let methodSignature: String + /// The image for the normal state. public let image: UIImage? @@ -46,6 +59,7 @@ public struct Icon: Equatable { /// - traitCollection: The traits associated with the intended environment for the image. Specify nil to use the traits associated with the main screen. public static func named(_ name: String, in bundle: Bundle? = nil, compatibleWith traitCollection: UITraitCollection? = nil) -> Self { return Icon( + methodSignature: "\(#function):\(name)", image: UIImage(named: name, in: bundle, compatibleWith: traitCollection), highlightedImage: UIImage(named: name + "-highlighted", in: bundle, compatibleWith: traitCollection) ) @@ -54,13 +68,13 @@ public struct Icon: Equatable { /// Returns `Icon` with an image for the normal state. The image for the highlighted state is nil. /// A method to provide backward compatiblility with the previous enum `case image(UIImage)`. public static func image(_ image: UIImage) -> Self { - return Icon(image: image, highlightedImage: nil) + return Icon(methodSignature: #function, image: image, highlightedImage: nil) } /// Returns `Icon` with images for the normal and highlighted states. /// A method to provide backward compatiblility with the previous enum `case images(normal: UIImage, highlighted: UIImage)`. public static func images(normal: UIImage, highlighted: UIImage) -> Self { - return Icon(image: normal, highlightedImage: highlighted) + return Icon(methodSignature: #function, image: normal, highlightedImage: highlighted) } /// Returns `Icon` with the specified SF Symbol as the image for the normal state. @@ -73,7 +87,11 @@ public struct Icon: Equatable { public static func sfSymbol(_ name: String, withConfiguration configuration: UIImage.Configuration? = nil) -> Self { // Make sure the image scales with the Dynamic Type settings. let fallback = UIImage.SymbolConfiguration(textStyle: .body) - return Icon(image: UIImage(systemName: name, withConfiguration: configuration ?? fallback), highlightedImage: nil) + return Icon( + methodSignature: "\(#function):\(name)", + image: UIImage(systemName: name, withConfiguration: configuration ?? fallback), + highlightedImage: nil + ) } } From 5af871708fb991e68450ff4d0472102b03cfba27 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 30 May 2020 18:35:04 +0100 Subject: [PATCH 06/35] Enable probot-stale integration --- .github/stale.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/stale.yml diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 00000000..bef30a2e --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,19 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 60 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 +# Issues with these labels will never be considered stale +exemptLabels: + - discussion + - help wanted + - pinned + - security +# Label to use when marking an issue as stale +staleLabel: wontfix +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false From d6fc5d85e9eaeae103b766a76fe233bdc0dbe4eb Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 31 May 2020 12:56:19 +0100 Subject: [PATCH 07/35] Create FUNDING.yml --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..eeec8d93 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: bcylin From 0fad341202cb228e913a490b231da93e93374744 Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 31 May 2020 12:58:55 +0100 Subject: [PATCH 08/35] Remove coverage diff from pull request comments --- .codecov.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codecov.yml b/.codecov.yml index 3dd5c688..f1bf7b2d 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -5,7 +5,7 @@ coverage: default: target: 90% comment: - layout: "diff, files" + layout: "files" ignore: - "Carthage/**/*" - "Example*/**/*" From adb8769a1bb4769233ccb8320737d9349690a852 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2020 19:17:27 +0100 Subject: [PATCH 09/35] Bump jazzy from 0.13.3 to 0.13.4 (#47) Bumps [jazzy](https://github.com/realm/jazzy) from 0.13.3 to 0.13.4. - [Release notes](https://github.com/realm/jazzy/releases) - [Changelog](https://github.com/realm/jazzy/blob/master/CHANGELOG.md) - [Commits](https://github.com/realm/jazzy/compare/v0.13.3...v0.13.4) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 76a33f65..16d56db9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -130,7 +130,7 @@ GEM xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) - ffi (1.12.2) + ffi (1.13.0) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) @@ -168,7 +168,7 @@ GEM httpclient (2.8.3) i18n (0.9.5) concurrent-ruby (~> 1.0) - jazzy (0.13.3) + jazzy (0.13.4) cocoapods (~> 1.5) mustache (~> 1.1) open4 From 79123543d58777c486a8a4634e046696b3e3de8d Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Wed, 3 Jun 2020 18:19:29 +0100 Subject: [PATCH 10/35] Bump cocoapods from 1.9.2 to 1.9.3 (#48) Bumps [cocoapods](https://github.com/CocoaPods/CocoaPods) from 1.9.2 to 1.9.3. - [Release notes](https://github.com/CocoaPods/CocoaPods/releases) - [Changelog](https://github.com/CocoaPods/CocoaPods/blob/master/CHANGELOG.md) - [Commits](https://github.com/CocoaPods/CocoaPods/compare/1.9.2...1.9.3) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 16d56db9..cda8abba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -31,10 +31,10 @@ GEM aws-eventstream (~> 1.0, >= 1.0.2) babosa (1.0.3) claide (1.0.3) - cocoapods (1.9.2) + cocoapods (1.9.3) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.9.2) + cocoapods-core (= 1.9.3) cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -50,7 +50,7 @@ GEM nap (~> 1.0) ruby-macho (~> 1.4) xcodeproj (>= 1.14.0, < 2.0) - cocoapods-core (1.9.2) + cocoapods-core (1.9.3) activesupport (>= 4.0.2, < 6) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) From 52e1a732d2b7649d76742fa788ccfa37c1e8fbbd Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2020 20:28:14 +0100 Subject: [PATCH 11/35] Bump fastlane from 2.148.1 to 2.149.1 (#49) Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.148.1 to 2.149.1. - [Release notes](https://github.com/fastlane/fastlane/releases) - [Commits](https://github.com/fastlane/fastlane/compare/fastlane/2.148.1...fastlane/2.149.1) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cda8abba..ff5f7aa1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,20 +14,20 @@ GEM json (>= 1.5.1) atomos (0.1.3) aws-eventstream (1.1.0) - aws-partitions (1.320.0) - aws-sdk-core (3.96.1) + aws-partitions (1.324.0) + aws-sdk-core (3.97.1) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.31.0) + aws-sdk-kms (1.33.0) aws-sdk-core (~> 3, >= 3.71.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.66.0) + aws-sdk-s3 (1.67.1) aws-sdk-core (~> 3, >= 3.96.1) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) - aws-sigv4 (1.1.3) + aws-sigv4 (1.1.4) aws-eventstream (~> 1.0, >= 1.0.2) babosa (1.0.3) claide (1.0.3) @@ -92,7 +92,7 @@ GEM faraday_middleware (1.0.0) faraday (~> 1.0) fastimage (2.1.7) - fastlane (2.148.1) + fastlane (2.149.1) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) aws-sdk-s3 (~> 1.0) @@ -145,10 +145,10 @@ GEM google-cloud-core (1.5.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) - google-cloud-env (1.3.1) + google-cloud-env (1.3.2) faraday (>= 0.17.3, < 2.0) - google-cloud-errors (1.0.0) - google-cloud-storage (1.26.1) + google-cloud-errors (1.0.1) + google-cloud-storage (1.26.2) addressable (~> 2.5) digest-crc (~> 0.4) google-api-client (~> 0.33) @@ -225,7 +225,7 @@ GEM unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) tty-cursor (0.7.1) - tty-screen (0.7.1) + tty-screen (0.8.0) tty-spinner (0.9.3) tty-cursor (~> 0.7) typhoeus (1.4.0) From ba11a303b4cf2556691be563b1d4bfed5fb9409b Mon Sep 17 00:00:00 2001 From: Ben Date: Tue, 23 Jun 2020 22:34:03 +0100 Subject: [PATCH 12/35] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1077e490..2c1cd87d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## Next release + +* Use SF Symbols as icon images, [#41](https://github.com/bcylin/QuickTableViewController/pull/41) by [@ezfe](https://github.com/ezfe) + ## v1.2.3 * Fix Swift version in podspec From 904ab509144648219b594a6a1feffa0ecf940887 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2020 22:24:39 +0100 Subject: [PATCH 13/35] Bump jazzy from 0.13.4 to 0.13.5 (#53) Bumps [jazzy](https://github.com/realm/jazzy) from 0.13.4 to 0.13.5. - [Release notes](https://github.com/realm/jazzy/releases) - [Changelog](https://github.com/realm/jazzy/blob/master/CHANGELOG.md) - [Commits](https://github.com/realm/jazzy/compare/v0.13.4...v0.13.5) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ff5f7aa1..eb7bb113 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,7 +9,7 @@ GEM tzinfo (~> 1.1) addressable (2.7.0) public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.2) + algoliasearch (1.27.3) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) atomos (0.1.3) @@ -130,7 +130,7 @@ GEM xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) - ffi (1.13.0) + ffi (1.13.1) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) @@ -168,7 +168,7 @@ GEM httpclient (2.8.3) i18n (0.9.5) concurrent-ruby (~> 1.0) - jazzy (0.13.4) + jazzy (0.13.5) cocoapods (~> 1.5) mustache (~> 1.1) open4 @@ -178,7 +178,7 @@ GEM sqlite3 (~> 1.3) xcinvoke (~> 0.3.0) jmespath (1.4.0) - json (2.3.0) + json (2.3.1) jwt (2.1.0) liferaft (0.0.6) memoist (0.16.2) @@ -207,7 +207,7 @@ GEM rouge (2.0.7) ruby-macho (1.4.0) rubyzip (1.3.0) - sassc (2.3.0) + sassc (2.4.0) ffi (~> 1.9) security (0.1.3) signet (0.14.0) @@ -240,7 +240,7 @@ GEM word_wrap (1.0.0) xcinvoke (0.3.0) liferaft (~> 0.0.6) - xcodeproj (1.16.0) + xcodeproj (1.17.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) From 0bb2ee801538e08cc53a55f6e244bc8a92a1aa5d Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2020 22:56:16 +0100 Subject: [PATCH 14/35] Bump fastlane from 2.149.1 to 2.153.1 (#58) Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.149.1 to 2.153.1. - [Release notes](https://github.com/fastlane/fastlane/releases) - [Commits](https://github.com/fastlane/fastlane/compare/fastlane/2.149.1...fastlane/2.153.1) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 67 ++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index eb7bb113..415e4bf2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,21 +14,21 @@ GEM json (>= 1.5.1) atomos (0.1.3) aws-eventstream (1.1.0) - aws-partitions (1.324.0) - aws-sdk-core (3.97.1) + aws-partitions (1.345.0) + aws-sdk-core (3.104.3) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.33.0) - aws-sdk-core (~> 3, >= 3.71.0) + aws-sdk-kms (1.36.0) + aws-sdk-core (~> 3, >= 3.99.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.67.1) - aws-sdk-core (~> 3, >= 3.96.1) + aws-sdk-s3 (1.75.0) + aws-sdk-core (~> 3, >= 3.104.1) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) - aws-sigv4 (1.1.4) - aws-eventstream (~> 1.0, >= 1.0.2) + aws-sigv4 (1.2.1) + aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.3) claide (1.0.3) cocoapods (1.9.3) @@ -73,17 +73,18 @@ GEM commander-fastlane (4.4.6) highline (~> 1.7.2) concurrent-ruby (1.1.6) - declarative (0.0.10) + declarative (0.0.20) declarative-option (0.1.0) - digest-crc (0.5.1) + digest-crc (0.6.1) + rake (~> 13.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - dotenv (2.7.5) - emoji_regex (1.0.1) + dotenv (2.7.6) + emoji_regex (3.0.0) escape (0.0.4) ethon (0.12.0) ffi (>= 1.3.0) - excon (0.73.0) + excon (0.75.0) faraday (1.0.1) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) @@ -91,34 +92,32 @@ GEM http-cookie (~> 1.0.0) faraday_middleware (1.0.0) faraday (~> 1.0) - fastimage (2.1.7) - fastlane (2.149.1) + fastimage (2.2.0) + fastlane (2.153.1) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) aws-sdk-s3 (~> 1.0) - babosa (>= 1.0.2, < 2.0.0) + babosa (>= 1.0.3, < 2.0.0) bundler (>= 1.12.0, < 3.0.0) colored commander-fastlane (>= 4.4.6, < 5.0.0) dotenv (>= 2.1.1, < 3.0.0) - emoji_regex (>= 0.1, < 2.0) + emoji_regex (>= 0.1, < 4.0) excon (>= 0.71.0, < 1.0.0) - faraday (>= 0.17, < 2.0) + faraday (~> 1.0) faraday-cookie_jar (~> 0.0.6) - faraday_middleware (>= 0.13.1, < 2.0) + faraday_middleware (~> 1.0) fastimage (>= 2.1.0, < 3.0.0) gh_inspector (>= 1.1.2, < 2.0.0) google-api-client (>= 0.37.0, < 0.39.0) google-cloud-storage (>= 1.15.0, < 2.0.0) highline (>= 1.7.2, < 2.0.0) json (< 3.0.0) - jwt (~> 2.1.0) + jwt (>= 2.1.0, < 3) mini_magick (>= 4.9.4, < 5.0.0) - multi_xml (~> 0.5) multipart-post (~> 2.0.0) plist (>= 3.1.0, < 4.0.0) - public_suffix (~> 2.0.0) - rubyzip (>= 1.3.0, < 2.0.0) + rubyzip (>= 2.0.0, < 3.0.0) security (= 0.1.3) simctl (~> 1.6.3) slack-notifier (>= 2.0.0, < 3.0.0) @@ -145,7 +144,7 @@ GEM google-cloud-core (1.5.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) - google-cloud-env (1.3.2) + google-cloud-env (1.3.3) faraday (>= 0.17.3, < 2.0) google-cloud-errors (1.0.1) google-cloud-storage (1.26.2) @@ -155,7 +154,7 @@ GEM google-cloud-core (~> 1.2) googleauth (~> 0.9) mini_mime (~> 1.0) - googleauth (0.12.0) + googleauth (0.13.0) faraday (>= 0.17.3, < 2.0) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -179,25 +178,25 @@ GEM xcinvoke (~> 0.3.0) jmespath (1.4.0) json (2.3.1) - jwt (2.1.0) + jwt (2.2.1) liferaft (0.0.6) memoist (0.16.2) mini_magick (4.10.1) mini_mime (1.0.2) minitest (5.14.1) molinillo (0.6.6) - multi_json (1.14.1) - multi_xml (0.6.0) + multi_json (1.15.0) multipart-post (2.0.0) mustache (1.1.1) - nanaimo (0.2.6) + nanaimo (0.3.0) nap (1.1.0) naturally (2.2.0) netrc (0.11.0) open4 (1.3.4) os (1.1.0) plist (3.5.0) - public_suffix (2.0.5) + public_suffix (4.0.5) + rake (13.0.1) redcarpet (3.5.0) representable (3.0.4) declarative (< 0.1.0) @@ -206,7 +205,7 @@ GEM retriable (3.1.2) rouge (2.0.7) ruby-macho (1.4.0) - rubyzip (1.3.0) + rubyzip (2.3.0) sassc (2.4.0) ffi (~> 1.9) security (0.1.3) @@ -225,7 +224,7 @@ GEM unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) tty-cursor (0.7.1) - tty-screen (0.8.0) + tty-screen (0.8.1) tty-spinner (0.9.3) tty-cursor (~> 0.7) typhoeus (1.4.0) @@ -240,12 +239,12 @@ GEM word_wrap (1.0.0) xcinvoke (0.3.0) liferaft (~> 0.0.6) - xcodeproj (1.17.0) + xcodeproj (1.17.1) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.2.6) + nanaimo (~> 0.3.0) xcpretty (0.3.0) rouge (~> 2.0.7) xcpretty-travis-formatter (1.0.0) From 9854cdd94a6dc5e8184a7d31891d6ef858b01008 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 4 Aug 2020 21:02:25 +0100 Subject: [PATCH 15/35] Bump fastlane from 2.153.1 to 2.154.0 (#59) Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.153.1 to 2.154.0. - [Release notes](https://github.com/fastlane/fastlane/releases) - [Commits](https://github.com/fastlane/fastlane/compare/fastlane/2.153.1...fastlane/2.154.0) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 415e4bf2..afe9f6dc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,7 +14,7 @@ GEM json (>= 1.5.1) atomos (0.1.3) aws-eventstream (1.1.0) - aws-partitions (1.345.0) + aws-partitions (1.347.0) aws-sdk-core (3.104.3) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) @@ -84,7 +84,7 @@ GEM escape (0.0.4) ethon (0.12.0) ffi (>= 1.3.0) - excon (0.75.0) + excon (0.76.0) faraday (1.0.1) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) @@ -93,7 +93,7 @@ GEM faraday_middleware (1.0.0) faraday (~> 1.0) fastimage (2.2.0) - fastlane (2.153.1) + fastlane (2.154.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) aws-sdk-s3 (~> 1.0) @@ -147,7 +147,7 @@ GEM google-cloud-env (1.3.3) faraday (>= 0.17.3, < 2.0) google-cloud-errors (1.0.1) - google-cloud-storage (1.26.2) + google-cloud-storage (1.27.0) addressable (~> 2.5) digest-crc (~> 0.4) google-api-client (~> 0.33) From 2d38dd1c9a8d59776cbda47b82973064f9255610 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Sat, 22 Aug 2020 12:21:29 +0100 Subject: [PATCH 16/35] Bump fastlane from 2.154.0 to 2.156.1 (#63) Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.154.0 to 2.156.1. - [Release notes](https://github.com/fastlane/fastlane/releases) - [Commits](https://github.com/fastlane/fastlane/compare/fastlane/2.154.0...fastlane/2.156.1) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index afe9f6dc..3fce11b3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,7 +14,7 @@ GEM json (>= 1.5.1) atomos (0.1.3) aws-eventstream (1.1.0) - aws-partitions (1.347.0) + aws-partitions (1.355.0) aws-sdk-core (3.104.3) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) @@ -23,11 +23,11 @@ GEM aws-sdk-kms (1.36.0) aws-sdk-core (~> 3, >= 3.99.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.75.0) - aws-sdk-core (~> 3, >= 3.104.1) + aws-sdk-s3 (1.78.0) + aws-sdk-core (~> 3, >= 3.104.3) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.1) + aws-sigv4 (1.2.2) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.3) claide (1.0.3) @@ -93,7 +93,7 @@ GEM faraday_middleware (1.0.0) faraday (~> 1.0) fastimage (2.2.0) - fastlane (2.154.0) + fastlane (2.156.1) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) aws-sdk-s3 (~> 1.0) @@ -154,7 +154,7 @@ GEM google-cloud-core (~> 1.2) googleauth (~> 0.9) mini_mime (~> 1.0) - googleauth (0.13.0) + googleauth (0.13.1) faraday (>= 0.17.3, < 2.0) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -193,7 +193,7 @@ GEM naturally (2.2.0) netrc (0.11.0) open4 (1.3.4) - os (1.1.0) + os (1.1.1) plist (3.5.0) public_suffix (4.0.5) rake (13.0.1) @@ -239,7 +239,7 @@ GEM word_wrap (1.0.0) xcinvoke (0.3.0) liferaft (~> 0.0.6) - xcodeproj (1.17.1) + xcodeproj (1.18.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) From 29c3644afd7c19ede1c292db116fd6ea551abc8c Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 23 Aug 2020 16:05:30 +0100 Subject: [PATCH 17/35] Make init(style:) a designated initializer --- CHANGELOG.md | 1 + Source/QuickTableViewController.swift | 28 +++++++++++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02275521..bef1abb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Next release * Use SF Symbols as icon images, [#41](https://github.com/bcylin/QuickTableViewController/pull/41) by [@ezfe](https://github.com/ezfe) +* Make `init(style:)` a designated initializer ## v1.2.4 diff --git a/Source/QuickTableViewController.swift b/Source/QuickTableViewController.swift index 0d081a03..f0c047d1 100644 --- a/Source/QuickTableViewController.swift +++ b/Source/QuickTableViewController.swift @@ -44,16 +44,28 @@ open class QuickTableViewController: UIViewController, UITableViewDataSource, UI // MARK: - Initialization - /** - Initializes a table view controller to manage a table view of a given style. + /// Initializes a table view controller to manage a table view of a given style. + /// + /// - Parameter style: A constant that specifies the style of table view that the controller object is to manage. + public init(style: UITableView.Style) { + super.init(nibName: nil, bundle: nil) + tableView = UITableView(frame: .zero, style: style) + } - - parameter style: A constant that specifies the style of table view that the controller object is to manage (`.plain` or `.grouped`). + /// Returns a newly initialized view controller with the nib file in the specified bundle. + /// + /// - Parameters: + /// - nibNameOrNil: The name of the nib file to associate with the view controller. + /// - nibBundleOrNil: The bundle in which to search for the nib file. + public override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { + super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) + } - - returns: An initialized `QuickTableViewController` object. - */ - public convenience init(style: UITableView.Style) { - self.init(nibName: nil, bundle: nil) - tableView = UITableView(frame: .zero, style: style) + /// Returns an object initialized from data in a given unarchiver. + /// + /// - Parameter coder: An unarchiver object. + public required init?(coder: NSCoder) { + super.init(coder: coder) } deinit { From 2f30a40173ee6e907ff66fee53bad02a79ea058e Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 23 Aug 2020 16:06:18 +0100 Subject: [PATCH 18/35] Update examples to use .insetGrouped style --- .../AppearanceViewController.swift | 14 ++++++++++++++ .../CustomizationViewController.swift | 14 ++++++++++++++ .../ExampleViewController.swift | 12 ++++++++++++ .../ViewControllers/RootViewController.swift | 18 ++++++++++++++++-- 4 files changed, 56 insertions(+), 2 deletions(-) diff --git a/Example-iOS/ViewControllers/AppearanceViewController.swift b/Example-iOS/ViewControllers/AppearanceViewController.swift index 5881db4b..5430388d 100644 --- a/Example-iOS/ViewControllers/AppearanceViewController.swift +++ b/Example-iOS/ViewControllers/AppearanceViewController.swift @@ -29,6 +29,20 @@ import QuickTableViewController internal final class AppearanceViewController: QuickTableViewController { + init() { + if #available(iOS 13.0, *) { + super.init(style: .insetGrouped) + } else { + super.init(style: .grouped) + } + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + // MARK: - UIViewController + override func viewDidLoad() { super.viewDidLoad() title = "UIAppearance" diff --git a/Example-iOS/ViewControllers/CustomizationViewController.swift b/Example-iOS/ViewControllers/CustomizationViewController.swift index f70bdd11..5b930d9e 100644 --- a/Example-iOS/ViewControllers/CustomizationViewController.swift +++ b/Example-iOS/ViewControllers/CustomizationViewController.swift @@ -39,6 +39,20 @@ private final class CustomOptionRow: OptionRow {} internal final class CustomizationViewController: QuickTableViewController { + init() { + if #available(iOS 13.0, *) { + super.init(style: .insetGrouped) + } else { + super.init(style: .grouped) + } + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + // MARK: - Properties + private let debugging = Section( title: nil, rows: [NavigationRow(text: "", detailText: .none)], diff --git a/Example-iOS/ViewControllers/ExampleViewController.swift b/Example-iOS/ViewControllers/ExampleViewController.swift index 1d3115ec..30b71233 100644 --- a/Example-iOS/ViewControllers/ExampleViewController.swift +++ b/Example-iOS/ViewControllers/ExampleViewController.swift @@ -29,6 +29,18 @@ import QuickTableViewController internal final class ExampleViewController: QuickTableViewController { + init() { + if #available(iOS 13.0, *) { + super.init(style: .insetGrouped) + } else { + super.init(style: .grouped) + } + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + // MARK: - Properties private let debugging = Section(title: nil, rows: [NavigationRow(text: "", detailText: .none)]) diff --git a/Example-iOS/ViewControllers/RootViewController.swift b/Example-iOS/ViewControllers/RootViewController.swift index a2a138aa..7298c189 100644 --- a/Example-iOS/ViewControllers/RootViewController.swift +++ b/Example-iOS/ViewControllers/RootViewController.swift @@ -29,14 +29,28 @@ import QuickTableViewController internal final class RootViewController: QuickTableViewController { - override func viewDidLoad() { - super.viewDidLoad() + init() { + if #available(iOS 13.0, *) { + super.init(style: .insetGrouped) + } else { + super.init(style: .grouped) + } let titleLabel = UILabel() titleLabel.text = "QuickTableViewController" titleLabel.font = UIFont.boldSystemFont(ofSize: 17) title = " " navigationItem.titleView = titleLabel + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + // MARK: - UIViewController + + override func viewDidLoad() { + super.viewDidLoad() tableContents = [ Section(title: "Default", rows: [ From ada75e423a89f1231483bd49b24ef5b06d1e1276 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Sat, 5 Sep 2020 16:23:24 +0100 Subject: [PATCH 19/35] Bump fastlane from 2.156.1 to 2.157.3 (#66) Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.156.1 to 2.157.3. - [Release notes](https://github.com/fastlane/fastlane/releases) - [Commits](https://github.com/fastlane/fastlane/compare/fastlane/2.156.1...fastlane/2.157.3) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3fce11b3..e7ec1937 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,16 +14,16 @@ GEM json (>= 1.5.1) atomos (0.1.3) aws-eventstream (1.1.0) - aws-partitions (1.355.0) - aws-sdk-core (3.104.3) + aws-partitions (1.364.0) + aws-sdk-core (3.105.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.36.0) + aws-sdk-kms (1.37.0) aws-sdk-core (~> 3, >= 3.99.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.78.0) + aws-sdk-s3 (1.79.1) aws-sdk-core (~> 3, >= 3.104.3) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) @@ -87,13 +87,13 @@ GEM excon (0.76.0) faraday (1.0.1) multipart-post (>= 1.2, < 3) - faraday-cookie_jar (0.0.6) - faraday (>= 0.7.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) http-cookie (~> 1.0.0) faraday_middleware (1.0.0) faraday (~> 1.0) fastimage (2.2.0) - fastlane (2.156.1) + fastlane (2.157.3) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) aws-sdk-s3 (~> 1.0) @@ -147,7 +147,7 @@ GEM google-cloud-env (1.3.3) faraday (>= 0.17.3, < 2.0) google-cloud-errors (1.0.1) - google-cloud-storage (1.27.0) + google-cloud-storage (1.28.0) addressable (~> 2.5) digest-crc (~> 0.4) google-api-client (~> 0.33) @@ -178,7 +178,7 @@ GEM xcinvoke (~> 0.3.0) jmespath (1.4.0) json (2.3.1) - jwt (2.2.1) + jwt (2.2.2) liferaft (0.0.6) memoist (0.16.2) mini_magick (4.10.1) @@ -195,7 +195,7 @@ GEM open4 (1.3.4) os (1.1.1) plist (3.5.0) - public_suffix (4.0.5) + public_suffix (4.0.6) rake (13.0.1) redcarpet (3.5.0) representable (3.0.4) From c1b82c7b673da84a01f48bfc34f9ff5eb458f07d Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Sun, 13 Sep 2020 18:26:15 +0100 Subject: [PATCH 20/35] Bump fastlane from 2.157.3 to 2.159.0 (#68) Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.157.3 to 2.159.0. - [Release notes](https://github.com/fastlane/fastlane/releases) - [Commits](https://github.com/fastlane/fastlane/compare/fastlane/2.157.3...fastlane/2.159.0) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e7ec1937..597185a2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,7 +14,7 @@ GEM json (>= 1.5.1) atomos (0.1.3) aws-eventstream (1.1.0) - aws-partitions (1.364.0) + aws-partitions (1.367.0) aws-sdk-core (3.105.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) @@ -23,7 +23,7 @@ GEM aws-sdk-kms (1.37.0) aws-sdk-core (~> 3, >= 3.99.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.79.1) + aws-sdk-s3 (1.80.0) aws-sdk-core (~> 3, >= 3.104.3) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) @@ -93,7 +93,7 @@ GEM faraday_middleware (1.0.0) faraday (~> 1.0) fastimage (2.2.0) - fastlane (2.157.3) + fastlane (2.159.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) aws-sdk-s3 (~> 1.0) From bb17cab4fd5614a50ed4c3ece2cd656933c14905 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 3 Oct 2020 14:53:37 +0100 Subject: [PATCH 21/35] Create a test target in a separate Xcode project --- .gitignore | 3 + Package/Package.xcodeproj/project.pbxproj | 353 ++++++++++++++++++ .../xcshareddata/xcschemes/Package.xcscheme | 78 ++++ Package/Package/AppDelegate.swift | 25 ++ .../Base.lproj/LaunchScreen.storyboard | 25 ++ Package/Package/Info.plist | 43 +++ .../contents.xcworkspacedata | 3 + 7 files changed, 530 insertions(+) create mode 100644 Package/Package.xcodeproj/project.pbxproj create mode 100644 Package/Package.xcodeproj/xcshareddata/xcschemes/Package.xcscheme create mode 100644 Package/Package/AppDelegate.swift create mode 100644 Package/Package/Base.lproj/LaunchScreen.storyboard create mode 100644 Package/Package/Info.plist diff --git a/.gitignore b/.gitignore index 2c449885..0743b372 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,6 @@ Pods/ ## Carthage Carthage/ + +## Packages with local file paths +**/xcshareddata/swiftpm/Package.resolved diff --git a/Package/Package.xcodeproj/project.pbxproj b/Package/Package.xcodeproj/project.pbxproj new file mode 100644 index 00000000..7a0fe49a --- /dev/null +++ b/Package/Package.xcodeproj/project.pbxproj @@ -0,0 +1,353 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 52; + objects = { + +/* Begin PBXBuildFile section */ + B5E64FF12528B4D000A9D77D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E64FF02528B4D000A9D77D /* AppDelegate.swift */; }; + B5E64FFD2528B4D500A9D77D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B5E64FFB2528B4D500A9D77D /* LaunchScreen.storyboard */; }; + B5E6502C2528BE5B00A9D77D /* QuickTableViewController in Frameworks */ = {isa = PBXBuildFile; productRef = B5E6502B2528BE5B00A9D77D /* QuickTableViewController */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + B5E64FED2528B4D000A9D77D /* Package.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Package.app; sourceTree = BUILT_PRODUCTS_DIR; }; + B5E64FF02528B4D000A9D77D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + B5E64FFC2528B4D500A9D77D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + B5E64FFE2528B4D500A9D77D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + B5E64FEA2528B4D000A9D77D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B5E6502C2528BE5B00A9D77D /* QuickTableViewController in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + B5E64FE42528B4CF00A9D77D = { + isa = PBXGroup; + children = ( + B5E64FEF2528B4D000A9D77D /* Package */, + B5E64FEE2528B4D000A9D77D /* Products */, + ); + indentWidth = 2; + sourceTree = ""; + }; + B5E64FEE2528B4D000A9D77D /* Products */ = { + isa = PBXGroup; + children = ( + B5E64FED2528B4D000A9D77D /* Package.app */, + ); + name = Products; + sourceTree = ""; + }; + B5E64FEF2528B4D000A9D77D /* Package */ = { + isa = PBXGroup; + children = ( + B5E64FF02528B4D000A9D77D /* AppDelegate.swift */, + B5E64FFE2528B4D500A9D77D /* Info.plist */, + B5E64FFB2528B4D500A9D77D /* LaunchScreen.storyboard */, + ); + path = Package; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + B5E64FEC2528B4D000A9D77D /* Package */ = { + isa = PBXNativeTarget; + buildConfigurationList = B5E650012528B4D500A9D77D /* Build configuration list for PBXNativeTarget "Package" */; + buildPhases = ( + B5E64FE92528B4D000A9D77D /* Sources */, + B5E64FEA2528B4D000A9D77D /* Frameworks */, + B5E64FEB2528B4D000A9D77D /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Package; + packageProductDependencies = ( + B5E6502B2528BE5B00A9D77D /* QuickTableViewController */, + ); + productName = Package; + productReference = B5E64FED2528B4D000A9D77D /* Package.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + B5E64FE52528B4CF00A9D77D /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1200; + LastUpgradeCheck = 1200; + ORGANIZATIONNAME = ""; + TargetAttributes = { + B5E64FEC2528B4D000A9D77D = { + CreatedOnToolsVersion = 12.0; + }; + }; + }; + buildConfigurationList = B5E64FE82528B4CF00A9D77D /* Build configuration list for PBXProject "Package" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = B5E64FE42528B4CF00A9D77D; + packageReferences = ( + B5E6502A2528BE5B00A9D77D /* XCRemoteSwiftPackageReference "QuickTableViewController" */, + ); + productRefGroup = B5E64FEE2528B4D000A9D77D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + B5E64FEC2528B4D000A9D77D /* Package */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + B5E64FEB2528B4D000A9D77D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B5E64FFD2528B4D500A9D77D /* LaunchScreen.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + B5E64FE92528B4D000A9D77D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B5E64FF12528B4D000A9D77D /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + B5E64FFB2528B4D500A9D77D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + B5E64FFC2528B4D500A9D77D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + B5E64FFF2528B4D500A9D77D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + B5E650002528B4D500A9D77D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + B5E650022528B4D500A9D77D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = ""; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = Package/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = io.github.bcylin.QuickTableViewController.Package; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + B5E650032528B4D500A9D77D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = ""; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = Package/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = io.github.bcylin.QuickTableViewController.Package; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + B5E64FE82528B4CF00A9D77D /* Build configuration list for PBXProject "Package" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B5E64FFF2528B4D500A9D77D /* Debug */, + B5E650002528B4D500A9D77D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + B5E650012528B4D500A9D77D /* Build configuration list for PBXNativeTarget "Package" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B5E650022528B4D500A9D77D /* Debug */, + B5E650032528B4D500A9D77D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + B5E6502A2528BE5B00A9D77D /* XCRemoteSwiftPackageReference "QuickTableViewController" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/bcylin/QuickTableViewController"; + requirement = { + kind = revision; + revision = c1b82c7b673da84a01f48bfc34f9ff5eb458f07d; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + B5E6502B2528BE5B00A9D77D /* QuickTableViewController */ = { + isa = XCSwiftPackageProductDependency; + package = B5E6502A2528BE5B00A9D77D /* XCRemoteSwiftPackageReference "QuickTableViewController" */; + productName = QuickTableViewController; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = B5E64FE52528B4CF00A9D77D /* Project object */; +} diff --git a/Package/Package.xcodeproj/xcshareddata/xcschemes/Package.xcscheme b/Package/Package.xcodeproj/xcshareddata/xcschemes/Package.xcscheme new file mode 100644 index 00000000..063f7cb1 --- /dev/null +++ b/Package/Package.xcodeproj/xcshareddata/xcschemes/Package.xcscheme @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Package/Package/AppDelegate.swift b/Package/Package/AppDelegate.swift new file mode 100644 index 00000000..60300afd --- /dev/null +++ b/Package/Package/AppDelegate.swift @@ -0,0 +1,25 @@ +// +// AppDelegate.swift +// Package +// +// Created by Ben on 03/10/2020. +// Copyright © 2020 bcylin. All rights reserved. +// + +import UIKit +import QuickTableViewController + +@UIApplicationMain +final class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + window = UIWindow(frame: UIScreen.main.bounds) + window?.backgroundColor = UIColor.white + window?.rootViewController = UINavigationController(rootViewController: QuickTableViewController()) + window?.makeKeyAndVisible() + return true + } + +} diff --git a/Package/Package/Base.lproj/LaunchScreen.storyboard b/Package/Package/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000..865e9329 --- /dev/null +++ b/Package/Package/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Package/Package/Info.plist b/Package/Package/Info.plist new file mode 100644 index 00000000..108ad6cd --- /dev/null +++ b/Package/Package/Info.plist @@ -0,0 +1,43 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIApplicationSupportsIndirectInputEvents + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/QuickTableViewController.xcworkspace/contents.xcworkspacedata b/QuickTableViewController.xcworkspace/contents.xcworkspacedata index 3832055c..814a3a7d 100644 --- a/QuickTableViewController.xcworkspace/contents.xcworkspacedata +++ b/QuickTableViewController.xcworkspace/contents.xcworkspacedata @@ -4,6 +4,9 @@ + + From 8b9a9abdd0416ee591d7053c1e1437596ec6631d Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 3 Oct 2020 13:41:59 +0100 Subject: [PATCH 22/35] Update workflows to test Swift Package --- .github/workflows/{run_tests.yml => ci.yml} | 4 +++- README.md | 2 +- fastlane/Fastfile | 11 +++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) rename .github/workflows/{run_tests.yml => ci.yml} (94%) diff --git a/.github/workflows/run_tests.yml b/.github/workflows/ci.yml similarity index 94% rename from .github/workflows/run_tests.yml rename to .github/workflows/ci.yml index 5d0d33cd..f0ba5a86 100644 --- a/.github/workflows/run_tests.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Tests +name: CI on: [push, pull_request] jobs: @@ -28,6 +28,8 @@ jobs: - name: Pod install run: | bundle exec pod install + - run: | + bundler exec fastlane swift_package - run: | bundle exec fastlane ios unit_tests - run: | diff --git a/README.md b/README.md index 1f3e19e7..fd6298e2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # QuickTableViewController -[![GitHub Actions](https://github.com/bcylin/QuickTableViewController/workflows/Tests/badge.svg)](https://github.com/bcylin/QuickTableViewController/actions) +[![GitHub Actions](https://github.com/bcylin/QuickTableViewController/workflows/CI/badge.svg)](https://github.com/bcylin/QuickTableViewController/actions) [![Codecov](https://img.shields.io/codecov/c/github/bcylin/QuickTableViewController)](https://codecov.io/gh/bcylin/QuickTableViewController) [![Carthage compatible](https://img.shields.io/badge/carthage-compatible-green.svg)](https://github.com/Carthage/Carthage) [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/QuickTableViewController.svg)](https://cocoapods.org/pods/QuickTableViewController) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 2017bdc8..8239abc7 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -7,6 +7,17 @@ config = { code_coverage: true } +desc "Test Swift Package" +lane :swift_package do + Dir.chdir("..") do + sh [ + %(set -o pipefail &&), + %(xcodebuild -workspace QuickTableViewController.xcworkspace -scheme Package -sdk iphonesimulator clean build), + %(| bundle exec xcpretty -c) + ].join " " + end +end + platform :ios do desc "Run iOS unit tests" lane :unit_tests do From 40cfddd8f1c221b3ae572e07d6b7a933af30df63 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 3 Oct 2020 16:12:29 +0100 Subject: [PATCH 23/35] Remove Package.xcodeproj from the xcworkspace --- QuickTableViewController.xcworkspace/contents.xcworkspacedata | 3 --- fastlane/Fastfile | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/QuickTableViewController.xcworkspace/contents.xcworkspacedata b/QuickTableViewController.xcworkspace/contents.xcworkspacedata index 814a3a7d..3832055c 100644 --- a/QuickTableViewController.xcworkspace/contents.xcworkspacedata +++ b/QuickTableViewController.xcworkspace/contents.xcworkspacedata @@ -4,9 +4,6 @@ - - diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 8239abc7..fb4ec5c0 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -9,10 +9,10 @@ config = { desc "Test Swift Package" lane :swift_package do - Dir.chdir("..") do + Dir.chdir("../Package") do sh [ %(set -o pipefail &&), - %(xcodebuild -workspace QuickTableViewController.xcworkspace -scheme Package -sdk iphonesimulator clean build), + %(xcodebuild -project Package.xcodeproj -scheme Package -sdk iphonesimulator clean build), %(| bundle exec xcpretty -c) ].join " " end From 50f3f2b46c5eaade2a640e30c2dc8554c6d07384 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 3 Oct 2020 20:32:01 +0100 Subject: [PATCH 24/35] Ignore Package.xcodeproj --- .gitignore | 4 +- Package/Package.xcodeproj/project.pbxproj | 353 ------------------ .../xcshareddata/xcschemes/Package.xcscheme | 78 ---- 3 files changed, 2 insertions(+), 433 deletions(-) delete mode 100644 Package/Package.xcodeproj/project.pbxproj delete mode 100644 Package/Package.xcodeproj/xcshareddata/xcschemes/Package.xcscheme diff --git a/.gitignore b/.gitignore index 0743b372..2c84c49a 100644 --- a/.gitignore +++ b/.gitignore @@ -35,5 +35,5 @@ Pods/ ## Carthage Carthage/ -## Packages with local file paths -**/xcshareddata/swiftpm/Package.resolved +## Swift Package tests +Package.xcodeproj diff --git a/Package/Package.xcodeproj/project.pbxproj b/Package/Package.xcodeproj/project.pbxproj deleted file mode 100644 index 7a0fe49a..00000000 --- a/Package/Package.xcodeproj/project.pbxproj +++ /dev/null @@ -1,353 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 52; - objects = { - -/* Begin PBXBuildFile section */ - B5E64FF12528B4D000A9D77D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E64FF02528B4D000A9D77D /* AppDelegate.swift */; }; - B5E64FFD2528B4D500A9D77D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B5E64FFB2528B4D500A9D77D /* LaunchScreen.storyboard */; }; - B5E6502C2528BE5B00A9D77D /* QuickTableViewController in Frameworks */ = {isa = PBXBuildFile; productRef = B5E6502B2528BE5B00A9D77D /* QuickTableViewController */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - B5E64FED2528B4D000A9D77D /* Package.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Package.app; sourceTree = BUILT_PRODUCTS_DIR; }; - B5E64FF02528B4D000A9D77D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - B5E64FFC2528B4D500A9D77D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - B5E64FFE2528B4D500A9D77D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - B5E64FEA2528B4D000A9D77D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B5E6502C2528BE5B00A9D77D /* QuickTableViewController in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - B5E64FE42528B4CF00A9D77D = { - isa = PBXGroup; - children = ( - B5E64FEF2528B4D000A9D77D /* Package */, - B5E64FEE2528B4D000A9D77D /* Products */, - ); - indentWidth = 2; - sourceTree = ""; - }; - B5E64FEE2528B4D000A9D77D /* Products */ = { - isa = PBXGroup; - children = ( - B5E64FED2528B4D000A9D77D /* Package.app */, - ); - name = Products; - sourceTree = ""; - }; - B5E64FEF2528B4D000A9D77D /* Package */ = { - isa = PBXGroup; - children = ( - B5E64FF02528B4D000A9D77D /* AppDelegate.swift */, - B5E64FFE2528B4D500A9D77D /* Info.plist */, - B5E64FFB2528B4D500A9D77D /* LaunchScreen.storyboard */, - ); - path = Package; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - B5E64FEC2528B4D000A9D77D /* Package */ = { - isa = PBXNativeTarget; - buildConfigurationList = B5E650012528B4D500A9D77D /* Build configuration list for PBXNativeTarget "Package" */; - buildPhases = ( - B5E64FE92528B4D000A9D77D /* Sources */, - B5E64FEA2528B4D000A9D77D /* Frameworks */, - B5E64FEB2528B4D000A9D77D /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Package; - packageProductDependencies = ( - B5E6502B2528BE5B00A9D77D /* QuickTableViewController */, - ); - productName = Package; - productReference = B5E64FED2528B4D000A9D77D /* Package.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - B5E64FE52528B4CF00A9D77D /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1200; - LastUpgradeCheck = 1200; - ORGANIZATIONNAME = ""; - TargetAttributes = { - B5E64FEC2528B4D000A9D77D = { - CreatedOnToolsVersion = 12.0; - }; - }; - }; - buildConfigurationList = B5E64FE82528B4CF00A9D77D /* Build configuration list for PBXProject "Package" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = B5E64FE42528B4CF00A9D77D; - packageReferences = ( - B5E6502A2528BE5B00A9D77D /* XCRemoteSwiftPackageReference "QuickTableViewController" */, - ); - productRefGroup = B5E64FEE2528B4D000A9D77D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - B5E64FEC2528B4D000A9D77D /* Package */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - B5E64FEB2528B4D000A9D77D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B5E64FFD2528B4D500A9D77D /* LaunchScreen.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - B5E64FE92528B4D000A9D77D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B5E64FF12528B4D000A9D77D /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - B5E64FFB2528B4D500A9D77D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - B5E64FFC2528B4D500A9D77D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - B5E64FFF2528B4D500A9D77D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - B5E650002528B4D500A9D77D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - B5E650022528B4D500A9D77D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_ASSET_PATHS = ""; - ENABLE_PREVIEWS = YES; - INFOPLIST_FILE = Package/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.github.bcylin.QuickTableViewController.Package; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 1; - }; - name = Debug; - }; - B5E650032528B4D500A9D77D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_ASSET_PATHS = ""; - ENABLE_PREVIEWS = YES; - INFOPLIST_FILE = Package/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = io.github.bcylin.QuickTableViewController.Package; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 1; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - B5E64FE82528B4CF00A9D77D /* Build configuration list for PBXProject "Package" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B5E64FFF2528B4D500A9D77D /* Debug */, - B5E650002528B4D500A9D77D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B5E650012528B4D500A9D77D /* Build configuration list for PBXNativeTarget "Package" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B5E650022528B4D500A9D77D /* Debug */, - B5E650032528B4D500A9D77D /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCRemoteSwiftPackageReference section */ - B5E6502A2528BE5B00A9D77D /* XCRemoteSwiftPackageReference "QuickTableViewController" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/bcylin/QuickTableViewController"; - requirement = { - kind = revision; - revision = c1b82c7b673da84a01f48bfc34f9ff5eb458f07d; - }; - }; -/* End XCRemoteSwiftPackageReference section */ - -/* Begin XCSwiftPackageProductDependency section */ - B5E6502B2528BE5B00A9D77D /* QuickTableViewController */ = { - isa = XCSwiftPackageProductDependency; - package = B5E6502A2528BE5B00A9D77D /* XCRemoteSwiftPackageReference "QuickTableViewController" */; - productName = QuickTableViewController; - }; -/* End XCSwiftPackageProductDependency section */ - }; - rootObject = B5E64FE52528B4CF00A9D77D /* Project object */; -} diff --git a/Package/Package.xcodeproj/xcshareddata/xcschemes/Package.xcscheme b/Package/Package.xcodeproj/xcshareddata/xcschemes/Package.xcscheme deleted file mode 100644 index 063f7cb1..00000000 --- a/Package/Package.xcodeproj/xcshareddata/xcschemes/Package.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From cfaf96ade4060b00ec848335f240752b810b9e4e Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 3 Oct 2020 20:45:27 +0100 Subject: [PATCH 25/35] Generate Xcode project with the package of current revision --- Makefile | 5 +++++ Mintfile | 1 + Package/Package.yml | 17 +++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 Mintfile create mode 100644 Package/Package.yml diff --git a/Makefile b/Makefile index 7463ff75..68b2150b 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,11 @@ ci-test: unit-test ui-test make -B carthage make -B docs +swift-package: + rm -rf Package/Package.xcproj + GITHUB_SHA=`git rev-parse HEAD` mint run yonaskolb/XcodeGen xcodegen generate --project Package --spec Package/Package.yml + open Package/Package.xcodeproj + bump: ifeq (,$(strip $(version))) # Usage: make bump version= diff --git a/Mintfile b/Mintfile new file mode 100644 index 00000000..f3162c55 --- /dev/null +++ b/Mintfile @@ -0,0 +1 @@ +yonaskolb/XcodeGen@2.18.0 diff --git a/Package/Package.yml b/Package/Package.yml new file mode 100644 index 00000000..71372065 --- /dev/null +++ b/Package/Package.yml @@ -0,0 +1,17 @@ +name: Package +packages: + QuickTableViewController: + url: file:./../../../QuickTableViewController + revision: ${GITHUB_SHA} +targets: + App: + type: application + platform: iOS + deploymentTarget: "13.0" + sources: Package + settings: + base: + INFOPLIST_FILE: Package/Info.plist + PRODUCT_BUNDLE_IDENTIFIER: "io.github.bcylin.QuickTableViewController.Package" + dependencies: + - package: QuickTableViewController From 26a1beca5974b461ccfd5389fd53346657af4d0d Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 3 Oct 2020 21:03:19 +0100 Subject: [PATCH 26/35] Add a workflow to test Swift Package --- .github/workflows/ci.yml | 27 +++++++++++++------- .github/workflows/package.yml | 46 +++++++++++++++++++++++++++++++++++ fastlane/Fastfile | 2 +- 3 files changed, 65 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/package.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f0ba5a86..7ba2cfbe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,31 +5,40 @@ jobs: run-tests: name: Run tests runs-on: macOS-latest + env: + BUNDLE_PATH: vendor/bundle + POD_PATH: Pods steps: - uses: actions/checkout@master - - uses: actions/setup-ruby@v1 + - uses: actions/setup-ruby@v1.1.2 with: ruby-version: '2.6.x' - - uses: actions/cache@v1 + + # Cache + - name: Cache ${{ env.BUNDLE_PATH }} + uses: actions/cache@v2.1.1 with: - path: vendor/bundle + path: ${{ env.BUNDLE_PATH }} key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} restore-keys: ${{ runner.os }}-gems- - - uses: actions/cache@v1 + - name: Cache ${{ env.POD_PATH }} + uses: actions/cache@v2.1.1 with: - path: Pods + path: ${{ env.POD_PATH }} key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} restore-keys: ${{ runner.os }}-pods- + + # Dependencies - name: Bundle install run: | - gem install bundler:2.1.4 - bundle config path vendor/bundle + gem install bundler -v `tail -1 Gemfile.lock` + bundle config path ${{ env.BUNDLE_PATH }} bundle install --jobs 4 --retry 3 - name: Pod install run: | bundle exec pod install - - run: | - bundler exec fastlane swift_package + + # Tests - run: | bundle exec fastlane ios unit_tests - run: | diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml new file mode 100644 index 00000000..61a16fb4 --- /dev/null +++ b/.github/workflows/package.yml @@ -0,0 +1,46 @@ +name: Swift Package +on: [push, pull_request] + +jobs: + run-tests: + name: Run tests + runs-on: macOS-latest + env: + BUNDLE_PATH: vendor/bundle + MINT_PATH: vendor/mint + steps: + - uses: actions/checkout@master + - uses: actions/setup-ruby@v1.1.2 + with: + ruby-version: '2.6.x' + + # Cache + - name: Cache ${{ env.BUNDLE_PATH }} + uses: actions/cache@v2.1.1 + with: + path: ${{ env.BUNDLE_PATH }} + key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: ${{ runner.os }}-gems- + - name: Cache ${{ env.MINT_PATH }} + uses: actions/cache@v2.1.1 + with: + path: ${{ env.MINT_PATH }} + key: ${{ runner.os }}-mint-${{ hashFiles('Mintfile') }} + restore-keys: ${{ runner.os }}-mint- + + # Dependencies + - name: Bundle install + run: | + gem install bundler -v `tail -1 Gemfile.lock` + bundle config path ${{ env.BUNDLE_PATH }} + bundle install --jobs 4 --retry 3 + - name: Mint bootstrap + run: | + brew list mint > /dev/null || brew install mint + mint bootstrap + + # Build + - run: | + mint run yonaskolb/XcodeGen xcodegen generate --project Package --spec Package/Package.yml + - run: | + bundler exec fastlane swift_package diff --git a/fastlane/Fastfile b/fastlane/Fastfile index fb4ec5c0..2b9f605e 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -12,7 +12,7 @@ lane :swift_package do Dir.chdir("../Package") do sh [ %(set -o pipefail &&), - %(xcodebuild -project Package.xcodeproj -scheme Package -sdk iphonesimulator clean build), + %(xcodebuild -project Package.xcodeproj -scheme App -sdk iphonesimulator clean build), %(| bundle exec xcpretty -c) ].join " " end From ae6969a10a4bfab7ebb81e9631c3ea0f641021d5 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 3 Oct 2020 21:07:59 +0100 Subject: [PATCH 27/35] Move deployment target to the project level --- .github/workflows/package.yml | 4 ++-- Makefile | 2 +- Package/Package.yml | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 61a16fb4..c98c5563 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -2,8 +2,8 @@ name: Swift Package on: [push, pull_request] jobs: - run-tests: - name: Run tests + build: + name: Build runs-on: macOS-latest env: BUNDLE_PATH: vendor/bundle diff --git a/Makefile b/Makefile index 68b2150b..3bb01fd7 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ ci-test: unit-test ui-test make -B carthage make -B docs -swift-package: +swift-package-project: rm -rf Package/Package.xcproj GITHUB_SHA=`git rev-parse HEAD` mint run yonaskolb/XcodeGen xcodegen generate --project Package --spec Package/Package.yml open Package/Package.xcodeproj diff --git a/Package/Package.yml b/Package/Package.yml index 71372065..3090cce4 100644 --- a/Package/Package.yml +++ b/Package/Package.yml @@ -3,11 +3,13 @@ packages: QuickTableViewController: url: file:./../../../QuickTableViewController revision: ${GITHUB_SHA} +options: + deploymentTarget: + iOS: "13.0" targets: App: type: application platform: iOS - deploymentTarget: "13.0" sources: Package settings: base: From e43f0486cf8bba2c6366a0fc8577ade9d0fc8597 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 3 Oct 2020 21:07:59 +0100 Subject: [PATCH 28/35] Move Swift Package test to Travis CI --- .github/workflows/package.yml | 46 ----------------------------------- .travis.yml | 9 ++++++- Makefile | 2 +- Package/Package.yml | 2 +- fastlane/Fastfile | 1 + 5 files changed, 11 insertions(+), 49 deletions(-) delete mode 100644 .github/workflows/package.yml diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml deleted file mode 100644 index c98c5563..00000000 --- a/.github/workflows/package.yml +++ /dev/null @@ -1,46 +0,0 @@ -name: Swift Package -on: [push, pull_request] - -jobs: - build: - name: Build - runs-on: macOS-latest - env: - BUNDLE_PATH: vendor/bundle - MINT_PATH: vendor/mint - steps: - - uses: actions/checkout@master - - uses: actions/setup-ruby@v1.1.2 - with: - ruby-version: '2.6.x' - - # Cache - - name: Cache ${{ env.BUNDLE_PATH }} - uses: actions/cache@v2.1.1 - with: - path: ${{ env.BUNDLE_PATH }} - key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} - restore-keys: ${{ runner.os }}-gems- - - name: Cache ${{ env.MINT_PATH }} - uses: actions/cache@v2.1.1 - with: - path: ${{ env.MINT_PATH }} - key: ${{ runner.os }}-mint-${{ hashFiles('Mintfile') }} - restore-keys: ${{ runner.os }}-mint- - - # Dependencies - - name: Bundle install - run: | - gem install bundler -v `tail -1 Gemfile.lock` - bundle config path ${{ env.BUNDLE_PATH }} - bundle install --jobs 4 --retry 3 - - name: Mint bootstrap - run: | - brew list mint > /dev/null || brew install mint - mint bootstrap - - # Build - - run: | - mint run yonaskolb/XcodeGen xcodegen generate --project Package --spec Package/Package.yml - - run: | - bundler exec fastlane swift_package diff --git a/.travis.yml b/.travis.yml index a9f4a1b7..8cc25c6b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,21 @@ language: objective-c osx_image: xcode11.3 cache: - - bundler + directories: + - vendor/bundle + - vendor/mint before_install: - export LANG=en_US.UTF-8 - xcrun instruments -s devices install: + - bundle config path vendor/bundle - bundle install --without development --deployment --jobs=3 --retry=3 + - brew list mint > /dev/null || brew install mint + - mint bootstrap script: - set -e + - mint run yonaskolb/XcodeGen xcodegen generate --project Package --spec Package/Package.yml + - bundler exec fastlane swift_package - make -B carthage - make -B docs after_success: diff --git a/Makefile b/Makefile index 3bb01fd7..e8575feb 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ ci-test: unit-test ui-test swift-package-project: rm -rf Package/Package.xcproj - GITHUB_SHA=`git rev-parse HEAD` mint run yonaskolb/XcodeGen xcodegen generate --project Package --spec Package/Package.yml + TRAVIS_COMMIT=`git rev-parse HEAD` mint run yonaskolb/XcodeGen xcodegen generate --project Package --spec Package/Package.yml open Package/Package.xcodeproj bump: diff --git a/Package/Package.yml b/Package/Package.yml index 3090cce4..07644987 100644 --- a/Package/Package.yml +++ b/Package/Package.yml @@ -2,7 +2,7 @@ name: Package packages: QuickTableViewController: url: file:./../../../QuickTableViewController - revision: ${GITHUB_SHA} + revision: ${TRAVIS_COMMIT} options: deploymentTarget: iOS: "13.0" diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 2b9f605e..cc567874 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -12,6 +12,7 @@ lane :swift_package do Dir.chdir("../Package") do sh [ %(set -o pipefail &&), + %(xcodebuild -resolvePackageDependencies &&), %(xcodebuild -project Package.xcodeproj -scheme App -sdk iphonesimulator clean build), %(| bundle exec xcpretty -c) ].join " " From c4c47d387739abfe13e07a1a5d0db4da09b08196 Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 4 Oct 2020 00:00:03 +0100 Subject: [PATCH 29/35] Use local path for the package --- Makefile | 2 +- Package/Package.yml | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index e8575feb..aa913c5e 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ ci-test: unit-test ui-test swift-package-project: rm -rf Package/Package.xcproj - TRAVIS_COMMIT=`git rev-parse HEAD` mint run yonaskolb/XcodeGen xcodegen generate --project Package --spec Package/Package.yml + mint run yonaskolb/XcodeGen xcodegen generate --project Package --spec Package/Package.yml open Package/Package.xcodeproj bump: diff --git a/Package/Package.yml b/Package/Package.yml index 07644987..db06c7a4 100644 --- a/Package/Package.yml +++ b/Package/Package.yml @@ -1,8 +1,7 @@ name: Package packages: QuickTableViewController: - url: file:./../../../QuickTableViewController - revision: ${TRAVIS_COMMIT} + path: ../ options: deploymentTarget: iOS: "13.0" From b5dff6b77140be5f4ab089265b36b21e594da405 Mon Sep 17 00:00:00 2001 From: Ben Date: Sun, 4 Oct 2020 11:50:04 +0100 Subject: [PATCH 30/35] Update stale.yml [ci skip] --- .github/stale.yml | 4 ++-- .github/workflows/ci.yml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/stale.yml b/.github/stale.yml index bef30a2e..e0813af7 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -1,5 +1,5 @@ # Number of days of inactivity before an issue becomes stale -daysUntilStale: 60 +daysUntilStale: 14 # Number of days of inactivity before a stale issue is closed daysUntilClose: 7 # Issues with these labels will never be considered stale @@ -9,7 +9,7 @@ exemptLabels: - pinned - security # Label to use when marking an issue as stale -staleLabel: wontfix +staleLabel: invalid # Comment to post when marking an issue as stale. Set to `false` to disable markComment: > This issue has been automatically marked as stale because it has not had diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ba2cfbe..fe17b49d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,7 @@ jobs: run-tests: name: Run tests runs-on: macOS-latest + if: contains(github.event.head_commit.message, '[ci skip]') == false env: BUNDLE_PATH: vendor/bundle POD_PATH: Pods From 3cbf27227b98fbfd9bfb1959922a8c4b2c294e3f Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 5 Oct 2020 18:36:19 +0100 Subject: [PATCH 31/35] Bump fastlane from 2.159.0 to 2.162.0 (#72) Bumps [fastlane](https://github.com/fastlane/fastlane) from 2.159.0 to 2.162.0. - [Release notes](https://github.com/fastlane/fastlane/releases) - [Commits](https://github.com/fastlane/fastlane/compare/fastlane/2.159.0...fastlane/2.162.0) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- Gemfile.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 597185a2..5d5ebf9f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -14,17 +14,17 @@ GEM json (>= 1.5.1) atomos (0.1.3) aws-eventstream (1.1.0) - aws-partitions (1.367.0) - aws-sdk-core (3.105.0) + aws-partitions (1.379.0) + aws-sdk-core (3.109.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.37.0) - aws-sdk-core (~> 3, >= 3.99.0) + aws-sdk-kms (1.39.0) + aws-sdk-core (~> 3, >= 3.109.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.80.0) - aws-sdk-core (~> 3, >= 3.104.3) + aws-sdk-s3 (1.82.0) + aws-sdk-core (~> 3, >= 3.109.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) aws-sigv4 (1.2.2) @@ -93,7 +93,7 @@ GEM faraday_middleware (1.0.0) faraday (~> 1.0) fastimage (2.2.0) - fastlane (2.159.0) + fastlane (2.162.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) aws-sdk-s3 (~> 1.0) @@ -147,7 +147,7 @@ GEM google-cloud-env (1.3.3) faraday (>= 0.17.3, < 2.0) google-cloud-errors (1.0.1) - google-cloud-storage (1.28.0) + google-cloud-storage (1.29.0) addressable (~> 2.5) digest-crc (~> 0.4) google-api-client (~> 0.33) From aae3367ad62a0ef337a77bb1247c5a411b969976 Mon Sep 17 00:00:00 2001 From: Tobias Ullerich Date: Mon, 5 Oct 2020 19:53:05 +0200 Subject: [PATCH 32/35] Add option to configure TableView style for storyboard usage (#74) --- Source/QuickTableViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/QuickTableViewController.swift b/Source/QuickTableViewController.swift index f0c047d1..70dca1f9 100644 --- a/Source/QuickTableViewController.swift +++ b/Source/QuickTableViewController.swift @@ -33,7 +33,7 @@ open class QuickTableViewController: UIViewController, UITableViewDataSource, UI open var clearsSelectionOnViewWillAppear = true /// Returns the table view managed by the controller object. - open private(set) var tableView: UITableView = UITableView(frame: .zero, style: .grouped) + open var tableView: UITableView = UITableView(frame: .zero, style: .grouped) /// The layout of sections and rows to display in the table view. open var tableContents: [Section] = [] { From 894a18ff786427ef5d807f2cce0a674935ec7bf4 Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 5 Oct 2020 19:32:44 +0100 Subject: [PATCH 33/35] Bump version to 1.3.0 --- .jazzy.yml | 4 ++-- CHANGELOG.md | 3 ++- Example-iOS/Info.plist | 2 +- Example-iOSUITests/Info.plist | 2 +- Example-tvOS/Info.plist | 2 +- Example-tvOSUITests/Info.plist | 2 +- QuickTableViewController.podspec | 2 +- QuickTableViewController/Info-iOS.plist | 2 +- QuickTableViewController/Info-iOSTests.plist | 2 +- QuickTableViewController/Info-tvOS.plist | 2 +- QuickTableViewController/Info-tvOSTests.plist | 2 +- README.md | 1 + 12 files changed, 14 insertions(+), 12 deletions(-) diff --git a/.jazzy.yml b/.jazzy.yml index dc487baa..59b241d5 100644 --- a/.jazzy.yml +++ b/.jazzy.yml @@ -2,14 +2,14 @@ clean: true author: bcylin author_url: https://github.com/bcylin github_url: https://github.com/bcylin/QuickTableViewController -github_file_prefix: https://github.com/bcylin/QuickTableViewController/blob/v1.2.4 +github_file_prefix: https://github.com/bcylin/QuickTableViewController/blob/v1.3.0 xcodebuild_arguments: [ -project, QuickTableViewController.xcodeproj, -scheme, QuickTableViewController-iOS, -sdk, iphonesimulator ] module: QuickTableViewController -module_version: 1.2.4 +module_version: 1.3.0 output: docs/output theme: fullwidth skip_undocumented: true diff --git a/CHANGELOG.md b/CHANGELOG.md index bef1abb2..8ab78cfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,10 @@ # Change Log -## Next release +## v1.3.0 * Use SF Symbols as icon images, [#41](https://github.com/bcylin/QuickTableViewController/pull/41) by [@ezfe](https://github.com/ezfe) * Make `init(style:)` a designated initializer +* Add an option to override table view for style configuration, [#74](https://github.com/bcylin/QuickTableViewController/pull/74) by [@Tobisaninfo](https://github.com/Tobisaninfo) ## v1.2.4 diff --git a/Example-iOS/Info.plist b/Example-iOS/Info.plist index 9977ac5e..83407e04 100644 --- a/Example-iOS/Info.plist +++ b/Example-iOS/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.2.4 + 1.3.0 CFBundleVersion 101 LSRequiresIPhoneOS diff --git a/Example-iOSUITests/Info.plist b/Example-iOSUITests/Info.plist index b797526d..d8685c76 100644 --- a/Example-iOSUITests/Info.plist +++ b/Example-iOSUITests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.2.4 + 1.3.0 CFBundleVersion 1 diff --git a/Example-tvOS/Info.plist b/Example-tvOS/Info.plist index 592164fd..e601b109 100644 --- a/Example-tvOS/Info.plist +++ b/Example-tvOS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.2.4 + 1.3.0 CFBundleVersion 101 LSRequiresIPhoneOS diff --git a/Example-tvOSUITests/Info.plist b/Example-tvOSUITests/Info.plist index 1d45cf79..351fdedd 100644 --- a/Example-tvOSUITests/Info.plist +++ b/Example-tvOSUITests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.2.4 + 1.3.0 CFBundleVersion 1 diff --git a/QuickTableViewController.podspec b/QuickTableViewController.podspec index 397d3386..b445779b 100644 --- a/QuickTableViewController.podspec +++ b/QuickTableViewController.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "QuickTableViewController" - s.version = "1.2.4" + s.version = "1.3.0" s.summary = "A simple way to create a UITableView for settings." s.screenshots = "https://raw.githubusercontent.com/bcylin/QuickTableViewController/gh-pages/img/screenshot-1.png", "https://raw.githubusercontent.com/bcylin/QuickTableViewController/gh-pages/img/screenshot-2.png" diff --git a/QuickTableViewController/Info-iOS.plist b/QuickTableViewController/Info-iOS.plist index 874145db..9f4a4aae 100644 --- a/QuickTableViewController/Info-iOS.plist +++ b/QuickTableViewController/Info-iOS.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.2.4 + 1.3.0 CFBundleSignature ???? CFBundleVersion diff --git a/QuickTableViewController/Info-iOSTests.plist b/QuickTableViewController/Info-iOSTests.plist index 2243b9d4..3fee538d 100644 --- a/QuickTableViewController/Info-iOSTests.plist +++ b/QuickTableViewController/Info-iOSTests.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.2.4 + 1.3.0 CFBundleSignature ???? CFBundleVersion diff --git a/QuickTableViewController/Info-tvOS.plist b/QuickTableViewController/Info-tvOS.plist index a6b0794f..3c2f9a0c 100644 --- a/QuickTableViewController/Info-tvOS.plist +++ b/QuickTableViewController/Info-tvOS.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.2.4 + 1.3.0 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/QuickTableViewController/Info-tvOSTests.plist b/QuickTableViewController/Info-tvOSTests.plist index 1d45cf79..351fdedd 100644 --- a/QuickTableViewController/Info-tvOSTests.plist +++ b/QuickTableViewController/Info-tvOSTests.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.2.4 + 1.3.0 CFBundleVersion 1 diff --git a/README.md b/README.md index fd6298e2..f21246fb 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ QuickTableViewController | iOS | tvOS | Xcode | Swift `~> 1.0.0` | 8.0+ | 9.0+ | 9.4 | 4.1 `~> 1.1.0` | 8.0+ | 9.0+ | 10.1 | 4.2 `~> 1.2.0` | 8.0+ | 9.0+ | 10.2 | 5.0 +`~> 1.3.0` | 8.0+ | 9.0+ | 12.0 | 5.3 ## Installation From 9842d7f8495daaeb7010d40d260795ce98ff0b1b Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 5 Oct 2020 19:47:56 +0100 Subject: [PATCH 34/35] Add an empty target to install dependencies --- Podfile | 2 +- Podfile.lock | 8 +- .../project.pbxproj | 140 ++++++++++++++++-- 3 files changed, 131 insertions(+), 19 deletions(-) diff --git a/Podfile b/Podfile index 1c74df93..4cd47421 100644 --- a/Podfile +++ b/Podfile @@ -4,7 +4,7 @@ inhibit_all_warnings! workspace "QuickTableViewController" project "QuickTableViewController" -target "Example-iOS" do +target "Dependencies" do platform :ios, "8.0" pod "SwiftLint" end diff --git a/Podfile.lock b/Podfile.lock index 5928c881..cba44005 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - SwiftLint (0.39.2) + - SwiftLint (0.40.3) DEPENDENCIES: - SwiftLint @@ -9,8 +9,8 @@ SPEC REPOS: - SwiftLint SPEC CHECKSUMS: - SwiftLint: 22ccbbe3b8008684be5955693bab135e0ed6a447 + SwiftLint: dfd554ff0dff17288ee574814ccdd5cea85d76f7 -PODFILE CHECKSUM: fe34e199a00b296003d05d1e9a6471da2c319a8a +PODFILE CHECKSUM: 37910f1d33a79a1fba5bd1fa1197d99cef9bb6d6 -COCOAPODS: 1.9.2 +COCOAPODS: 1.9.3 diff --git a/QuickTableViewController.xcodeproj/project.pbxproj b/QuickTableViewController.xcodeproj/project.pbxproj index 6bc15d56..ae78b8a6 100644 --- a/QuickTableViewController.xcodeproj/project.pbxproj +++ b/QuickTableViewController.xcodeproj/project.pbxproj @@ -17,6 +17,7 @@ 3E45598221DC134800FC0C76 /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E45598121DC134800FC0C76 /* Deprecated.swift */; }; 3E45598421DC181600FC0C76 /* DetailText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E45597921DA81B100FC0C76 /* DetailText.swift */; }; 3E45598521DC184800FC0C76 /* Deprecated.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E45598121DC134800FC0C76 /* Deprecated.swift */; }; + 556D2EA250E858D32C46C861 /* libPods-Dependencies.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F8655D4AB80B4936AC42CA96 /* libPods-Dependencies.a */; }; B50E73851F2E1BC900481910 /* RowStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B50E73841F2E1BC900481910 /* RowStyle.swift */; }; B51F21A51F417037009BC2C9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51F21A41F417037009BC2C9 /* AppDelegate.swift */; }; B51F21A71F417037009BC2C9 /* ExampleViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51F21A61F417037009BC2C9 /* ExampleViewController.swift */; }; @@ -100,7 +101,6 @@ B5F0FFEA1E9CC6F9007BF1C9 /* SwitchRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5F0FFE91E9CC6F9007BF1C9 /* SwitchRow.swift */; }; B5F0FFEC1E9CC72D007BF1C9 /* TapActionRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5F0FFEB1E9CC72D007BF1C9 /* TapActionRow.swift */; }; B5F0FFEE1E9CC73D007BF1C9 /* Subtitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5F0FFED1E9CC73D007BF1C9 /* Subtitle.swift */; }; - D170E867128089544B16CE99 /* libPods-Example-iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6620CD4D16DD2CE0756D2F0A /* libPods-Example-iOS.a */; }; F6B15A5623F74268001DB252 /* DynamicTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6B15A5523F74268001DB252 /* DynamicTableViewController.swift */; }; /* End PBXBuildFile section */ @@ -175,14 +175,15 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 06B02F4C1455A204E247A3A4 /* Pods-Dependencies.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Dependencies.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Dependencies/Pods-Dependencies.debug.xcconfig"; sourceTree = ""; }; 136DD2FD216A367B00F554F0 /* Example-tvOSUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Example-tvOSUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 136DD2FF216A367B00F554F0 /* ExampleUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExampleUITests.swift; sourceTree = ""; }; 136DD301216A367B00F554F0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 2465BE3F49A19EA359F14487 /* Pods-Dependencies.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Dependencies.release.xcconfig"; path = "Pods/Target Support Files/Pods-Dependencies/Pods-Dependencies.release.xcconfig"; sourceTree = ""; }; 3E45597921DA81B100FC0C76 /* DetailText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailText.swift; sourceTree = ""; }; 3E45597D21DA8B3400FC0C76 /* DetailTextTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailTextTests.swift; sourceTree = ""; }; 3E45598121DC134800FC0C76 /* Deprecated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Deprecated.swift; sourceTree = ""; }; - 6620CD4D16DD2CE0756D2F0A /* libPods-Example-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Example-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - AB273CBF0D8B2FE21DADE7C9 /* Pods-Example-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example-iOS/Pods-Example-iOS.release.xcconfig"; sourceTree = ""; }; + B508BF56252BA01600319CF9 /* Dependencies.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Dependencies.app; sourceTree = BUILT_PRODUCTS_DIR; }; B50E73841F2E1BC900481910 /* RowStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RowStyle.swift; sourceTree = ""; }; B51F21A21F417037009BC2C9 /* Example-iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Example-iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; B51F21A41F417037009BC2C9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -247,9 +248,9 @@ B5F0FFE91E9CC6F9007BF1C9 /* SwitchRow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwitchRow.swift; sourceTree = ""; }; B5F0FFEB1E9CC72D007BF1C9 /* TapActionRow.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TapActionRow.swift; sourceTree = ""; }; B5F0FFED1E9CC73D007BF1C9 /* Subtitle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Subtitle.swift; sourceTree = ""; }; - F38FAF46C17E44E24E353EA4 /* Pods-Example-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-iOS/Pods-Example-iOS.debug.xcconfig"; sourceTree = ""; }; F6B15A5323F73E48001DB252 /* DynamicTableView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DynamicTableView.swift; sourceTree = ""; }; F6B15A5523F74268001DB252 /* DynamicTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DynamicTableViewController.swift; sourceTree = ""; }; + F8655D4AB80B4936AC42CA96 /* libPods-Dependencies.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Dependencies.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -260,11 +261,18 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B508BF53252BA01600319CF9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 556D2EA250E858D32C46C861 /* libPods-Dependencies.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; B51F219F1F417037009BC2C9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D170E867128089544B16CE99 /* libPods-Example-iOS.a in Frameworks */, B51F21CC1F41F32C009BC2C9 /* QuickTableViewController.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -327,8 +335,8 @@ 8C6CEEE3B0A0A83B161533E0 /* Pods */ = { isa = PBXGroup; children = ( - F38FAF46C17E44E24E353EA4 /* Pods-Example-iOS.debug.xcconfig */, - AB273CBF0D8B2FE21DADE7C9 /* Pods-Example-iOS.release.xcconfig */, + 06B02F4C1455A204E247A3A4 /* Pods-Dependencies.debug.xcconfig */, + 2465BE3F49A19EA359F14487 /* Pods-Dependencies.release.xcconfig */, ); name = Pods; sourceTree = ""; @@ -466,6 +474,7 @@ B5334F141B8CC5BD00C64A6D /* Products */ = { isa = PBXGroup; children = ( + B508BF56252BA01600319CF9 /* Dependencies.app */, B51F21A21F417037009BC2C9 /* Example-iOS.app */, B51F21C01F41E600009BC2C9 /* Example-iOSUITests.xctest */, B54A24532088D44A00EEBA26 /* Example-tvOS.app */, @@ -563,7 +572,7 @@ DC2649918C33230B7E02933D /* Frameworks */ = { isa = PBXGroup; children = ( - 6620CD4D16DD2CE0756D2F0A /* libPods-Example-iOS.a */, + F8655D4AB80B4936AC42CA96 /* libPods-Dependencies.a */, ); name = Frameworks; sourceTree = ""; @@ -608,11 +617,28 @@ productReference = 136DD2FD216A367B00F554F0 /* Example-tvOSUITests.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; + B508BF55252BA01600319CF9 /* Dependencies */ = { + isa = PBXNativeTarget; + buildConfigurationList = B508BF69252BA01900319CF9 /* Build configuration list for PBXNativeTarget "Dependencies" */; + buildPhases = ( + 37D42B2AB2A2688C53A6D4C5 /* [CP] Check Pods Manifest.lock */, + B508BF52252BA01600319CF9 /* Sources */, + B508BF53252BA01600319CF9 /* Frameworks */, + B508BF54252BA01600319CF9 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Dependencies; + productName = Dependencies; + productReference = B508BF56252BA01600319CF9 /* Dependencies.app */; + productType = "com.apple.product-type.application"; + }; B51F21A11F417037009BC2C9 /* Example-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = B51F21B31F417037009BC2C9 /* Build configuration list for PBXNativeTarget "Example-iOS" */; buildPhases = ( - 4A6FB9F6C2BF30014F64565C /* [CP] Check Pods Manifest.lock */, B51F21BB1F417269009BC2C9 /* SwiftLint */, B51F219E1F417037009BC2C9 /* Sources */, B51F219F1F417037009BC2C9 /* Frameworks */, @@ -747,7 +773,7 @@ B5334F0A1B8CC5BD00C64A6D /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1000; + LastSwiftUpdateCheck = 1200; LastUpgradeCheck = 1020; ORGANIZATIONNAME = bcylin; TargetAttributes = { @@ -757,6 +783,10 @@ ProvisioningStyle = Manual; TestTargetID = B54A24522088D44A00EEBA26; }; + B508BF55252BA01600319CF9 = { + CreatedOnToolsVersion = 12.0; + ProvisioningStyle = Automatic; + }; B51F21A11F417037009BC2C9 = { CreatedOnToolsVersion = 8.3.3; LastSwiftMigration = 1020; @@ -814,6 +844,7 @@ B51F21BF1F41E600009BC2C9 /* Example-iOSUITests */, B54A24522088D44A00EEBA26 /* Example-tvOS */, 136DD2FC216A367B00F554F0 /* Example-tvOSUITests */, + B508BF55252BA01600319CF9 /* Dependencies */, ); }; /* End PBXProject section */ @@ -826,6 +857,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B508BF54252BA01600319CF9 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; B51F21A01F417037009BC2C9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -889,7 +927,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 4A6FB9F6C2BF30014F64565C /* [CP] Check Pods Manifest.lock */ = { + 37D42B2AB2A2688C53A6D4C5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -904,7 +942,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Example-iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Dependencies-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -982,6 +1020,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + B508BF52252BA01600319CF9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; B51F219E1F417037009BC2C9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -1210,9 +1255,68 @@ }; name = Release; }; + B508BF67252BA01900319CF9 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 06B02F4C1455A204E247A3A4 /* Pods-Dependencies.debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_ASSET_PATHS = ""; + ENABLE_PREVIEWS = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = ""; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.github.bcylin.QuickTableViewController.Dependencies; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + B508BF68252BA01900319CF9 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2465BE3F49A19EA359F14487 /* Pods-Dependencies.release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = ""; + ENABLE_PREVIEWS = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + INFOPLIST_FILE = ""; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.github.bcylin.QuickTableViewController.Dependencies; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; B51F21B11F417037009BC2C9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F38FAF46C17E44E24E353EA4 /* Pods-Example-iOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1234,7 +1338,6 @@ }; B51F21B21F417037009BC2C9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AB273CBF0D8B2FE21DADE7C9 /* Pods-Example-iOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1674,6 +1777,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + B508BF69252BA01900319CF9 /* Build configuration list for PBXNativeTarget "Dependencies" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B508BF67252BA01900319CF9 /* Debug */, + B508BF68252BA01900319CF9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; B51F21B31F417037009BC2C9 /* Build configuration list for PBXNativeTarget "Example-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( From 81fb80d3735304cc4652dd767701c4bc2d066740 Mon Sep 17 00:00:00 2001 From: Ben Date: Mon, 5 Oct 2020 23:11:01 +0100 Subject: [PATCH 35/35] Set IPHONEOS_DEPLOYMENT_TARGET to 9.0 to fix Xcode 12 warning > The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, > but the range of supported deployment target versions is 9.0 to 14.0.99. --- CHANGELOG.md | 1 + Podfile | 2 +- Podfile.lock | 2 +- .../project.pbxproj | 14 +++------- .../xcschemes/Example-iOS.xcscheme | 24 +++++++--------- .../xcschemes/Example-tvOS.xcscheme | 24 +++++++--------- .../QuickTableViewController-iOS.xcscheme | 28 ++++++++----------- .../QuickTableViewController-tvOS.xcscheme | 24 +++++++--------- README.md | 2 +- 9 files changed, 50 insertions(+), 71 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ab78cfd..6132e681 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ * Use SF Symbols as icon images, [#41](https://github.com/bcylin/QuickTableViewController/pull/41) by [@ezfe](https://github.com/ezfe) * Make `init(style:)` a designated initializer * Add an option to override table view for style configuration, [#74](https://github.com/bcylin/QuickTableViewController/pull/74) by [@Tobisaninfo](https://github.com/Tobisaninfo) +* Set IPHONEOS_DEPLOYMENT_TARGET to 9.0 ## v1.2.4 diff --git a/Podfile b/Podfile index 4cd47421..4679026e 100644 --- a/Podfile +++ b/Podfile @@ -5,6 +5,6 @@ workspace "QuickTableViewController" project "QuickTableViewController" target "Dependencies" do - platform :ios, "8.0" + platform :ios, "9.0" pod "SwiftLint" end diff --git a/Podfile.lock b/Podfile.lock index cba44005..01c54490 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -11,6 +11,6 @@ SPEC REPOS: SPEC CHECKSUMS: SwiftLint: dfd554ff0dff17288ee574814ccdd5cea85d76f7 -PODFILE CHECKSUM: 37910f1d33a79a1fba5bd1fa1197d99cef9bb6d6 +PODFILE CHECKSUM: b3ddd4e98ee56e9087046650bf3ab0fe9255aef7 COCOAPODS: 1.9.3 diff --git a/QuickTableViewController.xcodeproj/project.pbxproj b/QuickTableViewController.xcodeproj/project.pbxproj index ae78b8a6..23572243 100644 --- a/QuickTableViewController.xcodeproj/project.pbxproj +++ b/QuickTableViewController.xcodeproj/project.pbxproj @@ -1224,7 +1224,6 @@ SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; TEST_TARGET_NAME = "Example-tvOS"; - TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Debug; }; @@ -1251,7 +1250,6 @@ SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; TEST_TARGET_NAME = "Example-tvOS"; - TVOS_DEPLOYMENT_TARGET = 12.0; }; name = Release; }; @@ -1274,7 +1272,6 @@ ENABLE_PREVIEWS = YES; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = ""; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; @@ -1304,7 +1301,6 @@ ENABLE_PREVIEWS = YES; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = ""; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.github.bcylin.QuickTableViewController.Dependencies; @@ -1326,7 +1322,6 @@ DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "Example-iOS/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = io.github.bcylin.QuickTableViewController.Example; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1346,7 +1341,6 @@ CLANG_WARN_DOCUMENTATION_COMMENTS = YES; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "Example-iOS/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = io.github.bcylin.QuickTableViewController.Example; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1455,7 +1449,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -1463,6 +1457,7 @@ SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 9.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -1513,12 +1508,13 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -1684,7 +1680,6 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.3; }; name = Debug; }; @@ -1708,7 +1703,6 @@ SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.3; }; name = Release; }; diff --git a/QuickTableViewController.xcodeproj/xcshareddata/xcschemes/Example-iOS.xcscheme b/QuickTableViewController.xcodeproj/xcshareddata/xcschemes/Example-iOS.xcscheme index 50c99bcd..0cf20f50 100644 --- a/QuickTableViewController.xcodeproj/xcshareddata/xcschemes/Example-iOS.xcscheme +++ b/QuickTableViewController.xcodeproj/xcshareddata/xcschemes/Example-iOS.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - + + + + @@ -39,17 +48,6 @@ - - - - - - - - + shouldUseLaunchSchemeArgsEnv = "YES" + codeCoverageEnabled = "YES"> + + + + @@ -54,17 +63,6 @@ - - - - - - - - + + + + @@ -39,17 +48,6 @@ - - - - - - - - 1.0.0` | 8.0+ | 9.0+ | 9.4 | 4.1 `~> 1.1.0` | 8.0+ | 9.0+ | 10.1 | 4.2 `~> 1.2.0` | 8.0+ | 9.0+ | 10.2 | 5.0 -`~> 1.3.0` | 8.0+ | 9.0+ | 12.0 | 5.3 +`~> 1.3.0` | 9.0+ | 9.0+ | 12.0 | 5.3 ## Installation