diff --git a/.jazzy.yml b/.jazzy.yml index 3c1516eb..c74e52bc 100644 --- a/.jazzy.yml +++ b/.jazzy.yml @@ -2,10 +2,10 @@ 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/develop +github_file_prefix: https://github.com/bcylin/QuickTableViewController/blob/v1.1.1 xcodebuild_arguments: [-project, QuickTableViewController.xcodeproj, -scheme, QuickTableViewController-iOS] module: QuickTableViewController -module_version: 1.1.0 +module_version: 1.1.1 output: docs/output theme: fullwidth skip_undocumented: true diff --git a/.travis.yml b/.travis.yml index 984479e2..0b37b7d4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,9 +6,9 @@ cache: before_install: - export LANG=en_US.UTF-8 - xcrun instruments -s devices - - open -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app install: - bundle install --without development --deployment --jobs=3 --retry=3 + - bundle exec rake launch:simulators - bundle exec pod install before_script: - if [ -n "$DANGER_GITHUB_API_TOKEN" ]; then bundle exec danger; fi diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f20b7b1..a0a209fc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## v1.1.1 + +#### Fixes + +* Fix the animated `OptionRow` deselection +* Invoke `accessoryButtonAction` asynchronously to match the behaviour of row `action` +* Remove `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` from build settings + ## v1.1.0 #### Enhancements diff --git a/Example-iOS/Info.plist b/Example-iOS/Info.plist index e2267da0..01a52368 100644 --- a/Example-iOS/Info.plist +++ b/Example-iOS/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.1.0 + 1.1.1 CFBundleVersion 101 LSRequiresIPhoneOS diff --git a/Example-iOS/ViewControllers/ExampleViewController.swift b/Example-iOS/ViewControllers/ExampleViewController.swift index d9c32b41..4bb80f92 100644 --- a/Example-iOS/ViewControllers/ExampleViewController.swift +++ b/Example-iOS/ViewControllers/ExampleViewController.swift @@ -122,8 +122,8 @@ internal final class ExampleViewController: QuickTableViewController { private func showDebuggingText(_ text: String) { print(text) debugging.rows = [NavigationRow(text: text, detailText: .none)] - DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) { [weak self] in - self?.tableView.reloadData() + if let section = tableContents.index(where: { $0 === debugging }) { + tableView.reloadSections([section], with: .none) } } diff --git a/Example-iOSUITests/ExampleUITests.swift b/Example-iOSUITests/ExampleUITests.swift index 310aafd6..eeb91b22 100644 --- a/Example-iOSUITests/ExampleUITests.swift +++ b/Example-iOSUITests/ExampleUITests.swift @@ -1,6 +1,6 @@ // // ExampleUITests.swift -// ExampleUITests +// Example-iOSUITests // // Created by Ben on 14/08/2017. // Copyright © 2017 bcylin. diff --git a/Example-iOSUITests/Info.plist b/Example-iOSUITests/Info.plist index 81ba60ed..86713dda 100644 --- a/Example-iOSUITests/Info.plist +++ b/Example-iOSUITests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.1.0 + 1.1.1 CFBundleVersion 1 diff --git a/Example-tvOS/Info.plist b/Example-tvOS/Info.plist index 3864dbac..475a8af3 100644 --- a/Example-tvOS/Info.plist +++ b/Example-tvOS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.1.0 + 1.1.1 CFBundleVersion 101 LSRequiresIPhoneOS diff --git a/Example-tvOSUITests/ExampleUITests.swift b/Example-tvOSUITests/ExampleUITests.swift index e43fb07a..8a6d3821 100644 --- a/Example-tvOSUITests/ExampleUITests.swift +++ b/Example-tvOSUITests/ExampleUITests.swift @@ -1,9 +1,9 @@ // -// Example_tvOSUITests.swift +// ExampleUITests.swift // Example-tvOSUITests // // Created by Francesco Deliro on 07/10/2018. -// Copyright © 2018 bcylin. All rights reserved. +// Copyright © 2018 bcylin. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-tvOSUITests/Info.plist b/Example-tvOSUITests/Info.plist index af63fea5..63fd0a31 100644 --- a/Example-tvOSUITests/Info.plist +++ b/Example-tvOSUITests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.1.0 + 1.1.1 CFBundleVersion 1 diff --git a/Gemfile b/Gemfile index 3988de52..3b3cdf12 100644 --- a/Gemfile +++ b/Gemfile @@ -2,6 +2,6 @@ source "http://rubygems.org" gem "cocoapods" gem "danger" -gem "jazzy", "~> 0.9.0" +gem "jazzy", ">= 0.9.0" gem "rake" gem "xcpretty" diff --git a/Gemfile.lock b/Gemfile.lock index 183884fd..019c932d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,12 +2,12 @@ GEM remote: http://rubygems.org/ specs: CFPropertyList (3.0.0) - activesupport (4.2.10) + activesupport (4.2.11.1) i18n (~> 0.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.5.2) + addressable (2.6.0) public_suffix (>= 2.0.2, < 4.0) atomos (0.1.3) claide (1.0.2) @@ -15,68 +15,69 @@ GEM cork nap open4 (~> 1.3) - cocoapods (1.5.3) + cocoapods (1.6.1) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.5.3) + cocoapods-core (= 1.6.1) cocoapods-deintegrate (>= 1.0.2, < 2.0) - cocoapods-downloader (>= 1.2.0, < 2.0) + cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) cocoapods-search (>= 1.0.0, < 2.0) cocoapods-stats (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.3.0, < 2.0) + cocoapods-trunk (>= 1.3.1, < 2.0) cocoapods-try (>= 1.1.0, < 2.0) colored2 (~> 3.1) escape (~> 0.0.4) - fourflusher (~> 2.0.1) + fourflusher (>= 2.2.0, < 3.0) gh_inspector (~> 1.0) - molinillo (~> 0.6.5) + molinillo (~> 0.6.6) nap (~> 1.0) - ruby-macho (~> 1.1) - xcodeproj (>= 1.5.7, < 2.0) - cocoapods-core (1.5.3) + ruby-macho (~> 1.4) + xcodeproj (>= 1.8.1, < 2.0) + cocoapods-core (1.6.1) activesupport (>= 4.0.2, < 6) fuzzy_match (~> 2.0.4) nap (~> 1.0) - cocoapods-deintegrate (1.0.2) - cocoapods-downloader (1.2.1) + cocoapods-deintegrate (1.0.4) + cocoapods-downloader (1.2.2) cocoapods-plugins (1.0.0) nap cocoapods-search (1.0.0) - cocoapods-stats (1.0.0) + cocoapods-stats (1.1.0) cocoapods-trunk (1.3.1) nap (>= 0.8, < 2.0) netrc (~> 0.11) cocoapods-try (1.1.0) colored2 (3.1.2) - concurrent-ruby (1.0.5) + concurrent-ruby (1.1.5) cork (0.3.0) colored2 (~> 3.1) - danger (5.6.4) + danger (6.0.6) claide (~> 1.0) claide-plugins (>= 0.9.2) colored2 (~> 3.1) cork (~> 0.1) faraday (~> 0.9) faraday-http-cache (~> 1.0) - git (~> 1) - kramdown (~> 1.5) + git (~> 1.5) + kramdown (~> 2.0) + kramdown-parser-gfm (~> 1.0) no_proxy_fix octokit (~> 4.7) terminal-table (~> 1) escape (0.0.4) - faraday (0.15.2) + faraday (0.15.4) multipart-post (>= 1.2, < 3) faraday-http-cache (1.3.1) faraday (~> 0.8) - ffi (1.9.25) - fourflusher (2.0.1) + ffi (1.10.0) + fourflusher (2.2.0) fuzzy_match (2.0.4) gh_inspector (1.1.3) git (1.5.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - jazzy (0.9.3) + jazzy (0.9.4) cocoapods (~> 1.0) mustache (~> 0.99) open4 @@ -85,7 +86,9 @@ GEM sass (~> 3.4) sqlite3 (~> 1.3) xcinvoke (~> 0.3.0) - kramdown (1.17.0) + kramdown (2.1.0) + kramdown-parser-gfm (1.0.1) + kramdown (~> 2.0) liferaft (0.0.6) minitest (5.11.3) molinillo (0.6.6) @@ -95,35 +98,35 @@ GEM nap (1.1.0) netrc (0.11.0) no_proxy_fix (0.1.2) - octokit (4.10.0) + octokit (4.14.0) sawyer (~> 0.8.0, >= 0.5.3) open4 (1.3.4) public_suffix (3.0.3) - rake (12.3.1) + rake (12.3.2) rb-fsevent (0.10.3) - rb-inotify (0.9.10) - ffi (>= 0.5.0, < 2) + rb-inotify (0.10.0) + ffi (~> 1.0) redcarpet (3.4.0) rouge (2.0.7) - ruby-macho (1.3.0) - sass (3.5.7) + ruby-macho (1.4.0) + sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.1) - addressable (>= 2.3.5, < 2.6) - faraday (~> 0.8, < 1.0) - sqlite3 (1.3.13) + sawyer (0.8.2) + addressable (>= 2.3.5) + faraday (> 0.8, < 2.0) + sqlite3 (1.4.1) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) tzinfo (1.2.5) thread_safe (~> 0.1) - unicode-display_width (1.4.0) + unicode-display_width (1.5.0) xcinvoke (0.3.0) liferaft (~> 0.0.6) - xcodeproj (1.6.0) + xcodeproj (1.9.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) @@ -138,7 +141,7 @@ PLATFORMS DEPENDENCIES cocoapods danger - jazzy (~> 0.9.0) + jazzy (>= 0.9.0) rake xcpretty diff --git a/Makefile b/Makefile index 2f6a34d3..66d57df6 100644 --- a/Makefile +++ b/Makefile @@ -20,8 +20,8 @@ bump: ifeq (,$(strip $(version))) # Usage: make bump version= else - ruby -pi -e "gsub(/\d+\.\d+\.\d+/i, \""$(version)"\")" QuickTableViewController.podspec - ruby -pi -e "gsub(/:\s\d+\.\d+\.\d+/i, \": "$(version)"\")" .jazzy.yml + ruby -pi -e "gsub(%r{\d+\.\d+\.\d+}, %{"$(version)"})" QuickTableViewController.podspec + ruby -pi -e "gsub(%r{\d+\.\d+\.\d+}, %{"$(version)"})" .jazzy.yml xcrun agvtool new-marketing-version $(version) endif diff --git a/Podfile b/Podfile index a91f754a..78b01f14 100644 --- a/Podfile +++ b/Podfile @@ -3,16 +3,19 @@ use_frameworks! workspace "QuickTableViewController" project "QuickTableViewController" +def testing_frameworks + pod "Nimble", git: "https://github.com/Quick/Nimble.git", tag: "v8.0.1", inhibit_warnings: true + pod "Quick", git: "https://github.com/Quick/Quick.git", tag: "v2.0.0", inhibit_warnings: true +end + target "QuickTableViewController-iOSTests" do platform :ios, "8.0" - pod "Nimble", git: "https://github.com/Quick/Nimble.git", tag: "v7.1.3" - pod "Quick", git: "https://github.com/Quick/Quick.git", tag: "v1.3.1", inhibit_warnings: true + testing_frameworks end target "QuickTableViewController-tvOSTests" do platform :tvos, "9.0" - pod "Nimble", git: "https://github.com/Quick/Nimble.git", tag: "v7.1.3" - pod "Quick", git: "https://github.com/Quick/Quick.git", tag: "v1.3.1", inhibit_warnings: true + testing_frameworks end target "Example-iOS" do diff --git a/Podfile.lock b/Podfile.lock index 4c085e98..d64414f3 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,36 +1,36 @@ PODS: - - Nimble (7.1.3) - - Quick (1.3.1) + - Nimble (8.0.1) + - Quick (2.0.0) - SwiftLint (0.27.0) DEPENDENCIES: - - Nimble (from `https://github.com/Quick/Nimble.git`, tag `v7.1.3`) - - Quick (from `https://github.com/Quick/Quick.git`, tag `v1.3.1`) + - Nimble (from `https://github.com/Quick/Nimble.git`, tag `v8.0.1`) + - Quick (from `https://github.com/Quick/Quick.git`, tag `v2.0.0`) - SwiftLint (from `https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/4/0/1/SwiftLint/0.27.0/SwiftLint.podspec.json`) EXTERNAL SOURCES: Nimble: :git: https://github.com/Quick/Nimble.git - :tag: v7.1.3 + :tag: v8.0.1 Quick: :git: https://github.com/Quick/Quick.git - :tag: v1.3.1 + :tag: v2.0.0 SwiftLint: :podspec: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/4/0/1/SwiftLint/0.27.0/SwiftLint.podspec.json CHECKOUT OPTIONS: Nimble: :git: https://github.com/Quick/Nimble.git - :tag: v7.1.3 + :tag: v8.0.1 Quick: :git: https://github.com/Quick/Quick.git - :tag: v1.3.1 + :tag: v2.0.0 SPEC CHECKSUMS: - Nimble: 2839b01d1b31f6a6a7777a221f0d91cf52e8e27b - Quick: d17304d58d0d169dd0bd1c6e5c28e3318de32a1a + Nimble: 45f786ae66faa9a709624227fae502db55a8bdd0 + Quick: 7143820c017e20f5b67967d60741f3b9ba0652d7 SwiftLint: 3207c1faa2240bf8973b191820a116113cd11073 -PODFILE CHECKSUM: e7ef9cc37da1ecd814713ea6beccac0b452a5ae4 +PODFILE CHECKSUM: efdcb8f949ea8eca6bb4091cfe2ddbeb63328c00 -COCOAPODS: 1.5.3 +COCOAPODS: 1.6.1 diff --git a/QuickTableViewController.podspec b/QuickTableViewController.podspec index 5d4e711a..9f0f1451 100644 --- a/QuickTableViewController.podspec +++ b/QuickTableViewController.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "QuickTableViewController" - s.version = "1.1.0" + s.version = "1.1.1" s.summary = "A simple way to create a UITableView for settings." s.screenshots = "https://bcylin.github.io/QuickTableViewController/img/screenshot-1.png", "https://bcylin.github.io/QuickTableViewController/img/screenshot-2.png" diff --git a/QuickTableViewController.xcodeproj/project.pbxproj b/QuickTableViewController.xcodeproj/project.pbxproj index e7a61a3d..d3f76ddc 100644 --- a/QuickTableViewController.xcodeproj/project.pbxproj +++ b/QuickTableViewController.xcodeproj/project.pbxproj @@ -7,19 +7,19 @@ objects = { /* Begin PBXBuildFile section */ - 0313D389A7BCE29502848262 /* Pods_Example_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA2A67F5AE20173B6E17FFBE /* Pods_Example_tvOS.framework */; }; 136DD300216A367B00F554F0 /* ExampleUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 136DD2FF216A367B00F554F0 /* ExampleUITests.swift */; }; 136DD307216A36FA00F554F0 /* QuickTableViewController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B54A24262088816D00EEBA26 /* QuickTableViewController.framework */; }; 136DD308216A36FA00F554F0 /* QuickTableViewController.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B54A24262088816D00EEBA26 /* QuickTableViewController.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 1DF796C7F4630ACDCE1DE189 /* Pods_QuickTableViewController_iOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 51571B6D4B25D0BCCCFFBCF5 /* Pods_QuickTableViewController_iOSTests.framework */; }; + 2E72C6FDAAB1ACD925E74017 /* Pods_QuickTableViewController_tvOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A468C1C7F21AF005E793AB39 /* Pods_QuickTableViewController_tvOSTests.framework */; }; 3E45597A21DA81B100FC0C76 /* DetailText.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E45597921DA81B100FC0C76 /* DetailText.swift */; }; 3E45597F21DA8B5F00FC0C76 /* DetailTextSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E45597D21DA8B3400FC0C76 /* DetailTextSpec.swift */; }; 3E45598021DA8B6000FC0C76 /* DetailTextSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E45597D21DA8B3400FC0C76 /* DetailTextSpec.swift */; }; 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 */; }; - A3895BA2FCD4633B9297CB06 /* Pods_QuickTableViewController_tvOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 73EFDFBFA59BFFF7C494F9AE /* Pods_QuickTableViewController_tvOSTests.framework */; }; - A7A26A71AB271F9D402D1A12 /* Pods_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF3454E57819285B32968564 /* Pods_Example_iOS.framework */; }; + 669474717425C37D37BEC0F8 /* Pods_Example_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3B4618CA6E4D2B833E81465 /* Pods_Example_iOS.framework */; }; + 92542623F7FDF3D1A1D05C23 /* Pods_QuickTableViewController_iOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F762195FA5E16AA5B27D4E8 /* Pods_QuickTableViewController_iOSTests.framework */; }; + 96189945132917D1E5443445 /* Pods_Example_tvOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC5E475DF3BA6564F4A5036F /* Pods_Example_tvOS.framework */; }; 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 */; }; @@ -177,19 +177,22 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 037DFCD4BDF28ECB615D80A8 /* Pods-QuickTableViewController-iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickTableViewController-iOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-QuickTableViewController-iOSTests/Pods-QuickTableViewController-iOSTests.release.xcconfig"; sourceTree = ""; }; + 08CDCE9685BB3089D2C3AFEF /* 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 = ""; }; 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 = ""; }; + 1BF165A3F9C45505FABE871E /* Pods-Example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.debug.xcconfig"; sourceTree = ""; }; + 1DB58CD519DFE5D9EF7515AA /* Pods-Example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.release.xcconfig"; sourceTree = ""; }; + 1F0BC6B8F7C674D42151AF6E /* Pods-QuickTableViewController-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickTableViewController-tvOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QuickTableViewController-tvOSTests/Pods-QuickTableViewController-tvOSTests.debug.xcconfig"; sourceTree = ""; }; 3E45597921DA81B100FC0C76 /* DetailText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailText.swift; sourceTree = ""; }; 3E45597D21DA8B3400FC0C76 /* DetailTextSpec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailTextSpec.swift; sourceTree = ""; }; 3E45598121DC134800FC0C76 /* Deprecated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Deprecated.swift; sourceTree = ""; }; - 466DB8C8ACDE64B9E0EF8D74 /* Pods-QuickTableViewController-iOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickTableViewController-iOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-QuickTableViewController-iOSTests/Pods-QuickTableViewController-iOSTests.release.xcconfig"; sourceTree = ""; }; - 4AAC8E26F072FAB5027928F8 /* Pods-Example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.debug.xcconfig"; sourceTree = ""; }; - 4D38F5DD6F45D1136A106B9F /* Pods-QuickTableViewController-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickTableViewController-tvOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-QuickTableViewController-tvOSTests/Pods-QuickTableViewController-tvOSTests.release.xcconfig"; sourceTree = ""; }; - 4EE4E01857269725E8A86D1C /* Pods-QuickTableViewController-iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickTableViewController-iOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QuickTableViewController-iOSTests/Pods-QuickTableViewController-iOSTests.debug.xcconfig"; sourceTree = ""; }; - 51571B6D4B25D0BCCCFFBCF5 /* Pods_QuickTableViewController_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_QuickTableViewController_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 73EFDFBFA59BFFF7C494F9AE /* Pods_QuickTableViewController_tvOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_QuickTableViewController_tvOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A57FEA19A020A7DE44AE8BCE /* 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 = ""; }; + 3FE9148F3EE51991F4E7AF00 /* 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 = ""; }; + 78AB2AB635DD585665C8299B /* Pods-QuickTableViewController-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickTableViewController-tvOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-QuickTableViewController-tvOSTests/Pods-QuickTableViewController-tvOSTests.release.xcconfig"; sourceTree = ""; }; + 8003A1058E05F7C13D280A70 /* Pods-QuickTableViewController-iOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickTableViewController-iOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QuickTableViewController-iOSTests/Pods-QuickTableViewController-iOSTests.debug.xcconfig"; sourceTree = ""; }; + 8F762195FA5E16AA5B27D4E8 /* Pods_QuickTableViewController_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_QuickTableViewController_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A468C1C7F21AF005E793AB39 /* Pods_QuickTableViewController_tvOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_QuickTableViewController_tvOSTests.framework; 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 = ""; }; @@ -254,11 +257,8 @@ 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 = ""; }; - BF3454E57819285B32968564 /* Pods_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C846A13C763FF2B7B3A6029A /* Pods-Example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example-tvOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example-tvOS/Pods-Example-tvOS.release.xcconfig"; sourceTree = ""; }; - CA2A67F5AE20173B6E17FFBE /* Pods_Example_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D89FC93DC05CCE898825A0C2 /* Pods-QuickTableViewController-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-QuickTableViewController-tvOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-QuickTableViewController-tvOSTests/Pods-QuickTableViewController-tvOSTests.debug.xcconfig"; sourceTree = ""; }; - DE3777B435AF4EF82051BCFD /* 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 = ""; }; + BC5E475DF3BA6564F4A5036F /* Pods_Example_tvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_tvOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D3B4618CA6E4D2B833E81465 /* Pods_Example_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -273,7 +273,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A7A26A71AB271F9D402D1A12 /* Pods_Example_iOS.framework in Frameworks */, + 669474717425C37D37BEC0F8 /* Pods_Example_iOS.framework in Frameworks */, B51F21CC1F41F32C009BC2C9 /* QuickTableViewController.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -296,7 +296,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1DF796C7F4630ACDCE1DE189 /* Pods_QuickTableViewController_iOSTests.framework in Frameworks */, + 92542623F7FDF3D1A1D05C23 /* Pods_QuickTableViewController_iOSTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -311,7 +311,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A3895BA2FCD4633B9297CB06 /* Pods_QuickTableViewController_tvOSTests.framework in Frameworks */, + 2E72C6FDAAB1ACD925E74017 /* Pods_QuickTableViewController_tvOSTests.framework in Frameworks */, B54A242F2088816E00EEBA26 /* QuickTableViewController.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -320,7 +320,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0313D389A7BCE29502848262 /* Pods_Example_tvOS.framework in Frameworks */, + 96189945132917D1E5443445 /* Pods_Example_tvOS.framework in Frameworks */, 136DD307216A36FA00F554F0 /* QuickTableViewController.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -337,17 +337,17 @@ path = "Example-tvOSUITests"; sourceTree = ""; }; - 942C1FAD68407A74DB056C2B /* Pods */ = { + 8C6CEEE3B0A0A83B161533E0 /* Pods */ = { isa = PBXGroup; children = ( - A57FEA19A020A7DE44AE8BCE /* Pods-Example-iOS.debug.xcconfig */, - DE3777B435AF4EF82051BCFD /* Pods-Example-iOS.release.xcconfig */, - 4AAC8E26F072FAB5027928F8 /* Pods-Example-tvOS.debug.xcconfig */, - C846A13C763FF2B7B3A6029A /* Pods-Example-tvOS.release.xcconfig */, - 4EE4E01857269725E8A86D1C /* Pods-QuickTableViewController-iOSTests.debug.xcconfig */, - 466DB8C8ACDE64B9E0EF8D74 /* Pods-QuickTableViewController-iOSTests.release.xcconfig */, - D89FC93DC05CCE898825A0C2 /* Pods-QuickTableViewController-tvOSTests.debug.xcconfig */, - 4D38F5DD6F45D1136A106B9F /* Pods-QuickTableViewController-tvOSTests.release.xcconfig */, + 08CDCE9685BB3089D2C3AFEF /* Pods-Example-iOS.debug.xcconfig */, + 3FE9148F3EE51991F4E7AF00 /* Pods-Example-iOS.release.xcconfig */, + 1BF165A3F9C45505FABE871E /* Pods-Example-tvOS.debug.xcconfig */, + 1DB58CD519DFE5D9EF7515AA /* Pods-Example-tvOS.release.xcconfig */, + 8003A1058E05F7C13D280A70 /* Pods-QuickTableViewController-iOSTests.debug.xcconfig */, + 037DFCD4BDF28ECB615D80A8 /* Pods-QuickTableViewController-iOSTests.release.xcconfig */, + 1F0BC6B8F7C674D42151AF6E /* Pods-QuickTableViewController-tvOSTests.debug.xcconfig */, + 78AB2AB635DD585665C8299B /* Pods-QuickTableViewController-tvOSTests.release.xcconfig */, ); name = Pods; sourceTree = ""; @@ -467,8 +467,8 @@ B51F21C11F41E600009BC2C9 /* Example-iOSUITests */, B54A24542088D44A00EEBA26 /* Example-tvOS */, 136DD2FE216A367B00F554F0 /* Example-tvOSUITests */, - B5DB7D241C4A4BEC007B84D2 /* Frameworks */, - 942C1FAD68407A74DB056C2B /* Pods */, + DC2649918C33230B7E02933D /* Frameworks */, + 8C6CEEE3B0A0A83B161533E0 /* Pods */, B5334F141B8CC5BD00C64A6D /* Products */, B5334F151B8CC5BD00C64A6D /* QuickTableViewController */, B51A0E7A206934C300F42693 /* Source */, @@ -577,13 +577,13 @@ path = ViewControllers; sourceTree = ""; }; - B5DB7D241C4A4BEC007B84D2 /* Frameworks */ = { + DC2649918C33230B7E02933D /* Frameworks */ = { isa = PBXGroup; children = ( - BF3454E57819285B32968564 /* Pods_Example_iOS.framework */, - CA2A67F5AE20173B6E17FFBE /* Pods_Example_tvOS.framework */, - 51571B6D4B25D0BCCCFFBCF5 /* Pods_QuickTableViewController_iOSTests.framework */, - 73EFDFBFA59BFFF7C494F9AE /* Pods_QuickTableViewController_tvOSTests.framework */, + D3B4618CA6E4D2B833E81465 /* Pods_Example_iOS.framework */, + BC5E475DF3BA6564F4A5036F /* Pods_Example_tvOS.framework */, + 8F762195FA5E16AA5B27D4E8 /* Pods_QuickTableViewController_iOSTests.framework */, + A468C1C7F21AF005E793AB39 /* Pods_QuickTableViewController_tvOSTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -632,7 +632,7 @@ isa = PBXNativeTarget; buildConfigurationList = B51F21B31F417037009BC2C9 /* Build configuration list for PBXNativeTarget "Example-iOS" */; buildPhases = ( - 9773859B01B559D1E7FEC36A /* [CP] Check Pods Manifest.lock */, + 66B137905D7FAAD5CF96A3A8 /* [CP] Check Pods Manifest.lock */, B51F21BB1F417269009BC2C9 /* SwiftLint */, B51F219E1F417037009BC2C9 /* Sources */, B51F219F1F417037009BC2C9 /* Frameworks */, @@ -689,12 +689,12 @@ isa = PBXNativeTarget; buildConfigurationList = B5334F2C1B8CC5BD00C64A6D /* Build configuration list for PBXNativeTarget "QuickTableViewController-iOSTests" */; buildPhases = ( - D6A5837800B2AEA91500816C /* [CP] Check Pods Manifest.lock */, + 836E5B7438A64BC9CFF69C6F /* [CP] Check Pods Manifest.lock */, B5C335A91D07CBD000C706A4 /* Swift Lint */, B5334F1A1B8CC5BD00C64A6D /* Sources */, B5334F1B1B8CC5BD00C64A6D /* Frameworks */, B5334F1C1B8CC5BD00C64A6D /* Resources */, - 7BD682369F694709705F5C93 /* [CP] Embed Pods Frameworks */, + F7FFC04098F120999A1188C5 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -728,12 +728,12 @@ isa = PBXNativeTarget; buildConfigurationList = B54A243C2088816E00EEBA26 /* Build configuration list for PBXNativeTarget "QuickTableViewController-tvOSTests" */; buildPhases = ( - E5D972CCDEB057DA678D5651 /* [CP] Check Pods Manifest.lock */, + 9A0C27E207AFCC00990C91F3 /* [CP] Check Pods Manifest.lock */, B51EE1432177EB3C0039C9B2 /* SwiftLint */, B54A242A2088816E00EEBA26 /* Sources */, B54A242B2088816E00EEBA26 /* Frameworks */, B54A242C2088816E00EEBA26 /* Resources */, - 3E2A500AE003A4D29D797D01 /* [CP] Embed Pods Frameworks */, + 2BFDF0ADB176B8E5F9EA1B30 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -749,7 +749,7 @@ isa = PBXNativeTarget; buildConfigurationList = B54A24612088D44D00EEBA26 /* Build configuration list for PBXNativeTarget "Example-tvOS" */; buildPhases = ( - 7984EB3A6288DCB472DCA0A7 /* [CP] Check Pods Manifest.lock */, + 40C872DBC5DC6B8DF469CAA5 /* [CP] Check Pods Manifest.lock */, B54582FB212D7F89004376C8 /* SwiftLint */, B54A244F2088D44A00EEBA26 /* Sources */, B54A24502088D44A00EEBA26 /* Frameworks */, @@ -912,27 +912,31 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3E2A500AE003A4D29D797D01 /* [CP] Embed Pods Frameworks */ = { + 2BFDF0ADB176B8E5F9EA1B30 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-QuickTableViewController-tvOSTests/Pods-QuickTableViewController-tvOSTests-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-QuickTableViewController-tvOSTests/Pods-QuickTableViewController-tvOSTests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/Nimble-tvOS/Nimble.framework", "${BUILT_PRODUCTS_DIR}/Quick-tvOS/Quick.framework", ); name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + ); outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Quick.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-QuickTableViewController-tvOSTests/Pods-QuickTableViewController-tvOSTests-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-QuickTableViewController-tvOSTests/Pods-QuickTableViewController-tvOSTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 7984EB3A6288DCB472DCA0A7 /* [CP] Check Pods Manifest.lock */ = { + 40C872DBC5DC6B8DF469CAA5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -954,45 +958,51 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 7BD682369F694709705F5C93 /* [CP] Embed Pods Frameworks */ = { + 66B137905D7FAAD5CF96A3A8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-QuickTableViewController-iOSTests/Pods-QuickTableViewController-iOSTests-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Nimble-iOS/Nimble.framework", - "${BUILT_PRODUCTS_DIR}/Quick-iOS/Quick.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Quick.framework", + "$(DERIVED_FILE_DIR)/Pods-Example-iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-QuickTableViewController-iOSTests/Pods-QuickTableViewController-iOSTests-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9773859B01B559D1E7FEC36A /* [CP] Check Pods Manifest.lock */ = { + 836E5B7438A64BC9CFF69C6F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${PODS_PODFILE_DIR_PATH}/Podfile.lock", "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Example-iOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-QuickTableViewController-iOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B51EE1432177EB3C0039C9B2 /* SwiftLint */ = { + 9A0C27E207AFCC00990C91F3 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1000,31 +1010,39 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = SwiftLint; + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-QuickTableViewController-tvOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "sh scripts/swiftlint.sh\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - B51F21BB1F417269009BC2C9 /* SwiftLint */ = { + B51EE1432177EB3C0039C9B2 /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( ); name = SwiftLint; + outputFileListPaths = ( + ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "sh scripts/swiftlint.sh\n"; }; - B54582FB212D7F89004376C8 /* SwiftLint */ = { + B51F21BB1F417269009BC2C9 /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -1038,54 +1056,56 @@ shellPath = /bin/sh; shellScript = "sh scripts/swiftlint.sh\n"; }; - B5C335A91D07CBD000C706A4 /* Swift Lint */ = { + B54582FB212D7F89004376C8 /* SwiftLint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "Swift Lint"; + name = SwiftLint; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "sh scripts/swiftlint.sh\n"; }; - D6A5837800B2AEA91500816C /* [CP] Check Pods Manifest.lock */ = { + B5C335A91D07CBD000C706A4 /* Swift Lint */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; + name = "Swift Lint"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-QuickTableViewController-iOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "sh scripts/swiftlint.sh\n"; }; - E5D972CCDEB057DA678D5651 /* [CP] Check Pods Manifest.lock */ = { + F7FFC04098F120999A1188C5 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${PODS_ROOT}/Target Support Files/Pods-QuickTableViewController-iOSTests/Pods-QuickTableViewController-iOSTests-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Nimble-iOS/Nimble.framework", + "${BUILT_PRODUCTS_DIR}/Quick-iOS/Quick.framework", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( ); - name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-QuickTableViewController-tvOSTests-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Nimble.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Quick.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-QuickTableViewController-iOSTests/Pods-QuickTableViewController-iOSTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -1327,7 +1347,7 @@ }; B51F21B11F417037009BC2C9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A57FEA19A020A7DE44AE8BCE /* Pods-Example-iOS.debug.xcconfig */; + baseConfigurationReference = 08CDCE9685BB3089D2C3AFEF /* Pods-Example-iOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1348,7 +1368,7 @@ }; B51F21B21F417037009BC2C9 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DE3777B435AF4EF82051BCFD /* Pods-Example-iOS.release.xcconfig */; + baseConfigurationReference = 3FE9148F3EE51991F4E7AF00 /* Pods-Example-iOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1414,7 +1434,6 @@ B5334F271B8CC5BD00C64A6D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -1479,7 +1498,6 @@ B5334F281B8CC5BD00C64A6D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -1536,7 +1554,6 @@ B5334F2A1B8CC5BD00C64A6D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; CLANG_ENABLE_MODULES = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -1556,7 +1573,6 @@ B5334F2B1B8CC5BD00C64A6D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; CLANG_ENABLE_MODULES = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -1575,7 +1591,7 @@ }; B5334F2D1B8CC5BD00C64A6D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4EE4E01857269725E8A86D1C /* Pods-QuickTableViewController-iOSTests.debug.xcconfig */; + baseConfigurationReference = 8003A1058E05F7C13D280A70 /* Pods-QuickTableViewController-iOSTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; FRAMEWORK_SEARCH_PATHS = ( @@ -1596,7 +1612,7 @@ }; B5334F2E1B8CC5BD00C64A6D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 466DB8C8ACDE64B9E0EF8D74 /* Pods-QuickTableViewController-iOSTests.release.xcconfig */; + baseConfigurationReference = 037DFCD4BDF28ECB615D80A8 /* Pods-QuickTableViewController-iOSTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; FRAMEWORK_SEARCH_PATHS = ( @@ -1673,7 +1689,7 @@ }; B54A24392088816E00EEBA26 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D89FC93DC05CCE898825A0C2 /* Pods-QuickTableViewController-tvOSTests.debug.xcconfig */; + baseConfigurationReference = 1F0BC6B8F7C674D42151AF6E /* Pods-QuickTableViewController-tvOSTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; CLANG_ANALYZER_NONNULL = YES; @@ -1698,7 +1714,7 @@ }; B54A243A2088816E00EEBA26 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4D38F5DD6F45D1136A106B9F /* Pods-QuickTableViewController-tvOSTests.release.xcconfig */; + baseConfigurationReference = 78AB2AB635DD585665C8299B /* Pods-QuickTableViewController-tvOSTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; CLANG_ANALYZER_NONNULL = YES; @@ -1722,7 +1738,7 @@ }; B54A245F2088D44D00EEBA26 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4AAC8E26F072FAB5027928F8 /* Pods-Example-tvOS.debug.xcconfig */; + baseConfigurationReference = 1BF165A3F9C45505FABE871E /* Pods-Example-tvOS.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; @@ -1749,7 +1765,7 @@ }; B54A24602088D44D00EEBA26 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C846A13C763FF2B7B3A6029A /* Pods-Example-tvOS.release.xcconfig */; + baseConfigurationReference = 1DB58CD519DFE5D9EF7515AA /* Pods-Example-tvOS.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; diff --git a/QuickTableViewController/Info-iOS.plist b/QuickTableViewController/Info-iOS.plist index 09bc9720..c6f194eb 100644 --- a/QuickTableViewController/Info-iOS.plist +++ b/QuickTableViewController/Info-iOS.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.1.0 + 1.1.1 CFBundleSignature ???? CFBundleVersion diff --git a/QuickTableViewController/Info-iOSTests.plist b/QuickTableViewController/Info-iOSTests.plist index 3b9aa4a6..f124e5ad 100644 --- a/QuickTableViewController/Info-iOSTests.plist +++ b/QuickTableViewController/Info-iOSTests.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.1.0 + 1.1.1 CFBundleSignature ???? CFBundleVersion diff --git a/QuickTableViewController/Info-tvOS.plist b/QuickTableViewController/Info-tvOS.plist index a5ae6f94..6db6fe4c 100644 --- a/QuickTableViewController/Info-tvOS.plist +++ b/QuickTableViewController/Info-tvOS.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.1.0 + 1.1.1 CFBundleVersion $(CURRENT_PROJECT_VERSION) NSPrincipalClass diff --git a/QuickTableViewController/Info-tvOSTests.plist b/QuickTableViewController/Info-tvOSTests.plist index af63fea5..63fd0a31 100644 --- a/QuickTableViewController/Info-tvOSTests.plist +++ b/QuickTableViewController/Info-tvOSTests.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 1.1.0 + 1.1.1 CFBundleVersion 1 diff --git a/README.md b/README.md index 8a47e247..d281dbaa 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/QuickTableViewController.svg)](https://cocoapods.org/pods/QuickTableViewController) ![Platform](https://img.shields.io/cocoapods/p/QuickTableViewController.svg) [![codecov](https://codecov.io/gh/bcylin/QuickTableViewController/branch/master/graph/badge.svg)](https://codecov.io/gh/bcylin/QuickTableViewController) -![Swift 4.1](https://img.shields.io/badge/Swift-4.1-orange.svg) +![Swift 4.2](https://img.shields.io/badge/Swift-4.2-orange.svg) A simple way to create a table view for settings, including: diff --git a/Rakefile b/Rakefile index 2f77aa94..14b5bc8e 100644 --- a/Rakefile +++ b/Rakefile @@ -1,5 +1,11 @@ require "fileutils" +ios_device = "iPhone X" +ios_version = "12.1" +tvos_device = "Apple TV" +tvos_version = "12.1" + + def xcodebuild(params) return ":" unless params[:scheme] [ @@ -14,6 +20,15 @@ def xcodebuild(params) end +namespace :launch do + desc "Launch iOS and tvOS simulators" + task :simulators do + sh %(xcrun instruments -w "#{ios_device} (#{ios_version}) [" || true) + sh %(xcrun instruments -w "#{tvos_device} (#{tvos_version}) [" || true) + end +end + + namespace :build do desc "Build an iOS target with the specified scheme" task :ios, [:scheme] do |t, args| @@ -46,7 +61,7 @@ namespace :test do sh xcodebuild(args.to_hash.merge({ action: "-enableCodeCoverage YES clean test", - destination: %(-destination "name=iPhone 8,OS=latest"), + destination: %(-destination "name=#{ios_device},OS=#{ios_version}"), simulator: "iphonesimulator" })) exit $?.exitstatus if not $?.success? @@ -58,7 +73,7 @@ namespace :test do sh xcodebuild(args.to_hash.merge({ action: "-enableCodeCoverage YES clean test", - destination: %(-destination "name=Apple TV,OS=latest"), + destination: %(-destination "name=#{tvos_device},OS=#{tvos_version}"), simulator: "appletvsimulator" })) exit $?.exitstatus if not $?.success? diff --git a/Source/QuickTableViewController.swift b/Source/QuickTableViewController.swift index 1b4183e8..0d081a03 100644 --- a/Source/QuickTableViewController.swift +++ b/Source/QuickTableViewController.swift @@ -133,7 +133,7 @@ open class QuickTableViewController: UIViewController, UITableViewDataSource, UI if changes.isEmpty { tableView.deselectRow(at: indexPath, animated: false) } else { - tableView.reloadData() + tableView.reloadRows(at: changes, with: .automatic) } case let (_, option as OptionRowCompatible): @@ -169,7 +169,9 @@ open class QuickTableViewController: UIViewController, UITableViewDataSource, UI public func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith indexPath: IndexPath) { switch tableContents[indexPath.section].rows[indexPath.row] { case let row as NavigationRowCompatible: - row.accessoryButtonAction?(row) + DispatchQueue.main.async { + row.accessoryButtonAction?(row) + } default: break } diff --git a/Tests/Model/SubtitleSpec.swift b/Tests/Model/SubtitleSpec.swift index 1f9eaadd..b5d71eac 100644 --- a/Tests/Model/SubtitleSpec.swift +++ b/Tests/Model/SubtitleSpec.swift @@ -23,6 +23,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. // + import Nimble import Quick @testable import QuickTableViewController