From 52db2699a2b484a766718853138f6087e1c5eab1 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Apr 2020 15:58:41 +0100 Subject: [PATCH 001/103] Added support for double tapping etc anything that conforms to Tappable --- CHANGELOG.md | 2 ++ README.md | 12 +++++++--- .../Classes/Contexts/InteractionContext.swift | 12 ++++++++++ TABTestKit/Classes/Protocols/Tappable.swift | 22 +++++++++++++++++-- 4 files changed, 43 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5793b79f..a20ef010 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Pending +- Added support for double tapping, long pressing and two finger tapping, with default implementations for any Elements that conform to Tappable. (issue #88) + --- ## 1.4.0 diff --git a/README.md b/README.md index 0d785936..c660960a 100644 --- a/README.md +++ b/README.md @@ -1264,8 +1264,14 @@ Anything that conforms to `Tappable` can be tapped using `InteractionContext`: tap(myScreen.button) tap(myScreen.textField) +doubleTap(myScreen.imageView) +twoFingerTap(myScreen.someView) +longPress(myScreen.cell) + Given(I: tap(myScreen.button)) -Given(I: tap(myScreen.textField)) +Given(I: doubleTap(myScreen.imageView)) +Given(I: twoFingerTap(myScreen.someView)) +Given(I: longPress(myScreen.cell)) ``` ##### Typing into elements @@ -1637,9 +1643,9 @@ frustrating automation tests. #### Tappable Anything that conforms to `Tappable` (like [`Button`](#button)), is declaring it -can be tapped. +can be tapped, this includes single, double and two finger taps, as well as long pressing. -`Tappable` works really well wit [`InteractionContext`](#interactioncontext). +`Tappable` works really well with [`InteractionContext`](#interactioncontext). Additionally, any [`Element`](#element) that conforms to `Tappable` doesn't have to do any extra work, default implementations will be provided automatically. diff --git a/TABTestKit/Classes/Contexts/InteractionContext.swift b/TABTestKit/Classes/Contexts/InteractionContext.swift index e52d6d05..dad54615 100644 --- a/TABTestKit/Classes/Contexts/InteractionContext.swift +++ b/TABTestKit/Classes/Contexts/InteractionContext.swift @@ -13,6 +13,18 @@ public extension InteractionContext { func tap(_ element: Tappable) { element.tap() } + + func doubleTap(_ element: Tappable) { + element.doubleTap() + } + + func twoFingerTap(_ element: Tappable) { + element.twoFingerTap() + } + + func longPress(_ element: Tappable, duration: TimeInterval = 0.5) { + element.longPress(duration: duration) + } func type(_ text: String, into element: Editable) { element.type(text) diff --git a/TABTestKit/Classes/Protocols/Tappable.swift b/TABTestKit/Classes/Protocols/Tappable.swift index 06c8df56..9e58db80 100644 --- a/TABTestKit/Classes/Protocols/Tappable.swift +++ b/TABTestKit/Classes/Protocols/Tappable.swift @@ -10,16 +10,34 @@ import XCTest /// Represents a Tappable type. /// Elements that conform to Tappable will get this behaviour for free. public protocol Tappable { - + func tap() + func doubleTap() + func longPress(duration: TimeInterval) + func twoFingerTap() } public extension Element where Self: Tappable { - + func tap() { await(.exists) underlyingXCUIElement.tap() } + + func doubleTap() { + await(.exists) + underlyingXCUIElement.doubleTap() + } + + func twoFingerTap() { + await(.exists) + underlyingXCUIElement.twoFingerTap() + } + + func longPress(duration: TimeInterval) { + await(.exists) + underlyingXCUIElement.press(forDuration: duration) + } } From 5ee4c69118cc5d2f5e120d81b2d9cba7895f8d41 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Apr 2020 16:00:16 +0100 Subject: [PATCH 002/103] Ran pod update --- Example/Podfile.lock | 16 ++--- .../Local Podspecs/TABTestKit.podspec.json | 4 +- Example/Pods/Manifest.lock | 16 ++--- Example/Pods/Pods.xcodeproj/project.pbxproj | 72 +++++++++---------- Example/Pods/ShowTime/README.md | 7 +- .../{ => Sources/ShowTime}/ShowTime.swift | 11 +-- .../ShowTime/ShowTime-Info.plist | 2 +- .../TABTestKit/TABTestKit-Info.plist | 2 +- 8 files changed, 68 insertions(+), 62 deletions(-) rename Example/Pods/ShowTime/{ => Sources/ShowTime}/ShowTime.swift (96%) diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 28c2dee6..365d7387 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,10 +1,10 @@ PODS: - - ShowTime (2.5.1) - - TABTestKit (1.2.1): - - TABTestKit/BDD (= 1.2.1) - - TABTestKit/Biometrics (= 1.2.1) - - TABTestKit/BDD (1.2.1) - - TABTestKit/Biometrics (1.2.1) + - ShowTime (2.5.2) + - TABTestKit (1.4.0): + - TABTestKit/BDD (= 1.4.0) + - TABTestKit/Biometrics (= 1.4.0) + - TABTestKit/BDD (1.4.0) + - TABTestKit/Biometrics (1.4.0) DEPENDENCIES: - ShowTime @@ -19,8 +19,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - ShowTime: 0d7ad97e415e3228f0e966e025087ea4175f3361 - TABTestKit: 0e6828faebd9ee6fac09b992c9af7a78d20c8df4 + ShowTime: 5cb2c5314da2983cec44f27123a15473cf29306f + TABTestKit: 7124b5d2d3b1c17191f0d35e6c4d84d99d6c7916 PODFILE CHECKSUM: cff5520fee18bc1ac482104a6673ae29b40d9690 diff --git a/Example/Pods/Local Podspecs/TABTestKit.podspec.json b/Example/Pods/Local Podspecs/TABTestKit.podspec.json index 9862a49e..a4f068c2 100644 --- a/Example/Pods/Local Podspecs/TABTestKit.podspec.json +++ b/Example/Pods/Local Podspecs/TABTestKit.podspec.json @@ -1,6 +1,6 @@ { "name": "TABTestKit", - "version": "1.2.1", + "version": "1.4.0", "summary": "Strongly typed Swift wrapper around XCTest / XCUI, enabling you to write BDD-style automation tests, without writing much code at all.", "homepage": "https://github.com/theappbusiness/TABTestKit", "license": { @@ -14,7 +14,7 @@ }, "source": { "git": "https://github.com/theappbusiness/TABTestKit.git", - "tag": "1.2.1" + "tag": "1.4.0" }, "platforms": { "ios": "10.0" diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 28c2dee6..365d7387 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,10 +1,10 @@ PODS: - - ShowTime (2.5.1) - - TABTestKit (1.2.1): - - TABTestKit/BDD (= 1.2.1) - - TABTestKit/Biometrics (= 1.2.1) - - TABTestKit/BDD (1.2.1) - - TABTestKit/Biometrics (1.2.1) + - ShowTime (2.5.2) + - TABTestKit (1.4.0): + - TABTestKit/BDD (= 1.4.0) + - TABTestKit/Biometrics (= 1.4.0) + - TABTestKit/BDD (1.4.0) + - TABTestKit/Biometrics (1.4.0) DEPENDENCIES: - ShowTime @@ -19,8 +19,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - ShowTime: 0d7ad97e415e3228f0e966e025087ea4175f3361 - TABTestKit: 0e6828faebd9ee6fac09b992c9af7a78d20c8df4 + ShowTime: 5cb2c5314da2983cec44f27123a15473cf29306f + TABTestKit: 7124b5d2d3b1c17191f0d35e6c4d84d99d6c7916 PODFILE CHECKSUM: cff5520fee18bc1ac482104a6673ae29b40d9690 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index e5517afb..9273298a 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -24,12 +24,12 @@ 24ED9217067D3E2949D7CBEC6002F057 /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 262D5CDF39CC5E03DD2A78BBF1868A35 /* CollectionView.swift */; }; 25CFAF4F7498DBF90A9CBE5A4A859D7F /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B6F09AA576A017AA5887F716093A75F /* Scrollable.swift */; }; 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2A411C58F872C8C44DA40F3E8C526574 /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 050E802DF87843496AE0298C8E6E6894 /* SegmentedControl.swift */; }; 2F1D4014C8AA76E6B20DBB58E1385982 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DD294FCD424E21252667BB25F0B5DFD /* BiometricsContext.swift */; }; 3091E023C8EDD74A1B4BACCA8A991B88 /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 91D7A14E94735032FA9D267600F45456 /* Adjustable.swift */; }; 357D852032838CCAF1BAA11C478BDA2C /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 950E7DD2D565EE520DFCE34EC1A7D6A2 /* Scenario.swift */; }; - 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */; }; + 3C892CB7517172243FF2DA110515208C /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */; }; 3D53EE53A9983C943A862D0383369B25 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3E66A422EE50C8F437227A51C69D4680 /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7808B25C4838FA8F8CE79153F15B34D7 /* NavBar.swift */; }; 44C110A04CD21BAE331D1F5CC2ED369A /* Alert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 800D965B1028764BF95DC4ADE6CC9125 /* Alert.swift */; }; @@ -53,7 +53,6 @@ 813774AD4B01D88060F5A3BA9C31D117 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = B0FA4C101B00A975C2505867D27701E0 /* Step.swift */; }; 813D0E82BF97298B69B9A5004474664B /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BE65D8B4681A9D1BB2CE760736C9932 /* XCTFatalFail.swift */; }; 84E3BE493C6D7C786A6A53AE0C3FCBA9 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = EEA8CB911C664DEC0D973AA6A2545177 /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */; }; 8B286852CCE7AF9B4A574916ABB36D68 /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = CF8BFF9D50FEAEBC351CAB08019E6D37 /* Biometrics.m */; }; 8C45FA34C3F5F90D4E4BA7AE8BBECA6F /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031B4DE43D67D51609BE60B382093FCA /* Keyboard.swift */; }; 902B05EFE72F3F9C0469133B69E608E3 /* PageIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1A76A10852B80A487D65909EF6A8A0A /* PageIndicator.swift */; }; @@ -65,6 +64,7 @@ AEC7BCCB4C1F42BBEA90EF064C35C8DF /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70C22C24A5ADF8FF9FABB1E75924DDB4 /* Array+Safe.swift */; }; B5157743E5E1B5A56B1A03A4D1EB821D /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6A846D7540CD6C49B7D443F083836A1 /* XCUIElement+isVisible.swift */; }; B5AB54340065183E2A7BC8F765FB056C /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5ECAB472DD95FFA096E502BE813F24A /* CellContaining.swift */; }; + BA42C86F6872AC87ADF7110F65920109 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */; }; BB225F68696F2418AD3FB78182986059 /* InteractionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 65B4854AFCF6EFB5728D2906D01A91E8 /* InteractionContext.swift */; }; BE44EBD008C9CDBA889CCA773AD049B8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; C1522B54174DCE00FD871C072C5FE1C6 /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 279513BCCF627B9691875426F559F488 /* XCUIDevice+frame.swift */; }; @@ -147,7 +147,6 @@ 4384FCF2BD784A97A4A9D441315A0DB9 /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; 4BE65D8B4681A9D1BB2CE760736C9932 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example.framework; path = "Pods-TABTestKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example.modulemap"; sourceTree = ""; }; 577668BAFF017BF9C56A37DA9D8B3F3E /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; 5B6F09AA576A017AA5887F716093A75F /* Scrollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; @@ -157,7 +156,7 @@ 63EF5857804B0B54C7E4D18592064A58 /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; 65B4854AFCF6EFB5728D2906D01A91E8 /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; 68E07ED4E98854029672AFEE4247B131 /* Tappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Tappable.swift; sourceTree = ""; }; - 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; + 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; 69AD092E6A91D199CC4B108331F36DA5 /* Cell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; 6D92BBC7A22A9E8E8E2FA39E3997303A /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; 6E27AED458501104AD425F966C85FC9F /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; @@ -169,7 +168,6 @@ 76E38B402D005A8731E76AA7B2D6FE03 /* SheetContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; 7808B25C4838FA8F8CE79153F15B34D7 /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; 788DDCAA164D7EE56342B88F96491208 /* TABTestKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-prefix.pch"; sourceTree = ""; }; - 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; 7C7FFE88DEAA1AF1B80AD63ECFE75C5B /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 7DD6716D5C973671221E266BF4EA685E /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; 800D965B1028764BF95DC4ADE6CC9125 /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; @@ -180,7 +178,6 @@ 8C8D3AF5E91D7B83C78AD8D30B108A61 /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; 8DA373D249EA5C2515F1BCDC50C17253 /* CGVector+Offset.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; 918A527F30EE6F7119E72C4E379B9725 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; - 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist"; sourceTree = ""; }; 91D7A14E94735032FA9D267600F45456 /* Adjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Adjustable.swift; sourceTree = ""; }; 950E7DD2D565EE520DFCE34EC1A7D6A2 /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; @@ -188,14 +185,15 @@ 9856B4127EA4A3DEA7BB3C3DEA48CBDA /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; 992A1E8A4F1EB43930FABAEF7D789437 /* XCUIElement+wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m"; sourceTree = ""; }; - 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-umbrella.h"; sourceTree = ""; }; A127829CD9E05F37DAE46AEBDB38BD32 /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; A1DD17F13EE4338CB0C1F14BDA4DDB38 /* Editable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; - A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; + AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; + AA9FC38AC03409CABA3E4DD246E3CF1C /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; sourceTree = ""; }; + ADB4763ABC911105EE431BA516439FE1 /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.release.xcconfig"; sourceTree = ""; }; B0FA4C101B00A975C2505867D27701E0 /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; B5ECAB472DD95FFA096E502BE813F24A /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; @@ -214,16 +212,18 @@ D28D77B63D202DB8321A06BF58DBB7CB /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; D4BFAFF7FD46F7D40E2BC70C033E9FB5 /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; D6A846D7540CD6C49B7D443F083836A1 /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; - D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShowTime.swift; sourceTree = ""; }; D9F4E0B95D999589413CB46F3EE1FFF0 /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; + DF441583F13AEDF6DF852C5354F264E1 /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; E1A76A10852B80A487D65909EF6A8A0A /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; E3DFD912F5057A7DA1A3FAF38ECFBA52 /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; E8FC29191B3472554846E705BA3E749E /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; EA695F610193350BF915FD91CF462251 /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; + EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShowTime.swift; path = Sources/ShowTime/ShowTime.swift; sourceTree = ""; }; EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-frameworks.sh"; sourceTree = ""; }; EEA8CB911C664DEC0D973AA6A2545177 /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; EF771F348458BD0D29251266E02E686C /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; - F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; + F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; + FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -275,6 +275,16 @@ path = TABTestKit/Classes/Screens; sourceTree = ""; }; + 0EAD851B593C7D383A5B9F66278D5202 /* ShowTime */ = { + isa = PBXGroup; + children = ( + EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */, + 3AD53452E6F9B27B718A63F5668EEEAC /* Support Files */, + ); + name = ShowTime; + path = ShowTime; + sourceTree = ""; + }; 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -339,16 +349,16 @@ path = "Target Support Files/Pods-TABTestKit_Example"; sourceTree = ""; }; - 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */ = { + 3AD53452E6F9B27B718A63F5668EEEAC /* Support Files */ = { isa = PBXGroup; children = ( - 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */, - 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */, - A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */, - 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */, - 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */, - F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */, - 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */, + ADB4763ABC911105EE431BA516439FE1 /* ShowTime.modulemap */, + F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */, + DF441583F13AEDF6DF852C5354F264E1 /* ShowTime-Info.plist */, + AA9FC38AC03409CABA3E4DD246E3CF1C /* ShowTime-prefix.pch */, + 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */, + AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */, + FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/ShowTime"; @@ -399,7 +409,7 @@ 7F9009F1182E3BDED6F366005188C8B5 /* Pods */ = { isa = PBXGroup; children = ( - C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */, + 0EAD851B593C7D383A5B9F66278D5202 /* ShowTime */, ); name = Pods; sourceTree = ""; @@ -434,16 +444,6 @@ path = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; sourceTree = ""; }; - C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */ = { - isa = PBXGroup; - children = ( - D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */, - 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */, - ); - name = ShowTime; - path = ShowTime; - sourceTree = ""; - }; C59EA540FD0196E605574923381C488A /* Protocols */ = { isa = PBXGroup; children = ( @@ -646,7 +646,7 @@ buildConfigurationList = 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */; buildPhases = ( CCCD40A3CF98074BF1895442469F632F /* Headers */, - F3EFCCB3C1AE195157628019EC33351E /* Sources */, + A3D1DBE0B97482C7D9E971A0A69C18FE /* Sources */, 03E1BC428CDBAFFCB7A23DC27272A29B /* Frameworks */, 031CA665B29B23A9412E394FBC39639C /* Resources */, ); @@ -828,12 +828,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F3EFCCB3C1AE195157628019EC33351E /* Sources */ = { + A3D1DBE0B97482C7D9E971A0A69C18FE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */, - 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */, + 3C892CB7517172243FF2DA110515208C /* ShowTime-dummy.m in Sources */, + BA42C86F6872AC87ADF7110F65920109 /* ShowTime.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1029,7 +1029,7 @@ }; A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */; + baseConfigurationReference = FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1155,7 +1155,7 @@ }; D638E423895A2C1C466433CCA95C495B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */; + baseConfigurationReference = AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; diff --git a/Example/Pods/ShowTime/README.md b/Example/Pods/ShowTime/README.md index a04f91d2..dc1b6c98 100644 --- a/Example/Pods/ShowTime/README.md +++ b/Example/Pods/ShowTime/README.md @@ -45,7 +45,12 @@ and gestures in your XCUI automation tests while the tests run! ### Manual -- Step 1: Drop [`ShowTime.swift`](https://raw.githubusercontent.com/KaneCheshire/ShowTime/master/ShowTime.swift) into your project or copy the contents of it where ever you like. +- Step 1: Drop [`ShowTime.swift`](https://raw.githubusercontent.com/KaneCheshire/ShowTime/master/Sources/ShowTime/ShowTime.swift) into your project or copy the contents of it where ever you like. + +### Swift Package Manager + +- Step 1: In Xcode 11+, add `https://github.com/KaneCheshire/ShowTime.git` to the list of Swift Package dependencies, [see here](https://developer.apple.com/documentation/xcode/adding_package_dependencies_to_your_app) for more information. +- Step 2: There is no step 2, ShowTime works as soon as you launch your app, but you can [configure](#usage) it if you wish! ## Usage diff --git a/Example/Pods/ShowTime/ShowTime.swift b/Example/Pods/ShowTime/Sources/ShowTime/ShowTime.swift similarity index 96% rename from Example/Pods/ShowTime/ShowTime.swift rename to Example/Pods/ShowTime/Sources/ShowTime/ShowTime.swift index 7e6b1d2c..69669716 100644 --- a/Example/Pods/ShowTime/ShowTime.swift +++ b/Example/Pods/ShowTime/Sources/ShowTime/ShowTime.swift @@ -151,8 +151,8 @@ class TouchView: UILabel { case .scaleUp: self.animateScaleUp() case .custom(let custom): custom(self) } - }, completion: { [weak self] _ in - self?.removeFromSuperview() + }, completion: { _ in + self.removeFromSuperview() }) } @@ -204,7 +204,7 @@ extension UIWindow { } @objc private func swizzled_sendEvent(_ event: UIEvent) { - self.swizzled_sendEvent(event) + swizzled_sendEvent(event) guard ShowTime.shouldEnable else { return removeAllTouchViews() } event.allTouches?.forEach { if ShowTime.shouldIgnoreApplePencilEvents && $0.isApplePencil { return } @@ -212,14 +212,15 @@ extension UIWindow { case .began: touchBegan($0) case .moved, .stationary: touchMoved($0) case .cancelled, .ended: touchEnded($0) - @unknown default: return + default: return } } } private func touchBegan(_ touch: UITouch) { + guard _touches[touch] == nil else { return } // Fixes a bug in iOS 13.4 which sends duplicated touch events with a pointer let touchView = TouchView(touch: touch, relativeTo: self) - self.addSubview(touchView) + addSubview(touchView) _touches[touch] = touchView } diff --git a/Example/Pods/Target Support Files/ShowTime/ShowTime-Info.plist b/Example/Pods/Target Support Files/ShowTime/ShowTime-Info.plist index a482d50a..71ac1be5 100644 --- a/Example/Pods/Target Support Files/ShowTime/ShowTime-Info.plist +++ b/Example/Pods/Target Support Files/ShowTime/ShowTime-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.5.1 + 2.5.2 CFBundleSignature ???? CFBundleVersion diff --git a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist index 19f73eae..7b6b52a4 100644 --- a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist +++ b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.2.1 + 1.4.0 CFBundleSignature ???? CFBundleVersion From f21e77f13d8cc5d124f9e955960e7c2aec6c7936 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Fri, 10 Jul 2020 13:29:55 +0200 Subject: [PATCH 003/103] Added scroll until element value func --- TABTestKit/Classes/Contexts/InteractionContext.swift | 10 ++++++++++ TABTestKit/Classes/Protocols/Element.swift | 2 ++ 2 files changed, 12 insertions(+) diff --git a/TABTestKit/Classes/Contexts/InteractionContext.swift b/TABTestKit/Classes/Contexts/InteractionContext.swift index e52d6d05..6400daef 100644 --- a/TABTestKit/Classes/Contexts/InteractionContext.swift +++ b/TABTestKit/Classes/Contexts/InteractionContext.swift @@ -53,6 +53,16 @@ public extension InteractionContext { XCTFail("Ran of out tries (\(maxTries)) waiting for element to become not \(state)") } } + + func scroll(_ element: Scrollable, _ direction: ElementAttributes.Direction, until otherElement: Element, valueIs value: String, maxTries: Int = 10) { + var numberOfTries = 0 + repeat { + guard !(otherElement.value == value) else { return } + numberOfTries += 1 + element.scroll(direction) + } while numberOfTries <= maxTries + XCTFail("Ran of out tries (\(maxTries)) waiting for element to become \(value)") + } func value(of element: ElementWithValue, is expectedValue: ElementWithValue.Value) { XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.value == expectedValue), "Element did not have the right value before timing out! Expected: \(expectedValue), actual: \(element.value)") diff --git a/TABTestKit/Classes/Protocols/Element.swift b/TABTestKit/Classes/Protocols/Element.swift index 944922ea..f39bd975 100644 --- a/TABTestKit/Classes/Protocols/Element.swift +++ b/TABTestKit/Classes/Protocols/Element.swift @@ -48,6 +48,8 @@ public extension Element { var index: Int { return 0 } var label: String { return underlyingXCUIElement.label } + + var value: String? {return underlyingXCUIElement.value as? String} var frameInScreen: CGRect { return underlyingXCUIElement.frame } From 60b2ae61179bb40134c7c6013a5e98fdc313fdd5 Mon Sep 17 00:00:00 2001 From: Ben Gilroy Date: Fri, 10 Jul 2020 16:32:54 +0100 Subject: [PATCH 004/103] Add page controller with a test to be updated as part of issue 72 --- Example/TABTestKit.xcodeproj/project.pbxproj | 12 ++++ Example/TABTestKit/Base.lproj/Main.storyboard | 38 +++++++++-- Example/TABTestKit/PageController.swift | 67 +++++++++++++++++++ .../PageScreen.swift | 20 ++++++ .../TABTestKit_ExampleUITests/PageTests.swift | 35 ++++++++++ .../TabBarScreen.swift | 3 + 6 files changed, 171 insertions(+), 4 deletions(-) create mode 100644 Example/TABTestKit/PageController.swift create mode 100644 Example/TABTestKit_ExampleUITests/PageScreen.swift create mode 100644 Example/TABTestKit_ExampleUITests/PageTests.swift diff --git a/Example/TABTestKit.xcodeproj/project.pbxproj b/Example/TABTestKit.xcodeproj/project.pbxproj index b4ca517a..162b0a9d 100644 --- a/Example/TABTestKit.xcodeproj/project.pbxproj +++ b/Example/TABTestKit.xcodeproj/project.pbxproj @@ -7,6 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 0C69DA1124B8A78D00E10F9E /* PageController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C69DA1024B8A78D00E10F9E /* PageController.swift */; }; + 0C69DA1324B8B7DC00E10F9E /* PageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C69DA1224B8B7DC00E10F9E /* PageTests.swift */; }; + 0C69DA1524B8B85500E10F9E /* PageScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C69DA1424B8B85500E10F9E /* PageScreen.swift */; }; 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; }; 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; }; 607FACDD1AFB9204008FA782 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 607FACDC1AFB9204008FA782 /* Images.xcassets */; }; @@ -48,6 +51,9 @@ /* Begin PBXFileReference section */ 0642FEC1D43A76605A007144 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TABTestKit_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 0757BAFCD86952BF1F8792FB /* TABTestKit.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = TABTestKit.podspec; path = ../TABTestKit.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 0C69DA1024B8A78D00E10F9E /* PageController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageController.swift; sourceTree = ""; }; + 0C69DA1224B8B7DC00E10F9E /* PageTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageTests.swift; sourceTree = ""; }; + 0C69DA1424B8B85500E10F9E /* PageScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageScreen.swift; sourceTree = ""; }; 0E196B5358EB5F29B443CE8E /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1CD6C67461B52B92ADDBB9FD /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; }; 3275E3F4BE5C5BB1077B1015 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig"; path = "Pods/Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig"; sourceTree = ""; }; @@ -157,6 +163,7 @@ C3DE8E462329037B007E583B /* TableSelectionController.swift */, C368AF2E235095CC0015803A /* CollectionViewController.swift */, C3DE8E4923291A34007E583B /* OtherElementsController.swift */, + 0C69DA1024B8A78D00E10F9E /* PageController.swift */, 607FACD31AFB9204008FA782 /* Supporting Files */, ); name = "Example for TABTestKit"; @@ -204,6 +211,7 @@ C3DE8E442328F646007E583B /* TableSelectionScreen.swift */, C3DE8E4B232920F4007E583B /* OtherElementsScreen.swift */, C3DE8E5E232A7564007E583B /* TabBarScreen.swift */, + 0C69DA1424B8B85500E10F9E /* PageScreen.swift */, ); name = Screens; sourceTree = ""; @@ -218,6 +226,7 @@ C368AF302350987D0015803A /* CollectionViewTests.swift */, C3DE8E4D23293D4B007E583B /* OtherElementsTests.swift */, C342580C2472A9F900B8E35C /* DeepLinkingTests.swift */, + 0C69DA1224B8B7DC00E10F9E /* PageTests.swift */, ); name = Tests; sourceTree = ""; @@ -432,6 +441,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0C69DA1124B8A78D00E10F9E /* PageController.swift in Sources */, C326D660232788BA001AB082 /* BiometricLoginViewController.swift in Sources */, 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */, C326D6AD2327E8F7001AB082 /* TableController.swift in Sources */, @@ -449,6 +459,7 @@ C326D6A62327DAA7001AB082 /* TableScreen.swift in Sources */, C342580D2472A9F900B8E35C /* DeepLinkingTests.swift in Sources */, C3DE8E4E23293D4B007E583B /* OtherElementsTests.swift in Sources */, + 0C69DA1524B8B85500E10F9E /* PageScreen.swift in Sources */, C3DE8E4C232920F4007E583B /* OtherElementsScreen.swift in Sources */, C326D66623278E2E001AB082 /* BiometricLoginScreen.swift in Sources */, C368AF33235098E70015803A /* CollectionViewScreen.swift in Sources */, @@ -456,6 +467,7 @@ C368AF312350987D0015803A /* CollectionViewTests.swift in Sources */, C326D6A82327DC15001AB082 /* BiometricLogin_PermissionDeniedTests.swift in Sources */, C326D6AC2327E847001AB082 /* TableTests.swift in Sources */, + 0C69DA1324B8B7DC00E10F9E /* PageTests.swift in Sources */, C3DE8E452328F646007E583B /* TableSelectionScreen.swift in Sources */, C326D6AA2327DFCC001AB082 /* BiometricLogin_AuthenticationFailureTests.swift in Sources */, C3DE8E5F232A7564007E583B /* TabBarScreen.swift in Sources */, diff --git a/Example/TABTestKit/Base.lproj/Main.storyboard b/Example/TABTestKit/Base.lproj/Main.storyboard index 8193f7a8..967afbd1 100644 --- a/Example/TABTestKit/Base.lproj/Main.storyboard +++ b/Example/TABTestKit/Base.lproj/Main.storyboard @@ -1,9 +1,9 @@ - + - + @@ -22,11 +22,12 @@ + - + @@ -137,6 +138,16 @@ + + + + + + + + + + @@ -404,7 +415,7 @@ - + @@ -425,5 +436,24 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Example/TABTestKit/PageController.swift b/Example/TABTestKit/PageController.swift new file mode 100644 index 00000000..66d96a59 --- /dev/null +++ b/Example/TABTestKit/PageController.swift @@ -0,0 +1,67 @@ +// +// PageController.swift +// TABTestKit_Example +// +// Created by Ben Gilroy on 10/07/2020. +// Copyright © 2020 The App Business LTD. All rights reserved. +// + +import UIKit + +final class PageController: UIPageViewController { + + private var pages: [UIViewController] = [] + + override func viewDidLoad() { + super.viewDidLoad() + view.backgroundColor = .white + view.accessibilityIdentifier = "PageView" + setupPages() + setupPageControl() + dataSource = self + } + + private func setupPages() { + let colors: [UIColor] = [.red, .orange, .yellow, .green, .blue, .purple] + pages = colors.map { color in + let viewController = UIViewController() + viewController.view.backgroundColor = color + return viewController + } + setViewControllers([pages[0]], direction: .forward, animated: false) + } + + private func setupPageControl() { + let appearance = UIPageControl.appearance() + appearance.pageIndicatorTintColor = .gray + appearance.currentPageIndicatorTintColor = .black + appearance.backgroundColor = .white + } + +} + +extension PageController: UIPageViewControllerDataSource { + + func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { + guard let currentIndex = pages.firstIndex(of: viewController), currentIndex > 0 else { + return nil + } + return pages[currentIndex - 1] + } + + func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? { + guard let currentIndex = pages.firstIndex(of: viewController), currentIndex < pages.count - 1 else { + return nil + } + return pages[currentIndex + 1] + } + + func presentationCount(for pageViewController: UIPageViewController) -> Int { + return pages.count + } + + func presentationIndex(for pageViewController: UIPageViewController) -> Int { + return 0 + } + +} diff --git a/Example/TABTestKit_ExampleUITests/PageScreen.swift b/Example/TABTestKit_ExampleUITests/PageScreen.swift new file mode 100644 index 00000000..d90154af --- /dev/null +++ b/Example/TABTestKit_ExampleUITests/PageScreen.swift @@ -0,0 +1,20 @@ +// +// PageScreen.swift +// TABTestKit_ExampleUITests +// +// Created by Ben Gilroy on 10/07/2020. +// Copyright © 2020 The App Business LTD. All rights reserved. +// + +import TABTestKit + +let pageScreen = PageScreen() + +struct PageScreen: Screen { + + var trait: View { return view } + let view = View(id: "PageView") + var scrollView: ScrollView { ScrollView(parent: view) } + var pageIndicator: PageIndicator { PageIndicator(parent: view) } + +} diff --git a/Example/TABTestKit_ExampleUITests/PageTests.swift b/Example/TABTestKit_ExampleUITests/PageTests.swift new file mode 100644 index 00000000..a0303449 --- /dev/null +++ b/Example/TABTestKit_ExampleUITests/PageTests.swift @@ -0,0 +1,35 @@ +// +// PageTests.swift +// TABTestKit_ExampleUITests +// +// Created by Ben Gilroy on 10/07/2020. +// Copyright © 2020 The App Business LTD. All rights reserved. +// + +import TABTestKit + +final class PageTests: TABTestCase { + + func test() { + Scenario("Navigate to page view") { + Given(I: complete(biometricLoginScreen)) + And(I: see(tabBarScreen)) + When(I: tap(tabBarScreen.pageTabBarButton)) + sleep(1) + print(App.shared.debugDescription) + Then(I: see(pageScreen)) + } + + // TODO: Replace with 'scroll until value of X is Y' as part of https://github.com/theappbusiness/TABTestKit/issues/72 + Scenario("Scroll page view") { + Given(I: see(pageScreen)) + When(I: pageScreen.scrollView.scroll(.right)) + And(I: pageScreen.scrollView.scroll(.right)) + And(I: pageScreen.scrollView.scroll(.right)) + And(I: pageScreen.scrollView.scroll(.right)) + And(I: pageScreen.scrollView.scroll(.right)) + Then(the: value(of: pageScreen.pageIndicator, is: "page 6 of 6")) + } + } + +} diff --git a/Example/TABTestKit_ExampleUITests/TabBarScreen.swift b/Example/TABTestKit_ExampleUITests/TabBarScreen.swift index 359648cd..33f4a05c 100644 --- a/Example/TABTestKit_ExampleUITests/TabBarScreen.swift +++ b/Example/TABTestKit_ExampleUITests/TabBarScreen.swift @@ -23,5 +23,8 @@ struct TabBarScreen: Screen { var otherTabBarButton: Button { return tabBar.button(withID: "Other") } + var pageTabBarButton: Button { + return tabBar.button(withID: "Page") + } } From 9c7652a6f1a94d5d6690a4094c6c4e1805e9bebe Mon Sep 17 00:00:00 2001 From: Ben Gilroy Date: Fri, 10 Jul 2020 16:36:58 +0100 Subject: [PATCH 005/103] Remove debug code --- Example/TABTestKit_ExampleUITests/PageTests.swift | 2 -- 1 file changed, 2 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/PageTests.swift b/Example/TABTestKit_ExampleUITests/PageTests.swift index a0303449..407cef10 100644 --- a/Example/TABTestKit_ExampleUITests/PageTests.swift +++ b/Example/TABTestKit_ExampleUITests/PageTests.swift @@ -15,8 +15,6 @@ final class PageTests: TABTestCase { Given(I: complete(biometricLoginScreen)) And(I: see(tabBarScreen)) When(I: tap(tabBarScreen.pageTabBarButton)) - sleep(1) - print(App.shared.debugDescription) Then(I: see(pageScreen)) } From e505334dced0ad9dcf1ada779d77adca765be6b1 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Thu, 16 Jul 2020 13:53:13 +0100 Subject: [PATCH 006/103] Does this fix compilation error? --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 50e145d9..64c697c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,8 @@ language: swift os: - osx -osx_image: xcode10.3 -env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' +osx_image: xcode11.5 +env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' addons: homebrew: From f5f32f605d6a5b60095f148282f81acd6f3f1d45 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Thu, 16 Jul 2020 14:12:57 +0100 Subject: [PATCH 007/103] 13.5 worked for compilation issue but another arose elsewhere. Reverting --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 64c697c8..50e145d9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,8 @@ language: swift os: - osx -osx_image: xcode11.5 -env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' +osx_image: xcode10.3 +env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' addons: homebrew: From f3f32af26d2a264f2d1500c82ffba8f41cee2ff7 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Mon, 20 Jul 2020 10:18:50 +0100 Subject: [PATCH 008/103] Added hard return call in for older Xcode needs --- Example/TABTestKit_ExampleUITests/PageScreen.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/PageScreen.swift b/Example/TABTestKit_ExampleUITests/PageScreen.swift index d90154af..4eea5cfc 100644 --- a/Example/TABTestKit_ExampleUITests/PageScreen.swift +++ b/Example/TABTestKit_ExampleUITests/PageScreen.swift @@ -14,7 +14,7 @@ struct PageScreen: Screen { var trait: View { return view } let view = View(id: "PageView") - var scrollView: ScrollView { ScrollView(parent: view) } - var pageIndicator: PageIndicator { PageIndicator(parent: view) } + var scrollView: ScrollView { return ScrollView(parent: view) } + var pageIndicator: PageIndicator { return PageIndicator(parent: view) } } From 7e0b423380ea23dd7e91ffd7e9bebd686860aa5b Mon Sep 17 00:00:00 2001 From: Ben Gilroy Date: Mon, 20 Jul 2020 14:43:19 +0100 Subject: [PATCH 009/103] Add iOS version availability check --- Example/TABTestKit_ExampleUITests/PageTests.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Example/TABTestKit_ExampleUITests/PageTests.swift b/Example/TABTestKit_ExampleUITests/PageTests.swift index 407cef10..34bae71b 100644 --- a/Example/TABTestKit_ExampleUITests/PageTests.swift +++ b/Example/TABTestKit_ExampleUITests/PageTests.swift @@ -11,6 +11,12 @@ import TABTestKit final class PageTests: TABTestCase { func test() { + // This test will fail on iOS 12 as the scroll view in UIPageViewController + // does not have the accessibility trait of scroll view. This has been fixed + // in iOS 13. When iOS 12 support is dropped, this check can be removed. + guard #available(iOS 13, *) else { + return + } Scenario("Navigate to page view") { Given(I: complete(biometricLoginScreen)) And(I: see(tabBarScreen)) From 30d0d1e4840d83a66a3db560256e9a99a83a6a7e Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Mon, 20 Jul 2020 15:13:20 +0100 Subject: [PATCH 010/103] Updated for 2 xcode versions --- .travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 50e145d9..6b9eeba2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,9 @@ os: - osx osx_image: xcode10.3 -env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' + env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' +osx_image: xcode11.5 + env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' addons: homebrew: From 3eb9e210f35b14f01e910fce39f84355057939c1 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Mon, 20 Jul 2020 15:33:26 +0100 Subject: [PATCH 011/103] Bad whitespace, bad --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6b9eeba2..fb5d74e1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,9 +4,9 @@ os: - osx osx_image: xcode10.3 - env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' +env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' osx_image: xcode11.5 - env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' +env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' addons: homebrew: From 053356ead7748c1c374d57c9b4eb843f9503963c Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Mon, 20 Jul 2020 15:36:52 +0100 Subject: [PATCH 012/103] Eugh merging forgot my matrix --- .travis.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index fb5d74e1..88b32125 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,10 +3,13 @@ language: swift os: - osx -osx_image: xcode10.3 -env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' -osx_image: xcode11.5 -env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' +matrix: + include: + - osx_image: xcode10.3 + env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' + - osx_image: xcode11.5 + env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' + addons: homebrew: From 1d152b7cdeb50eb2c46f414703ede225caf71521 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Mon, 20 Jul 2020 18:12:21 +0200 Subject: [PATCH 013/103] Refactoring PageTest for scrolling until element has particular value --- Example/TABTestKit_ExampleUITests/PageTests.swift | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/PageTests.swift b/Example/TABTestKit_ExampleUITests/PageTests.swift index 34bae71b..d4c8a97e 100644 --- a/Example/TABTestKit_ExampleUITests/PageTests.swift +++ b/Example/TABTestKit_ExampleUITests/PageTests.swift @@ -17,6 +17,7 @@ final class PageTests: TABTestCase { guard #available(iOS 13, *) else { return } + Scenario("Navigate to page view") { Given(I: complete(biometricLoginScreen)) And(I: see(tabBarScreen)) @@ -24,14 +25,9 @@ final class PageTests: TABTestCase { Then(I: see(pageScreen)) } - // TODO: Replace with 'scroll until value of X is Y' as part of https://github.com/theappbusiness/TABTestKit/issues/72 Scenario("Scroll page view") { Given(I: see(pageScreen)) - When(I: pageScreen.scrollView.scroll(.right)) - And(I: pageScreen.scrollView.scroll(.right)) - And(I: pageScreen.scrollView.scroll(.right)) - And(I: pageScreen.scrollView.scroll(.right)) - And(I: pageScreen.scrollView.scroll(.right)) + When(I: scroll(pageScreen.scrollView, .right, until: pageScreen.pageIndicator, valueIs: "page 6 of 6")) Then(the: value(of: pageScreen.pageIndicator, is: "page 6 of 6")) } } From 4dc75ef6eb5e09ac4edb29ec808360fc9eb86c44 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Mon, 20 Jul 2020 18:33:23 +0200 Subject: [PATCH 014/103] Resolving indentation issue --- TABTestKit/Classes/Protocols/Element.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TABTestKit/Classes/Protocols/Element.swift b/TABTestKit/Classes/Protocols/Element.swift index f39bd975..f9b51176 100644 --- a/TABTestKit/Classes/Protocols/Element.swift +++ b/TABTestKit/Classes/Protocols/Element.swift @@ -48,8 +48,8 @@ public extension Element { var index: Int { return 0 } var label: String { return underlyingXCUIElement.label } - - var value: String? {return underlyingXCUIElement.value as? String} + + var value: String? {return underlyingXCUIElement.value as? String} var frameInScreen: CGRect { return underlyingXCUIElement.frame } From c2abb3436f7b28add4804b48f12ca47412cd7948 Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Tue, 21 Jul 2020 10:48:35 +0200 Subject: [PATCH 015/103] Update TABTestKit/Classes/Protocols/Element.swift Co-authored-by: Roger TAN --- TABTestKit/Classes/Protocols/Element.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TABTestKit/Classes/Protocols/Element.swift b/TABTestKit/Classes/Protocols/Element.swift index f9b51176..6db3342a 100644 --- a/TABTestKit/Classes/Protocols/Element.swift +++ b/TABTestKit/Classes/Protocols/Element.swift @@ -49,7 +49,7 @@ public extension Element { var label: String { return underlyingXCUIElement.label } - var value: String? {return underlyingXCUIElement.value as? String} + var value: String? { return underlyingXCUIElement.value as? String } var frameInScreen: CGRect { return underlyingXCUIElement.frame } From 1a38697a4b36bd2a3e88948212cece9d4bf292ae Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Tue, 21 Jul 2020 10:12:50 +0100 Subject: [PATCH 016/103] Trying to align device type again --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 88b32125..c0ea85be 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ matrix: - osx_image: xcode10.3 env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' - osx_image: xcode11.5 - env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' + env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone Xs' addons: From e06e566b526876a89c664ebcb9dc12197d844c8b Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Tue, 21 Jul 2020 10:51:55 +0100 Subject: [PATCH 017/103] Same device simulator... For science! --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index c0ea85be..99719797 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,9 +6,9 @@ os: matrix: include: - osx_image: xcode10.3 - env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' + env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone 8' - osx_image: xcode11.5 - env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone Xs' + env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 8' addons: From dd935bb49fc46603fd08bc89b47fa3cc7f4d7557 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Tue, 21 Jul 2020 11:01:56 +0100 Subject: [PATCH 018/103] Back to normal --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 99719797..88b32125 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,9 +6,9 @@ os: matrix: include: - osx_image: xcode10.3 - env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone 8' + env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' - osx_image: xcode11.5 - env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 8' + env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' addons: From 2f1c42e72c9fd7b3490d685a31cc14ccf217aa86 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Tue, 21 Jul 2020 15:46:09 +0200 Subject: [PATCH 019/103] Basic test for relaunching the app was added --- .../BiometricLogin_HappyPathTests.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift index 5a9f9ce4..e425f1eb 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift @@ -23,6 +23,12 @@ final class BiometricLogin_HappyPathTests: TABTestCase, SystemPreferencesContext When(I: complete(biometricLoginScreen)) Then(I: doNotSee(biometricLoginScreen)) } + + Scenario("Relaunching the app") { + Given(I: doNotSee(biometricLoginScreen)) + When(I: relaunchTheApp) + Then(I: see(biometricLoginScreen)) + } } } From ff8426b21bafb83b43968bcf7dbcefc13477583b Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Tue, 21 Jul 2020 17:53:57 +0200 Subject: [PATCH 020/103] Added check for foregrounded app name --- .../BiometricLogin_HappyPathTests.swift | 7 ++++--- TABTestKit/Classes/Contexts/AppContext.swift | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift index e425f1eb..aa57c9a1 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift @@ -25,9 +25,10 @@ final class BiometricLogin_HappyPathTests: TABTestCase, SystemPreferencesContext } Scenario("Relaunching the app") { - Given(I: doNotSee(biometricLoginScreen)) - When(I: relaunchTheApp) - Then(I: see(biometricLoginScreen)) + Given(I: doNotSee(biometricLoginScreen)) + When(I: relaunchTheApp) + Then(I: amBackToTABTestKitExampleApp) + And(I: see(biometricLoginScreen)) } } diff --git a/TABTestKit/Classes/Contexts/AppContext.swift b/TABTestKit/Classes/Contexts/AppContext.swift index 41b7fe65..7ecfccb9 100644 --- a/TABTestKit/Classes/Contexts/AppContext.swift +++ b/TABTestKit/Classes/Contexts/AppContext.swift @@ -37,6 +37,10 @@ public extension AppContext { launchTheApp(clean: false) } + func amBackToTABTestKitExampleApp() { + XCTAssertEqual(App.shared.name, "TABTestKit_Example") + } + func openSafari() { // TODO: Move to Safari context Safari().activate() } From 99f1dd0a782e2b0cc493026ec1f9bc3cfe1fa435 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Wed, 22 Jul 2020 09:49:58 +0100 Subject: [PATCH 021/103] - Updated to iPhone 11 Pro which has the same resolution as an iPhone Xs - Updated to latest Xcode and iOS --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 88b32125..446f8b78 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,8 +7,8 @@ matrix: include: - osx_image: xcode10.3 env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' - - osx_image: xcode11.5 - env: IPHONE_SIMULATOR_SDK='iphonesimulator13.5' OS_VERSION='13.5' IPHONE_NAME='iPhone 11' + - osx_image: xcode11.6 + env: IPHONE_SIMULATOR_SDK='iphonesimulator13.6' OS_VERSION='13.6' IPHONE_NAME='iPhone 11 Pro' addons: From 4e25d87cfc8b6d83a60fdd498ad8118318b52277 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Wed, 22 Jul 2020 13:05:33 +0100 Subject: [PATCH 022/103] Added changelog entry --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36e6187c..9dae3feb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Pending +- Configured Travis to build and test on multiple Xcodes + --- ## 1.6.1 From 2aa47687201e715f1564c267c10c53e7886917a6 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Wed, 22 Jul 2020 18:37:30 +0200 Subject: [PATCH 023/103] Temp fix: removing runningBackgroundSuspended for iOS 12 --- TABTestKit/Classes/Apps/BaseApp.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TABTestKit/Classes/Apps/BaseApp.swift b/TABTestKit/Classes/Apps/BaseApp.swift index b147eaeb..b1b3fcb0 100644 --- a/TABTestKit/Classes/Apps/BaseApp.swift +++ b/TABTestKit/Classes/Apps/BaseApp.swift @@ -29,11 +29,11 @@ open class BaseApp: XCUIApplication { /// "Backgrounds" the app, waiting for the state to be suspended before continuing. open func background() { XCUIDevice.shared.press(.home) - if #available(iOS 13.0, *) { // https://github.com/theappbusiness/TABTestKit/issues/67 +// if #available(iOS 13.0, *) { // https://github.com/theappbusiness/TABTestKit/issues/67 XCTAssertTrue(wait(for: .runningBackground, timeout: 10), "Failed waiting for app to become .runningBackground") - } else { - XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 10), "Failed waiting for app to become .runningBackgroundSuspended") - } +// } else { +// XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 10), "Failed waiting for app to become .runningBackgroundSuspended") +// } } /// Activates/foregrounds the app, waiting for the state to be running before continuing. From 0478b3326c72313d1ec9b8d50acc8c2912a9f355 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Thu, 23 Jul 2020 11:25:28 +0200 Subject: [PATCH 024/103] Temp fix removed. Merging master in resolved iOS 12.4 failing test --- TABTestKit/Classes/Apps/BaseApp.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TABTestKit/Classes/Apps/BaseApp.swift b/TABTestKit/Classes/Apps/BaseApp.swift index b1b3fcb0..b147eaeb 100644 --- a/TABTestKit/Classes/Apps/BaseApp.swift +++ b/TABTestKit/Classes/Apps/BaseApp.swift @@ -29,11 +29,11 @@ open class BaseApp: XCUIApplication { /// "Backgrounds" the app, waiting for the state to be suspended before continuing. open func background() { XCUIDevice.shared.press(.home) -// if #available(iOS 13.0, *) { // https://github.com/theappbusiness/TABTestKit/issues/67 + if #available(iOS 13.0, *) { // https://github.com/theappbusiness/TABTestKit/issues/67 XCTAssertTrue(wait(for: .runningBackground, timeout: 10), "Failed waiting for app to become .runningBackground") -// } else { -// XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 10), "Failed waiting for app to become .runningBackgroundSuspended") -// } + } else { + XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 10), "Failed waiting for app to become .runningBackgroundSuspended") + } } /// Activates/foregrounds the app, waiting for the state to be running before continuing. From 1df6565da2513d919513364f27fe0155ba88024f Mon Sep 17 00:00:00 2001 From: Nick Hegarty Date: Thu, 23 Jul 2020 10:54:14 +0100 Subject: [PATCH 025/103] Updates to copyright, email addresses, and header image to reflect K+C rebrand --- Assets/logo.png | Bin 56103 -> 54450 bytes .../Local Podspecs/TABTestKit.podspec.json | 7 ++++--- ...t_ExampleUITests-acknowledgements.markdown | 2 +- ...tKit_ExampleUITests-acknowledgements.plist | 2 +- .../TABTestKit/CollectionViewController.swift | 2 +- .../TABTestKit/OtherElementsController.swift | 2 +- Example/TABTestKit/PageController.swift | 2 +- Example/TABTestKit/TableController.swift | 2 +- .../TABTestKit/TableSelectionController.swift | 2 +- .../BiometricLoginScreen.swift | 2 +- ...tricLogin_AuthenticationFailureTests.swift | 2 +- .../BiometricLogin_HappyPathTests.swift | 2 +- ...BiometricLogin_PermissionDeniedTests.swift | 2 +- .../CollectionViewScreen.swift | 2 +- .../CollectionViewTests.swift | 2 +- .../DeepLinkingTests.swift | 2 +- .../OtherElementsScreen.swift | 2 +- .../OtherElementsTests.swift | 2 +- .../PageScreen.swift | 2 +- .../TABTestKit_ExampleUITests/PageTests.swift | 2 +- .../TabBarScreen.swift | 2 +- .../TableScreen.swift | 2 +- .../TableSelectionScreen.swift | 2 +- .../TableTests.swift | 2 +- LICENSE | 2 +- README.md | 8 ++++---- TABTestKit.podspec | 7 ++++--- TABTestKit/Classes/Apps/App.swift | 2 +- TABTestKit/Classes/BDD/Step.swift | 2 +- TABTestKit/Classes/Biometrics/Biometrics.h | 2 +- TABTestKit/Classes/Biometrics/Biometrics.m | 2 +- TABTestKit/Classes/TABTestCase.swift | 2 +- TABTestKit/Supporting Files/TABTestKit.h | 2 +- 33 files changed, 41 insertions(+), 39 deletions(-) diff --git a/Assets/logo.png b/Assets/logo.png index 0e3f0ff0cf53a86c33f8551cafde50741716c699..cd59577133af386930d2ebfc612360cd829c9bfc 100644 GIT binary patch literal 54450 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 AG5`Po literal 56103 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%0D$fNpm1uO0m@uD?bBc?n?%fbL{3gn=I9 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 z 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 +Copyright (c) 2017 Kin + Carta 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/Pods/Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist index bbc65841..cf9559b8 100644 --- a/Example/Pods/Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist @@ -45,7 +45,7 @@ SOFTWARE. FooterText - Copyright (c) 2017 Zachary Borrelli <zac@theappbusiness.com> + Copyright (c) 2017 Kin + Carta <https://www.kinandcarta.com> 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/TABTestKit/CollectionViewController.swift b/Example/TABTestKit/CollectionViewController.swift index 7a3b22b6..f2845ed9 100644 --- a/Example/TABTestKit/CollectionViewController.swift +++ b/Example/TABTestKit/CollectionViewController.swift @@ -3,7 +3,7 @@ // TABTestKit_Example // // Created by Kane Cheshire on 11/10/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import UIKit diff --git a/Example/TABTestKit/OtherElementsController.swift b/Example/TABTestKit/OtherElementsController.swift index 3b15333f..71552935 100644 --- a/Example/TABTestKit/OtherElementsController.swift +++ b/Example/TABTestKit/OtherElementsController.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 11/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import UIKit diff --git a/Example/TABTestKit/PageController.swift b/Example/TABTestKit/PageController.swift index 66d96a59..d90eab8b 100644 --- a/Example/TABTestKit/PageController.swift +++ b/Example/TABTestKit/PageController.swift @@ -3,7 +3,7 @@ // TABTestKit_Example // // Created by Ben Gilroy on 10/07/2020. -// Copyright © 2020 The App Business LTD. All rights reserved. +// Copyright © 2020 Kin + Carta. All rights reserved. // import UIKit diff --git a/Example/TABTestKit/TableController.swift b/Example/TABTestKit/TableController.swift index c93ce93c..6332387c 100644 --- a/Example/TABTestKit/TableController.swift +++ b/Example/TABTestKit/TableController.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 10/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import UIKit diff --git a/Example/TABTestKit/TableSelectionController.swift b/Example/TABTestKit/TableSelectionController.swift index 59e04e8f..6e16ac37 100644 --- a/Example/TABTestKit/TableSelectionController.swift +++ b/Example/TABTestKit/TableSelectionController.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 11/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import UIKit diff --git a/Example/TABTestKit_ExampleUITests/BiometricLoginScreen.swift b/Example/TABTestKit_ExampleUITests/BiometricLoginScreen.swift index f16bf2ce..20e4bc9e 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLoginScreen.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLoginScreen.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 10/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/BiometricLogin_AuthenticationFailureTests.swift b/Example/TABTestKit_ExampleUITests/BiometricLogin_AuthenticationFailureTests.swift index 4df13cba..3e0295be 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLogin_AuthenticationFailureTests.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLogin_AuthenticationFailureTests.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 10/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift index 5a9f9ce4..74869b5c 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 10/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/BiometricLogin_PermissionDeniedTests.swift b/Example/TABTestKit_ExampleUITests/BiometricLogin_PermissionDeniedTests.swift index 47cbc5cd..47bfc2c2 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLogin_PermissionDeniedTests.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLogin_PermissionDeniedTests.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 10/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift index 3852af70..94f5d609 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 11/10/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift index 7aa9dbdc..bd80430f 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 11/10/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/DeepLinkingTests.swift b/Example/TABTestKit_ExampleUITests/DeepLinkingTests.swift index 95d7871c..2b5f2437 100644 --- a/Example/TABTestKit_ExampleUITests/DeepLinkingTests.swift +++ b/Example/TABTestKit_ExampleUITests/DeepLinkingTests.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 18/05/2020. -// Copyright © 2020 The App Business LTD. All rights reserved. +// Copyright © 2020 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift b/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift index 7f570fe0..24f967fd 100644 --- a/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift +++ b/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 11/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift b/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift index a05f7c62..5adb8f91 100644 --- a/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift +++ b/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 11/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/PageScreen.swift b/Example/TABTestKit_ExampleUITests/PageScreen.swift index 4eea5cfc..6a28d355 100644 --- a/Example/TABTestKit_ExampleUITests/PageScreen.swift +++ b/Example/TABTestKit_ExampleUITests/PageScreen.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Ben Gilroy on 10/07/2020. -// Copyright © 2020 The App Business LTD. All rights reserved. +// Copyright © 2020 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/PageTests.swift b/Example/TABTestKit_ExampleUITests/PageTests.swift index d4c8a97e..e96b48ea 100644 --- a/Example/TABTestKit_ExampleUITests/PageTests.swift +++ b/Example/TABTestKit_ExampleUITests/PageTests.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Ben Gilroy on 10/07/2020. -// Copyright © 2020 The App Business LTD. All rights reserved. +// Copyright © 2020 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/TabBarScreen.swift b/Example/TABTestKit_ExampleUITests/TabBarScreen.swift index 33f4a05c..4ed3376f 100644 --- a/Example/TABTestKit_ExampleUITests/TabBarScreen.swift +++ b/Example/TABTestKit_ExampleUITests/TabBarScreen.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 12/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/TableScreen.swift b/Example/TABTestKit_ExampleUITests/TableScreen.swift index dc486284..b875a07e 100644 --- a/Example/TABTestKit_ExampleUITests/TableScreen.swift +++ b/Example/TABTestKit_ExampleUITests/TableScreen.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 10/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/TableSelectionScreen.swift b/Example/TABTestKit_ExampleUITests/TableSelectionScreen.swift index e67648a8..781befb9 100644 --- a/Example/TABTestKit_ExampleUITests/TableSelectionScreen.swift +++ b/Example/TABTestKit_ExampleUITests/TableSelectionScreen.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 11/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/Example/TABTestKit_ExampleUITests/TableTests.swift b/Example/TABTestKit_ExampleUITests/TableTests.swift index 6f336ee2..94d6523b 100644 --- a/Example/TABTestKit_ExampleUITests/TableTests.swift +++ b/Example/TABTestKit_ExampleUITests/TableTests.swift @@ -3,7 +3,7 @@ // TABTestKit_ExampleUITests // // Created by Kane Cheshire on 10/09/2019. -// Copyright © 2019 The App Business LTD. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // import TABTestKit diff --git a/LICENSE b/LICENSE index 95e6f9ba..befd0872 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2017 Zachary Borrelli +Copyright (c) 2017 Kin + Carta 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/README.md b/README.md index 85c1a111..469f50ba 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![The App Business](Assets/logo.png) +![TABTestKit - Kin + Carta Create](Assets/logo.png) # TABTestKit @@ -1899,9 +1899,9 @@ Guidelines for contributing can be found [here](CONTRIBUTING.md). ## Authors -Neil Horton, neil@theappbusiness.com, https://github.com/neil3079 -Zachary Borrelli, zac@theappbusiness.com, https://github.com/zacoid55 -Kane Cheshire, kane.cheshire@theappbusiness.com, https://github.com/kanecheshire +Neil Horton, neil.horton@kinandcarta.com, https://github.com/neil3079 +Zachary Borrelli, zac.borrelli@kinandcarta.com, https://github.com/zacoid55 +Kane Cheshire, kane.cheshire@kinandcarta.com, https://github.com/kanecheshire Suyash Srijan, suyash.srijan@theappbuisness.com, https://github.com/theblixguy ## License diff --git a/TABTestKit.podspec b/TABTestKit.podspec index 6e586d0e..298f63cc 100644 --- a/TABTestKit.podspec +++ b/TABTestKit.podspec @@ -4,9 +4,10 @@ Pod::Spec.new do |s| s.summary = 'Strongly typed Swift wrapper around XCTest / XCUI, enabling you to write BDD-style automation tests, without writing much code at all.' s.homepage = 'https://github.com/theappbusiness/TABTestKit' s.license = { :type => 'MIT', :file => 'LICENSE' } - s.authors = { 'zacoid55' => 'zac@theappbusiness.com', - 'KaneCheshire' => 'kane.cheshire@theappbusiness.com', - 'theblixguy' => 'suyash.srijan@theappbuisness.com' } + s.authors = { 'zacoid55' => 'zac.borrelli@kinandcarta.com', + 'KaneCheshire' => 'kane.cheshire@kinandcarta.com', + 'theblixguy' => 'suyash.srijan@theappbusiness.com', + 'neil3079' => 'neil.horton@kinandcarta.com' } s.source = { :git => 'https://github.com/theappbusiness/TABTestKit.git', :tag => s.version.to_s } s.ios.deployment_target = '12.4' s.swift_version = '5.0' diff --git a/TABTestKit/Classes/Apps/App.swift b/TABTestKit/Classes/Apps/App.swift index 910771a4..d842be8d 100644 --- a/TABTestKit/Classes/Apps/App.swift +++ b/TABTestKit/Classes/Apps/App.swift @@ -5,7 +5,7 @@ // The MIT License (MIT) // // Created by Zachary Borrelli on 14/09/2017. -// Copyright © 2017 The App Business LTD. All rights reserved. +// Copyright © 2017 Kin + Carta. All rights reserved. // import XCTest diff --git a/TABTestKit/Classes/BDD/Step.swift b/TABTestKit/Classes/BDD/Step.swift index f22e8d69..d644224f 100644 --- a/TABTestKit/Classes/BDD/Step.swift +++ b/TABTestKit/Classes/BDD/Step.swift @@ -20,7 +20,7 @@ public typealias And = Step /// i.e: Given(I: logIn) instead of Given(I: logIn()) /// /// Do not use this Step type directly, instead use one of the typealiases above, like Given, When, Then or And. -/// To learn more about how to use a Step read this article: https://edit.theappbusiness.com/swifty-gherkins-part-1-28abba7dfd8 +/// To learn more about how to use a Step read this article: https://medium.com/kinandcartacreated/swifty-gherkins-part-1-28abba7dfd8 public struct Step { /// A reference to the most recently created Step, useful if you want to find out what step failed. diff --git a/TABTestKit/Classes/Biometrics/Biometrics.h b/TABTestKit/Classes/Biometrics/Biometrics.h index f63acb0c..0631367b 100755 --- a/TABTestKit/Classes/Biometrics/Biometrics.h +++ b/TABTestKit/Classes/Biometrics/Biometrics.h @@ -3,7 +3,7 @@ // TABTestKit // // Created by Kane Cheshire on 31/10/2018. -// Copyright © 2018 The App Business. All rights reserved. +// Copyright © 2018 Kin + Carta. All rights reserved. // #import diff --git a/TABTestKit/Classes/Biometrics/Biometrics.m b/TABTestKit/Classes/Biometrics/Biometrics.m index 91e72994..ec2c89e0 100755 --- a/TABTestKit/Classes/Biometrics/Biometrics.m +++ b/TABTestKit/Classes/Biometrics/Biometrics.m @@ -3,7 +3,7 @@ // TABTestKit // // Created by Kane Cheshire on 31/10/2018. -// Copyright © 2018 The App Business. All rights reserved. +// Copyright © 2018 Kin + Carta. All rights reserved. // #import "Biometrics.h" diff --git a/TABTestKit/Classes/TABTestCase.swift b/TABTestKit/Classes/TABTestCase.swift index 15d9d935..bbbef872 100644 --- a/TABTestKit/Classes/TABTestCase.swift +++ b/TABTestKit/Classes/TABTestCase.swift @@ -5,7 +5,7 @@ // The MIT License (MIT) // // Created by Zachary Borrelli on 14/09/2017. -// Copyright © 2017 The App Business LTD. All rights reserved. +// Copyright © 2017 Kin + Carta. All rights reserved. // import XCTest diff --git a/TABTestKit/Supporting Files/TABTestKit.h b/TABTestKit/Supporting Files/TABTestKit.h index 36cf522c..d1b7ca59 100644 --- a/TABTestKit/Supporting Files/TABTestKit.h +++ b/TABTestKit/Supporting Files/TABTestKit.h @@ -3,7 +3,7 @@ // TABTestKit // // Created by Roger Tan on 04/12/2019. -// Copyright © 2019 The App Business. All rights reserved. +// Copyright © 2019 Kin + Carta. All rights reserved. // #import From 6958ce058e5a33c00300257d3659b2cfedf34cce Mon Sep 17 00:00:00 2001 From: Nick Hegarty Date: Thu, 23 Jul 2020 11:30:08 +0100 Subject: [PATCH 026/103] Updating email for Suyash --- Example/Pods/Local Podspecs/TABTestKit.podspec.json | 2 +- README.md | 2 +- TABTestKit.podspec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Example/Pods/Local Podspecs/TABTestKit.podspec.json b/Example/Pods/Local Podspecs/TABTestKit.podspec.json index 3a15435d..1030cbfb 100644 --- a/Example/Pods/Local Podspecs/TABTestKit.podspec.json +++ b/Example/Pods/Local Podspecs/TABTestKit.podspec.json @@ -10,7 +10,7 @@ "authors": { "zacoid55": "zac.borrelli@kinandcarta.com", "KaneCheshire": "kane.cheshire@kinandcarta.com", - "theblixguy": "suyash.srijan@theappbusiness.com", + "theblixguy": "suyash.srijan@kinandcarta.com", "neil3079": "neil.horton@kinandcarta.com" }, "source": { diff --git a/README.md b/README.md index 469f50ba..93c7825a 100644 --- a/README.md +++ b/README.md @@ -1902,7 +1902,7 @@ Guidelines for contributing can be found [here](CONTRIBUTING.md). Neil Horton, neil.horton@kinandcarta.com, https://github.com/neil3079 Zachary Borrelli, zac.borrelli@kinandcarta.com, https://github.com/zacoid55 Kane Cheshire, kane.cheshire@kinandcarta.com, https://github.com/kanecheshire -Suyash Srijan, suyash.srijan@theappbuisness.com, https://github.com/theblixguy +Suyash Srijan, suyash.srijan@kinandcarta.com, https://github.com/theblixguy ## License diff --git a/TABTestKit.podspec b/TABTestKit.podspec index 298f63cc..a7f67179 100644 --- a/TABTestKit.podspec +++ b/TABTestKit.podspec @@ -6,7 +6,7 @@ Pod::Spec.new do |s| s.license = { :type => 'MIT', :file => 'LICENSE' } s.authors = { 'zacoid55' => 'zac.borrelli@kinandcarta.com', 'KaneCheshire' => 'kane.cheshire@kinandcarta.com', - 'theblixguy' => 'suyash.srijan@theappbusiness.com', + 'theblixguy' => 'suyash.srijan@kinandcarta.com', 'neil3079' => 'neil.horton@kinandcarta.com' } s.source = { :git => 'https://github.com/theappbusiness/TABTestKit.git', :tag => s.version.to_s } s.ios.deployment_target = '12.4' From 367553acfef48617740299c9621c055b3948d9ad Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Thu, 23 Jul 2020 12:51:15 +0200 Subject: [PATCH 027/103] Temp fix: increasing the timeout to 30s for .runningBackgroundSuspended for iOS 12 --- TABTestKit/Classes/Apps/BaseApp.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TABTestKit/Classes/Apps/BaseApp.swift b/TABTestKit/Classes/Apps/BaseApp.swift index b147eaeb..314098d6 100644 --- a/TABTestKit/Classes/Apps/BaseApp.swift +++ b/TABTestKit/Classes/Apps/BaseApp.swift @@ -32,7 +32,7 @@ open class BaseApp: XCUIApplication { if #available(iOS 13.0, *) { // https://github.com/theappbusiness/TABTestKit/issues/67 XCTAssertTrue(wait(for: .runningBackground, timeout: 10), "Failed waiting for app to become .runningBackground") } else { - XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 10), "Failed waiting for app to become .runningBackgroundSuspended") + XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 30), "Failed waiting for app to become .runningBackgroundSuspended") } } From 3afd21a0ab9ab33ea5f8b9496965233bcb18368b Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Thu, 23 Jul 2020 13:39:21 +0200 Subject: [PATCH 028/103] Label func was added to Interaction Context --- TABTestKit/Classes/Contexts/InteractionContext.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/TABTestKit/Classes/Contexts/InteractionContext.swift b/TABTestKit/Classes/Contexts/InteractionContext.swift index 6400daef..6dcda89e 100644 --- a/TABTestKit/Classes/Contexts/InteractionContext.swift +++ b/TABTestKit/Classes/Contexts/InteractionContext.swift @@ -68,6 +68,10 @@ public extension InteractionContext { XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.value == expectedValue), "Element did not have the right value before timing out! Expected: \(expectedValue), actual: \(element.value)") } + func label(of element: Element, is expectedLabel: String) { + XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.label == expectedLabel), "Element did not have the right label before timing out! Expected: \(expectedLabel), actual: \(element.label)") + } + func adjust(_ element: AdjustableElement, to newValue: AdjustableElement.Value) { element.adjust(to: newValue) } From d248eca110d69a834b10a65e0e716452525dd059 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Thu, 23 Jul 2020 16:58:58 +0200 Subject: [PATCH 029/103] Adding a few statments using func label(of: , is: ) --- Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift | 1 + Example/TABTestKit_ExampleUITests/CollectionViewTests.swift | 1 + Example/TABTestKit_ExampleUITests/OtherElementsTests.swift | 1 + Example/TABTestKit_ExampleUITests/TableTests.swift | 1 + 4 files changed, 4 insertions(+) diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift index 94f5d609..d147c36d 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift @@ -13,6 +13,7 @@ var collectionViewScreen = CollectionViewScreen() struct CollectionViewScreen: ScrollableScreen { let trait = CollectionView() + let header = Header(id: "Collection") lazy var firstCell = trait.cell(matchingID: "CollectionCell 0") lazy var lastCell = trait.cell(matchingID: "CollectionCell 49") diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift index bd80430f..b0d6b5e2 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift @@ -20,6 +20,7 @@ final class CollectionViewTests: TABTestCase, SystemPreferencesContext { Given(I: complete(biometricLoginScreen)) When(I: tap(tabBarScreen.collectionTabBarButton)) Then(I: see(collectionViewScreen)) + And(the: label(of: collectionViewScreen.header, is: "Collection")) } Scenario("Scrolling until the first cell is hidden") { diff --git a/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift b/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift index 5adb8f91..9d8a8e4c 100644 --- a/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift +++ b/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift @@ -21,6 +21,7 @@ final class OtherElementsTests: TABTestCase, SystemPreferencesContext { And(I: see(tabBarScreen)) When(I: tap(tabBarScreen.otherTabBarButton)) Then(I: see(otherElementsScreen)) + And(the: label(of: otherElementsScreen.trait, is: "Other elements")) } Scenario("Seeing the label and button") { diff --git a/Example/TABTestKit_ExampleUITests/TableTests.swift b/Example/TABTestKit_ExampleUITests/TableTests.swift index 94d6523b..d0e9b449 100644 --- a/Example/TABTestKit_ExampleUITests/TableTests.swift +++ b/Example/TABTestKit_ExampleUITests/TableTests.swift @@ -31,6 +31,7 @@ final class TableTests: TABTestCase, SystemPreferencesContext { And(I: scroll(tableScreen, .downwards, until: tableScreen.lastCell, is: .visible)) When(I: tap(tableScreen.lastCell)) Then(I: see(tableSelectionScreen)) + And(the: label(of: tableSelectionScreen.navBar.header, is: "Row 14 section 1")) And(the: value(of: tableSelectionScreen.navBar.header, is: "Row 14 section 1")) } } From 03718c84ed59b4af0be1ab79aafb0ae765cd3db4 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Thu, 23 Jul 2020 18:11:59 +0200 Subject: [PATCH 030/103] Temp fix: increasing the timeout to 3min for .runningBackgroundSuspended for iOS 12 --- TABTestKit/Classes/Apps/BaseApp.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TABTestKit/Classes/Apps/BaseApp.swift b/TABTestKit/Classes/Apps/BaseApp.swift index 314098d6..7c19d59b 100644 --- a/TABTestKit/Classes/Apps/BaseApp.swift +++ b/TABTestKit/Classes/Apps/BaseApp.swift @@ -32,7 +32,7 @@ open class BaseApp: XCUIApplication { if #available(iOS 13.0, *) { // https://github.com/theappbusiness/TABTestKit/issues/67 XCTAssertTrue(wait(for: .runningBackground, timeout: 10), "Failed waiting for app to become .runningBackground") } else { - XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 30), "Failed waiting for app to become .runningBackgroundSuspended") + XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 180), "Failed waiting for app to become .runningBackgroundSuspended") } } From 9127d1e70571bfaa4b132d0d1d9396046377f393 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Fri, 24 Jul 2020 11:25:22 +0200 Subject: [PATCH 031/103] Temp fix: Checking .runningBackground from iOS 12.4 --- TABTestKit/Classes/Apps/BaseApp.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TABTestKit/Classes/Apps/BaseApp.swift b/TABTestKit/Classes/Apps/BaseApp.swift index 7c19d59b..77f1773c 100644 --- a/TABTestKit/Classes/Apps/BaseApp.swift +++ b/TABTestKit/Classes/Apps/BaseApp.swift @@ -29,10 +29,10 @@ open class BaseApp: XCUIApplication { /// "Backgrounds" the app, waiting for the state to be suspended before continuing. open func background() { XCUIDevice.shared.press(.home) - if #available(iOS 13.0, *) { // https://github.com/theappbusiness/TABTestKit/issues/67 + if #available(iOS 12.4, *) { // https://github.com/theappbusiness/TABTestKit/issues/67 XCTAssertTrue(wait(for: .runningBackground, timeout: 10), "Failed waiting for app to become .runningBackground") } else { - XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 180), "Failed waiting for app to become .runningBackgroundSuspended") + XCTAssertTrue(wait(for: .runningBackgroundSuspended, timeout: 10), "Failed waiting for app to become .runningBackgroundSuspended") } } From 5e2b6658fe4033ba44431519cb5254594935e594 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Fri, 24 Jul 2020 16:22:12 +0200 Subject: [PATCH 032/103] Refactoring the func name --- .../BiometricLogin_HappyPathTests.swift | 2 +- TABTestKit/Classes/Contexts/AppContext.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift index f0015748..57ac8c12 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift @@ -27,7 +27,7 @@ final class BiometricLogin_HappyPathTests: TABTestCase, SystemPreferencesContext Scenario("Relaunching the app") { Given(I: doNotSee(biometricLoginScreen)) When(I: relaunchTheApp) - Then(I: amBackToTABTestKitExampleApp) + Then(I: goBackToTABTestKitExampleApp) And(I: see(biometricLoginScreen)) } } diff --git a/TABTestKit/Classes/Contexts/AppContext.swift b/TABTestKit/Classes/Contexts/AppContext.swift index 7ecfccb9..ff5fa57f 100644 --- a/TABTestKit/Classes/Contexts/AppContext.swift +++ b/TABTestKit/Classes/Contexts/AppContext.swift @@ -37,7 +37,7 @@ public extension AppContext { launchTheApp(clean: false) } - func amBackToTABTestKitExampleApp() { + func goBackToTABTestKitExampleApp() { XCTAssertEqual(App.shared.name, "TABTestKit_Example") } From 64876a04fbedce7c9e9e3863713e938f06ace172 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Mon, 27 Jul 2020 11:50:06 +0200 Subject: [PATCH 033/103] Added refreshable protocol, refresh func in InteractionContext, defined refresh func, added Refresh collectionViewScreen Test --- Example/Pods/Pods.xcodeproj/project.pbxproj | 24 ++++++++++--------- .../CollectionViewScreen.swift | 5 +++- .../CollectionViewTests.swift | 6 +++++ .../Classes/Contexts/InteractionContext.swift | 4 ++++ .../Classes/Protocols/Refreshable.swift | 18 ++++++++++++++ 5 files changed, 45 insertions(+), 12 deletions(-) create mode 100644 TABTestKit/Classes/Protocols/Refreshable.swift diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 0c9ed3dc..017d2884 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -31,6 +31,7 @@ 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 299D4F6309CC23F31E5C5D95A7E02A33 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63272E25FC5DEBFFD3F137ED371F0D90 /* Header.swift */; }; 2AF359640A0A777754A7122D53882BD2 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 155E5165E39832CF08C9E5E5D642CD08 /* BiometricsContext.swift */; }; + 2DD2070024CED10B008E65A4 /* Refreshable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD206FF24CED10B008E65A4 /* Refreshable.swift */; }; 2DDFB2BDB67835155F363681B96D2C2F /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = A17837D9953239F8933ECEE37F0DB79B /* Table.swift */; }; 37A732C41F0A423218BB88950B8597E5 /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45CCC7C69B41A0DA6942BD8B907F63C4 /* XCTFatalFail.swift */; }; 385CE3D437C12BCFCF18F14D148A9DBE /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DDACB58E6AB184EFE630C5EAAC305B4 /* XCUIElement+isVisible.swift */; }; @@ -127,24 +128,25 @@ 1A99B929B0E035D592DF40B175841A97 /* AlertContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; 1BC7134C98869DCC38DAF1BFB921CB52 /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; 1CB830EB632DA8DED42D4E33C4E59DD9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh"; sourceTree = ""; }; - 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ShowTime.framework; path = ShowTime.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ShowTime.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 25F3D68A1C533976A44258E21892AEEA /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-dummy.m"; sourceTree = ""; }; 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3237DEBB9F9F00BA6ADAD8AB37692BCA /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 2DD206FF24CED10B008E65A4 /* Refreshable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Refreshable.swift; sourceTree = ""; }; + 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3237DEBB9F9F00BA6ADAD8AB37692BCA /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 34EA09ECE216F225AA7DF4026825C436 /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; 366F78B316A5AB871D08711543B5D327 /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; 375B8CB1A95AB6606CEED0785F6133B5 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; 37920B45A37AC84496A9227EEE614B1C /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; 37E7367E2677A52235FB4AFB9EF1C14A /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; - 3840AEBC3E328CF44392723CF4428C0A /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 3840AEBC3E328CF44392723CF4428C0A /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 45CCC7C69B41A0DA6942BD8B907F63C4 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; 4624ECFF75E5BD892DE3EF61A198D4A2 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; 4724B710F05C3626A7EE8C13C0599AF9 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; 49A38A5986EC7A2C2950A75F7523E23D /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; 506797A95FEFB2CBA340B84C537418A3 /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; - 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example.framework; path = "Pods-TABTestKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TABTestKit_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 51E047AEE74B13C86C26E25A3CF9801A /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; 52A5B8061DFF2E15F95CC4EB659E58FC /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; @@ -154,7 +156,7 @@ 569BA595F08DF86F9182E5974B5DB830 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; 58F3C0B870A0CAD771B2D53933977162 /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; 593642291D278E7C793517C981CCCDDD /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; - 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = TABTestKit.framework; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 5EA7DCE018C6D76F961CB21C8379D955 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; 61E92431E861AC13BB1E0BBF9C1C9705 /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; 63183B1C42462E5C8F1ED91AF4E9322C /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; @@ -186,7 +188,7 @@ 9A2F3282DB84E24F73123E0FA1C17554 /* XCUIElement+wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; 9C6654B57C87D13720D1868CC9ACA277 /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-umbrella.h"; sourceTree = ""; }; A17837D9953239F8933ECEE37F0DB79B /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; A1E005CF4D8327F4752B035CDBCC4AD9 /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; @@ -216,7 +218,7 @@ D46E26BF860B4679BAC97AC87E4252C0 /* Dismissable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; D5ACDC4DF45BDABD2EE0F96FB47A4127 /* CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShowTime.swift; sourceTree = ""; }; - DE9E0BDEE013BB9D26DB57DBAC454B7C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + DE9E0BDEE013BB9D26DB57DBAC454B7C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; E3A5EF924372D0BF1C9337CD6E3F256D /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; E488FF0E641054C5E47F83DF51B566A8 /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; E82689663AAEB700A8CB02F848ABF64A /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; @@ -470,7 +472,6 @@ D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */, 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */, ); - name = ShowTime; path = ShowTime; sourceTree = ""; }; @@ -511,6 +512,7 @@ D46E26BF860B4679BAC97AC87E4252C0 /* Dismissable.swift */, C5A16F13BFBEC8758A169A96F7DCB0A5 /* Editable.swift */, 6C1D2F317F03EEAABA532C9B5135951B /* Element.swift */, + 2DD206FF24CED10B008E65A4 /* Refreshable.swift */, 886869886B1BAE50408F5B03064FF0A5 /* Screen.swift */, 79866312168D65F43B4E475D950F5658 /* Scrollable.swift */, 9962737325D2EE2B37C76F72FC176DC8 /* ScrollableScreen.swift */, @@ -806,6 +808,7 @@ 2DDFB2BDB67835155F363681B96D2C2F /* Table.swift in Sources */, 62B6BF67E74E645C90049BBE1E230A12 /* TABTestCase.swift in Sources */, 92143C49FB13517B228D2A13C020BD89 /* TABTestKit-dummy.m in Sources */, + 2DD2070024CED10B008E65A4 /* Refreshable.swift in Sources */, A9808686B93329E6FCF3ED520D55A6F8 /* Tappable.swift in Sources */, F0B8A40FDBAE033E0558E32C1E0AC593 /* TextField.swift in Sources */, A262B0D22D6E0B9F7AC7F4E5E1C55383 /* TextView.swift in Sources */, @@ -1152,8 +1155,7 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift index 94f5d609..6d4ca34d 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift @@ -10,10 +10,13 @@ import TABTestKit var collectionViewScreen = CollectionViewScreen() -struct CollectionViewScreen: ScrollableScreen { +struct CollectionViewScreen: ScrollableScreen, Refreshable { let trait = CollectionView() lazy var firstCell = trait.cell(matchingID: "CollectionCell 0") lazy var lastCell = trait.cell(matchingID: "CollectionCell 49") + func refresh() { + trait.scroll(.upwards)// Pull the table down to refresh + } } diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift index bd80430f..90ec8195 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift @@ -22,6 +22,12 @@ final class CollectionViewTests: TABTestCase, SystemPreferencesContext { Then(I: see(collectionViewScreen)) } + Scenario("Refreshing collectionViewScreen") { + Given(I: see(collectionViewScreen)) + When(I: refresh(collectionViewScreen)) + Then(I: see(collectionViewScreen)) + } + Scenario("Scrolling until the first cell is hidden") { Given(the: state(of: collectionViewScreen.firstCell, is: .visible)) When(I: scroll(collectionViewScreen, .from(.middle, to: .top), until: collectionViewScreen.lastCell, is: .exists, .visibleIn(collectionViewScreen.trait))) diff --git a/TABTestKit/Classes/Contexts/InteractionContext.swift b/TABTestKit/Classes/Contexts/InteractionContext.swift index 6400daef..92e20de2 100644 --- a/TABTestKit/Classes/Contexts/InteractionContext.swift +++ b/TABTestKit/Classes/Contexts/InteractionContext.swift @@ -72,4 +72,8 @@ public extension InteractionContext { element.adjust(to: newValue) } + func refresh(_ refreshableThing: Refreshable) { + refreshableThing.refresh() + } + } diff --git a/TABTestKit/Classes/Protocols/Refreshable.swift b/TABTestKit/Classes/Protocols/Refreshable.swift new file mode 100644 index 00000000..386dcd72 --- /dev/null +++ b/TABTestKit/Classes/Protocols/Refreshable.swift @@ -0,0 +1,18 @@ +// +// Refreshable.swift +// TABTestKit +// +// Created by Anna Piktas on 27/07/2020. +// + +import Foundation + +/// Represents something that is refreshable. +/// Typically you'd make an element that can be refreshed conform to this protocol, +/// and then perform whatever needs to be performed for a "happy path" for that screen. >>>>>>TBC +public protocol Refreshable { + + func refresh() + +} + From a37f72452b10602e34e92b49400c0814ca16659f Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Mon, 27 Jul 2020 12:56:45 +0200 Subject: [PATCH 034/103] Refactoring --- .../TABTestKit_ExampleUITests/CollectionViewScreen.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift index 6d4ca34d..ee8b6891 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift @@ -10,12 +10,16 @@ import TABTestKit var collectionViewScreen = CollectionViewScreen() -struct CollectionViewScreen: ScrollableScreen, Refreshable { +struct CollectionViewScreen: ScrollableScreen { let trait = CollectionView() lazy var firstCell = trait.cell(matchingID: "CollectionCell 0") lazy var lastCell = trait.cell(matchingID: "CollectionCell 49") +} + +extension CollectionViewScreen: Refreshable { + func refresh() { trait.scroll(.upwards)// Pull the table down to refresh } From ad28671901e4d4df717755c995bea3ae3d37c803 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Mon, 27 Jul 2020 13:03:19 +0200 Subject: [PATCH 035/103] Test assertion change --- Example/TABTestKit_ExampleUITests/CollectionViewTests.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift index 90ec8195..48f50588 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift @@ -25,7 +25,7 @@ final class CollectionViewTests: TABTestCase, SystemPreferencesContext { Scenario("Refreshing collectionViewScreen") { Given(I: see(collectionViewScreen)) When(I: refresh(collectionViewScreen)) - Then(I: see(collectionViewScreen)) + Then(the: state(of: collectionViewScreen.firstCell, is: .visible)) } Scenario("Scrolling until the first cell is hidden") { From ac79bfbd371a9dbca2d3907e5531e6acc9f016b8 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Mon, 27 Jul 2020 15:32:17 +0200 Subject: [PATCH 036/103] Adding refresh func to table screen and refesh table test --- .../CollectionViewScreen.swift | 7 ++++--- .../CollectionViewTests.swift | 2 +- .../TABTestKit_ExampleUITests/TableScreen.swift | 8 ++++++-- Example/TABTestKit_ExampleUITests/TableTests.swift | 14 ++++++++++++-- TABTestKit/Classes/Protocols/Refreshable.swift | 4 ++-- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift index ee8b6891..719f2d34 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift @@ -20,7 +20,8 @@ struct CollectionViewScreen: ScrollableScreen { extension CollectionViewScreen: Refreshable { - func refresh() { - trait.scroll(.upwards)// Pull the table down to refresh - } + func refresh() { + // Pull the collection view down to refresh + trait.scroll(.upwards) + } } diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift index 48f50588..6c908187 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift @@ -22,7 +22,7 @@ final class CollectionViewTests: TABTestCase, SystemPreferencesContext { Then(I: see(collectionViewScreen)) } - Scenario("Refreshing collectionViewScreen") { + Scenario("Refreshing the collection view screen") { Given(I: see(collectionViewScreen)) When(I: refresh(collectionViewScreen)) Then(the: state(of: collectionViewScreen.firstCell, is: .visible)) diff --git a/Example/TABTestKit_ExampleUITests/TableScreen.swift b/Example/TABTestKit_ExampleUITests/TableScreen.swift index b875a07e..55336113 100644 --- a/Example/TABTestKit_ExampleUITests/TableScreen.swift +++ b/Example/TABTestKit_ExampleUITests/TableScreen.swift @@ -26,12 +26,16 @@ struct TableScreen: Screen { } -extension TableScreen: Scrollable { +extension TableScreen: Scrollable, Refreshable { func scroll(_ direction: ElementAttributes.Direction) { table.scroll(direction) } - + + func refresh() { + // Pull the table down to refresh + table.scroll(.upwards) + } } diff --git a/Example/TABTestKit_ExampleUITests/TableTests.swift b/Example/TABTestKit_ExampleUITests/TableTests.swift index 94d6523b..5712bbc8 100644 --- a/Example/TABTestKit_ExampleUITests/TableTests.swift +++ b/Example/TABTestKit_ExampleUITests/TableTests.swift @@ -16,9 +16,19 @@ final class TableTests: TABTestCase, SystemPreferencesContext { } func test_table() { + Scenario("Logging in with biometrics and landing on table screen") { + Given(I: see(biometricLoginScreen)) + When(I: complete(biometricLoginScreen)) + Then(I: see(tableScreen)) + } + + Scenario("Refreshing the table screen") { + Given(I: see(tableScreen)) + When(I: refresh(tableScreen)) + Then(the: state(of: tableScreen.section0Header, is: .visible)) + } + Scenario("Tapping on a cell in the first section and seeing the detail screen") { - Given(I: complete(biometricLoginScreen)) - When(I: see(tableScreen)) And(I: see(tableScreen.section0Header)) When(I: tap(tableScreen.table.cell(index: 0))) Then(I: see(tableSelectionScreen)) diff --git a/TABTestKit/Classes/Protocols/Refreshable.swift b/TABTestKit/Classes/Protocols/Refreshable.swift index 386dcd72..d65cf460 100644 --- a/TABTestKit/Classes/Protocols/Refreshable.swift +++ b/TABTestKit/Classes/Protocols/Refreshable.swift @@ -8,8 +8,8 @@ import Foundation /// Represents something that is refreshable. -/// Typically you'd make an element that can be refreshed conform to this protocol, -/// and then perform whatever needs to be performed for a "happy path" for that screen. >>>>>>TBC +/// Typically you'd make a screen that can be refreshed conform to this protocol, +/// and then perform whatever needs to be performed for a "happy path" for that screen. public protocol Refreshable { func refresh() From 2a5ae8131b0b1b0b0f52a3ab25608598ed07dee9 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Mon, 27 Jul 2020 15:43:49 +0200 Subject: [PATCH 037/103] Indentation fix --- Example/TABTestKit_ExampleUITests/TableTests.swift | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/TableTests.swift b/Example/TABTestKit_ExampleUITests/TableTests.swift index 5712bbc8..abf95dab 100644 --- a/Example/TABTestKit_ExampleUITests/TableTests.swift +++ b/Example/TABTestKit_ExampleUITests/TableTests.swift @@ -23,9 +23,9 @@ final class TableTests: TABTestCase, SystemPreferencesContext { } Scenario("Refreshing the table screen") { - Given(I: see(tableScreen)) - When(I: refresh(tableScreen)) - Then(the: state(of: tableScreen.section0Header, is: .visible)) + Given(I: see(tableScreen)) + When(I: refresh(tableScreen)) + Then(the: state(of: tableScreen.section0Header, is: .visible)) } Scenario("Tapping on a cell in the first section and seeing the detail screen") { From 8d9714c27edcc1f2caea85ded3db32b935d60cc5 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Tue, 28 Jul 2020 09:26:03 +0200 Subject: [PATCH 038/103] Refactoring --- Example/TABTestKit.xcodeproj/project.pbxproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Example/TABTestKit.xcodeproj/project.pbxproj b/Example/TABTestKit.xcodeproj/project.pbxproj index 162b0a9d..741d940b 100644 --- a/Example/TABTestKit.xcodeproj/project.pbxproj +++ b/Example/TABTestKit.xcodeproj/project.pbxproj @@ -649,6 +649,7 @@ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = PR289YX2Y5; INFOPLIST_FILE = TABTestKit_ExampleUITests/Info.plist; From 313ba02b05c1fd2232a5501596c62fff7d77159b Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Tue, 28 Jul 2020 11:16:55 +0200 Subject: [PATCH 039/103] Update project.pbxproj Resolving failing travis tests. --- Example/TABTestKit.xcodeproj/project.pbxproj | 1 - 1 file changed, 1 deletion(-) diff --git a/Example/TABTestKit.xcodeproj/project.pbxproj b/Example/TABTestKit.xcodeproj/project.pbxproj index 741d940b..162b0a9d 100644 --- a/Example/TABTestKit.xcodeproj/project.pbxproj +++ b/Example/TABTestKit.xcodeproj/project.pbxproj @@ -649,7 +649,6 @@ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = PR289YX2Y5; INFOPLIST_FILE = TABTestKit_ExampleUITests/Info.plist; From 1629593fcf24a5edca7c9af30b4c3ee4ac738294 Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Tue, 28 Jul 2020 12:13:57 +0200 Subject: [PATCH 040/103] Update project.pbxproj --- Example/Pods/Pods.xcodeproj/project.pbxproj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 017d2884..ec59edb0 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -876,7 +876,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ALWAYS_EMBED_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -964,7 +964,8 @@ PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; From 5f8148bdcae4bc5161a8f76090dba84cc59fe1f7 Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Tue, 28 Jul 2020 12:19:33 +0200 Subject: [PATCH 041/103] Update project.pbxproj Fixing failing travis test --- Example/Pods/Pods.xcodeproj/project.pbxproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index ec59edb0..3b0c3608 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -964,8 +964,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; @@ -1156,7 +1155,8 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; From 9510d99a17bfa777c72ca15f0f2f1a2b71deca97 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Tue, 28 Jul 2020 17:58:09 +0200 Subject: [PATCH 042/103] Added Refreshable protocol to Main Frame --- Example/TABTestKit.xcodeproj/project.pbxproj | 5 ++--- TABTestKit.xcodeproj/project.pbxproj | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Example/TABTestKit.xcodeproj/project.pbxproj b/Example/TABTestKit.xcodeproj/project.pbxproj index 162b0a9d..dd4d9381 100644 --- a/Example/TABTestKit.xcodeproj/project.pbxproj +++ b/Example/TABTestKit.xcodeproj/project.pbxproj @@ -307,7 +307,6 @@ }; 70FEA77B1F6AC29400633C5C = { CreatedOnToolsVersion = 8.3.3; - DevelopmentTeam = PR289YX2Y5; LastSwiftMigration = 1020; ProvisioningStyle = Automatic; TestTargetID = 607FACCF1AFB9204008FA782; @@ -650,7 +649,7 @@ CLANG_ENABLE_MODULES = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = PR289YX2Y5; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = TABTestKit_ExampleUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.theappbusiness.TABTestKit-ExampleUITests"; @@ -670,7 +669,7 @@ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - DEVELOPMENT_TEAM = PR289YX2Y5; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = TABTestKit_ExampleUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.theappbusiness.TABTestKit-ExampleUITests"; diff --git a/TABTestKit.xcodeproj/project.pbxproj b/TABTestKit.xcodeproj/project.pbxproj index c644508c..40306421 100644 --- a/TABTestKit.xcodeproj/project.pbxproj +++ b/TABTestKit.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 2DEC7C4924D0822D00545C45 /* Refreshable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DEC7C4824D0822D00545C45 /* Refreshable.swift */; }; 70D1C4DD24BDEFE70047A2EB /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D1C4DC24BDEFE70047A2EB /* Image.swift */; }; 9536C80D2412A7D100D4B362 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9536C80C2412A7D100D4B362 /* ActivitySheet.swift */; }; 957289A72481452C00DBC55D /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957289A62481452C00DBC55D /* Icon.swift */; }; @@ -81,6 +82,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 2DEC7C4824D0822D00545C45 /* Refreshable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Refreshable.swift; sourceTree = ""; }; 70D1C4DC24BDEFE70047A2EB /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; 9536C80C2412A7D100D4B362 /* ActivitySheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; 957289A62481452C00DBC55D /* Icon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; @@ -318,6 +320,7 @@ 95D471B22397C8C1002BEFCA /* Dismissable.swift */, 95D471B52397C8C1002BEFCA /* Editable.swift */, 95D471B32397C8C1002BEFCA /* Element.swift */, + 2DEC7C4824D0822D00545C45 /* Refreshable.swift */, 95D471B62397C8C1002BEFCA /* Screen.swift */, 95D471AF2397C8C1002BEFCA /* Scrollable.swift */, 95D471B82397C8C1002BEFCA /* ScrollableScreen.swift */, @@ -453,6 +456,7 @@ 95D471FB2397C8C1002BEFCA /* Completable.swift in Sources */, 95D471E52397C8C1002BEFCA /* TextField.swift in Sources */, 95D472022397C8C1002BEFCA /* ScrollableScreen.swift in Sources */, + 2DEC7C4924D0822D00545C45 /* Refreshable.swift in Sources */, 95D471FE2397C8C1002BEFCA /* Adjustable.swift in Sources */, 95D471E12397C8C1002BEFCA /* Table.swift in Sources */, 95EB8E58239E4CC7007336E8 /* Scenario.swift in Sources */, From 6833e5e5e7951bd1a09d620bc027e1a3b9c27c7e Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Wed, 29 Jul 2020 10:49:20 +0200 Subject: [PATCH 043/103] Update project.pbxproj Re adding 'DevelopmentTeam = PR289YX2Y5' --- Example/TABTestKit.xcodeproj/project.pbxproj | 1 + 1 file changed, 1 insertion(+) diff --git a/Example/TABTestKit.xcodeproj/project.pbxproj b/Example/TABTestKit.xcodeproj/project.pbxproj index dd4d9381..b570d3ce 100644 --- a/Example/TABTestKit.xcodeproj/project.pbxproj +++ b/Example/TABTestKit.xcodeproj/project.pbxproj @@ -307,6 +307,7 @@ }; 70FEA77B1F6AC29400633C5C = { CreatedOnToolsVersion = 8.3.3; + DevelopmentTeam = PR289YX2Y5; LastSwiftMigration = 1020; ProvisioningStyle = Automatic; TestTargetID = 607FACCF1AFB9204008FA782; From 53192fddf89abe4fdcdf783655310afa8df79f7e Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Wed, 29 Jul 2020 10:52:21 +0200 Subject: [PATCH 044/103] Update project.pbxproj Re adding DEVELOPMENT_TEAM = PR289YX2Y5; --- Example/TABTestKit.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Example/TABTestKit.xcodeproj/project.pbxproj b/Example/TABTestKit.xcodeproj/project.pbxproj index b570d3ce..162b0a9d 100644 --- a/Example/TABTestKit.xcodeproj/project.pbxproj +++ b/Example/TABTestKit.xcodeproj/project.pbxproj @@ -650,7 +650,7 @@ CLANG_ENABLE_MODULES = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = PR289YX2Y5; INFOPLIST_FILE = TABTestKit_ExampleUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.theappbusiness.TABTestKit-ExampleUITests"; @@ -670,7 +670,7 @@ CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = PR289YX2Y5; INFOPLIST_FILE = TABTestKit_ExampleUITests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.theappbusiness.TABTestKit-ExampleUITests"; From 559988d43a34888031998c2f031122793c4c46f0 Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Wed, 29 Jul 2020 11:01:32 +0200 Subject: [PATCH 045/103] Update InteractionContext.swift The indentation is now aligned. --- .../Classes/Contexts/InteractionContext.swift | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/TABTestKit/Classes/Contexts/InteractionContext.swift b/TABTestKit/Classes/Contexts/InteractionContext.swift index 6dcda89e..cd89deba 100644 --- a/TABTestKit/Classes/Contexts/InteractionContext.swift +++ b/TABTestKit/Classes/Contexts/InteractionContext.swift @@ -54,22 +54,22 @@ public extension InteractionContext { } } - func scroll(_ element: Scrollable, _ direction: ElementAttributes.Direction, until otherElement: Element, valueIs value: String, maxTries: Int = 10) { - var numberOfTries = 0 - repeat { - guard !(otherElement.value == value) else { return } - numberOfTries += 1 - element.scroll(direction) - } while numberOfTries <= maxTries - XCTFail("Ran of out tries (\(maxTries)) waiting for element to become \(value)") - } + func scroll(_ element: Scrollable, _ direction: ElementAttributes.Direction, until otherElement: Element, valueIs value: String, maxTries: Int = 10) { + var numberOfTries = 0 + repeat { + guard !(otherElement.value == value) else { return } + numberOfTries += 1 + element.scroll(direction) + } while numberOfTries <= maxTries + XCTFail("Ran of out tries (\(maxTries)) waiting for element to become \(value)") + } func value(of element: ElementWithValue, is expectedValue: ElementWithValue.Value) { XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.value == expectedValue), "Element did not have the right value before timing out! Expected: \(expectedValue), actual: \(element.value)") } func label(of element: Element, is expectedLabel: String) { - XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.label == expectedLabel), "Element did not have the right label before timing out! Expected: \(expectedLabel), actual: \(element.label)") + XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.label == expectedLabel), "Element did not have the right label before timing out! Expected: \(expectedLabel), actual: \(element.label)") } func adjust(_ element: AdjustableElement, to newValue: AdjustableElement.Value) { From 477c792c331cb05acc88071cd55c2ce3695ec696 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Wed, 29 Jul 2020 15:26:54 +0200 Subject: [PATCH 046/103] Addressed PR comment, scrolling to the top of the screen in refresh func --- Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift | 4 +++- Example/TABTestKit_ExampleUITests/TableScreen.swift | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift index 719f2d34..19bf6a1c 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift @@ -7,6 +7,7 @@ // import TABTestKit +import XCTest var collectionViewScreen = CollectionViewScreen() @@ -18,9 +19,10 @@ struct CollectionViewScreen: ScrollableScreen { } -extension CollectionViewScreen: Refreshable { +extension CollectionViewScreen: Refreshable, InteractionContext { func refresh() { + scroll(trait, .upwards, until: trait.cell(matchingID: "CollectionCell 0"), is: .visible) // Pull the collection view down to refresh trait.scroll(.upwards) } diff --git a/Example/TABTestKit_ExampleUITests/TableScreen.swift b/Example/TABTestKit_ExampleUITests/TableScreen.swift index 55336113..f1467c90 100644 --- a/Example/TABTestKit_ExampleUITests/TableScreen.swift +++ b/Example/TABTestKit_ExampleUITests/TableScreen.swift @@ -26,13 +26,14 @@ struct TableScreen: Screen { } -extension TableScreen: Scrollable, Refreshable { +extension TableScreen: Scrollable, Refreshable, InteractionContext { func scroll(_ direction: ElementAttributes.Direction) { table.scroll(direction) } func refresh() { + scroll(table, .upwards, until: section0Header, is: .visible) // Pull the table down to refresh table.scroll(.upwards) } From 6475c4c26d746efce51f523e897772e071ffb00a Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Wed, 29 Jul 2020 17:47:32 +0200 Subject: [PATCH 047/103] Adding indentation for Table and CollectionView screens and tests --- .../CollectionViewScreen.swift | 22 +- .../CollectionViewTests.swift | 58 ++-- .../OtherElementsTests.swift | 312 +++++++++--------- .../TableSelectionScreen.swift | 10 +- 4 files changed, 201 insertions(+), 201 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift index e95729ef..be44bdc5 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewScreen.swift @@ -12,19 +12,19 @@ import XCTest var collectionViewScreen = CollectionViewScreen() struct CollectionViewScreen: ScrollableScreen { - - let trait = CollectionView() - let header = Header(id: "Collection") - lazy var firstCell = trait.cell(matchingID: "CollectionCell 0") - lazy var lastCell = trait.cell(matchingID: "CollectionCell 49") - + + let trait = CollectionView() + let header = Header(id: "Collection") + lazy var firstCell = trait.cell(matchingID: "CollectionCell 0") + lazy var lastCell = trait.cell(matchingID: "CollectionCell 49") + } extension CollectionViewScreen: Refreshable, InteractionContext { - func refresh() { - scroll(trait, .upwards, until: trait.cell(matchingID: "CollectionCell 0"), is: .visible) - // Pull the collection view down to refresh - trait.scroll(.upwards) - } + func refresh() { + scroll(trait, .upwards, until: trait.cell(matchingID: "CollectionCell 0"), is: .visible) + // Pull the collection view down to refresh + trait.scroll(.upwards) + } } diff --git a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift index dbb3aaa7..7696053a 100644 --- a/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift +++ b/Example/TABTestKit_ExampleUITests/CollectionViewTests.swift @@ -9,38 +9,38 @@ import TABTestKit final class CollectionViewTests: TABTestCase, SystemPreferencesContext { - - override func preLaunchSetup(_ launch: @escaping () -> Void) { - resetAllPrivacyPrompts() - launch() - } - - func test_collectionView() { - Scenario("Completing biometric login and tapping the collection tab bar button") { - Given(I: complete(biometricLoginScreen)) - When(I: tap(tabBarScreen.collectionTabBarButton)) - Then(I: see(collectionViewScreen)) - And(the: label(of: collectionViewScreen.header, is: "Collection")) - } - Scenario("Refreshing the collection view screen") { - Given(I: see(collectionViewScreen)) - When(I: refresh(collectionViewScreen)) - Then(the: state(of: collectionViewScreen.firstCell, is: .visible)) + override func preLaunchSetup(_ launch: @escaping () -> Void) { + resetAllPrivacyPrompts() + launch() } - Scenario("Scrolling until the first cell is hidden") { - Given(the: state(of: collectionViewScreen.firstCell, is: .visible)) - When(I: scroll(collectionViewScreen, .from(.middle, to: .top), until: collectionViewScreen.lastCell, is: .exists, .visibleIn(collectionViewScreen.trait))) - Then(the: state(of: collectionViewScreen.firstCell, isNot: .exists)) + func test_collectionView() { + Scenario("Completing biometric login and tapping the collection tab bar button") { + Given(I: complete(biometricLoginScreen)) + When(I: tap(tabBarScreen.collectionTabBarButton)) + Then(I: see(collectionViewScreen)) + And(the: label(of: collectionViewScreen.header, is: "Collection")) + } + + Scenario("Refreshing the collection view screen") { + Given(I: see(collectionViewScreen)) + When(I: refresh(collectionViewScreen)) + Then(the: state(of: collectionViewScreen.firstCell, is: .visible)) + } + + Scenario("Scrolling until the first cell is hidden") { + Given(the: state(of: collectionViewScreen.firstCell, is: .visible)) + When(I: scroll(collectionViewScreen, .from(.middle, to: .top), until: collectionViewScreen.lastCell, is: .exists, .visibleIn(collectionViewScreen.trait))) + Then(the: state(of: collectionViewScreen.firstCell, isNot: .exists)) + } + + Scenario("Scrolling until the last cell is hidden") { + Given(the: state(of: collectionViewScreen.lastCell, is: .visible)) + When(I: scroll(collectionViewScreen, .from(.middle, to: .bottom), until: collectionViewScreen.lastCell, isNot: .exists)) + Then(the: state(of: collectionViewScreen.firstCell, isNot: .exists)) + And(the: state(of: collectionViewScreen.lastCell, isNot: .exists)) + } } - Scenario("Scrolling until the last cell is hidden") { - Given(the: state(of: collectionViewScreen.lastCell, is: .visible)) - When(I: scroll(collectionViewScreen, .from(.middle, to: .bottom), until: collectionViewScreen.lastCell, isNot: .exists)) - Then(the: state(of: collectionViewScreen.firstCell, isNot: .exists)) - And(the: state(of: collectionViewScreen.lastCell, isNot: .exists)) - } - } - } diff --git a/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift b/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift index 9d8a8e4c..06569c45 100644 --- a/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift +++ b/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift @@ -9,165 +9,165 @@ import TABTestKit final class OtherElementsTests: TABTestCase, SystemPreferencesContext { - - override func preLaunchSetup(_ launch: @escaping () -> Void) { - resetAllPrivacyPrompts() - launch() - } - - func test_otherElements() { - Scenario("Navigating to the screen with other elements") { - Given(I: complete(biometricLoginScreen)) - And(I: see(tabBarScreen)) - When(I: tap(tabBarScreen.otherTabBarButton)) - Then(I: see(otherElementsScreen)) - And(the: label(of: otherElementsScreen.trait, is: "Other elements")) - } - - Scenario("Seeing the label and button") { - Given(I: see(otherElementsScreen)) - And(I: see(otherElementsScreen.label)) - And(I: see(otherElementsScreen.button)) - When(I: tap(otherElementsScreen.button)) - Then(I: see(otherElementsScreen.shareSheet)) - } - - Scenario("Dismissing the share sheet") { - Given(I: see(otherElementsScreen.shareSheet)) - When(I: dismiss(otherElementsScreen.shareSheet)) - Then(I: doNotSee(otherElementsScreen.shareSheet)) - And(I: see(otherElementsScreen)) - } - - Scenario("Seeing and interacting with the segmented control") { - Given(I: see(otherElementsScreen.segmentedControl)) - Then(I: tap(otherElementsScreen.segmentedControl.button(withID: "Second"))) - And(the: state(of: otherElementsScreen.segmentedControl.button(withID: "First"), isNot: .selected)) - And(the: state(of: otherElementsScreen.segmentedControl.button(withID: "Second"), is: .selected)) - And(I: tap(otherElementsScreen.segmentedControl.button(withID: "Third"))) - And(the: state(of: otherElementsScreen.segmentedControl.button(withID: "Second"), isNot: .selected)) - And(the: state(of: otherElementsScreen.segmentedControl.button(withID: "Third"), is: .selected)) - } - - Scenario("Seeing and interacting with the text field") { - Given(I: see(otherElementsScreen.textField)) - And(the: state(of: otherElementsScreen.textField, isNot: .hasKeyboardFocus)) - Then(I: tap(otherElementsScreen.textField)) - And(the: state(of: otherElementsScreen.textField, is: .hasKeyboardFocus)) - And(I: type("Hello world", into: otherElementsScreen.textField)) - And(the: value(of: otherElementsScreen.textField, is: "Hello world")) - And(the: keyboardType(is: .regular)) - } - - Scenario("Number pad keyboard type") { - Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.numberPadTextField, is: .hittable)) - When(I: tap(otherElementsScreen.numberPadTextField)) - Then(the: state(of: otherElementsScreen.numberPadTextField, is: .hasKeyboardFocus)) - And(the: keyboardType(is: .numberPad)) - } - - Scenario("Decimal pad keyboard type") { - Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.decimalPadTextField, is: .hittable)) - When(I: tap(otherElementsScreen.decimalPadTextField)) - Then(the: state(of: otherElementsScreen.decimalPadTextField, is: .hasKeyboardFocus)) - And(the: keyboardType(is: .decimalPad)) - } - - Scenario("Email address keyboard type") { - Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.emailAddressTextField, is: .hittable)) - When(I: tap(otherElementsScreen.emailAddressTextField)) - Then(the: state(of: otherElementsScreen.emailAddressTextField, is: .hasKeyboardFocus)) - And(the: keyboardType(is: .emailAddress)) - } - - Scenario("Numbers and punctuation keyboard type") { - Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.numbersAndPunctuationTextField, is: .hittable)) - When(I: tap(otherElementsScreen.numbersAndPunctuationTextField)) - Then(the: state(of: otherElementsScreen.numbersAndPunctuationTextField, is: .hasKeyboardFocus)) - And(the: keyboardType(is: .numbersAndPunctuation)) - } - - Scenario("Phone pad keyboard type") { - Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.phonePadTextField, is: .hittable)) - When(I: tap(otherElementsScreen.phonePadTextField)) - Then(the: state(of: otherElementsScreen.phonePadTextField, is: .hasKeyboardFocus)) - And(the: keyboardType(is: .phonePad)) - } - - Scenario("Twitter keyboard type") { - Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.twitterTextField, is: .hittable)) - When(I: tap(otherElementsScreen.twitterTextField)) - Then(the: state(of: otherElementsScreen.twitterTextField, is: .hasKeyboardFocus)) - And(the: keyboardType(is: .twitter)) - } - - Scenario("URL keyboard type") { - Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.urlTextField, is: .hittable)) - When(I: tap(otherElementsScreen.urlTextField)) - Then(the: state(of: otherElementsScreen.urlTextField, is: .hasKeyboardFocus)) - And(the: keyboardType(is: .url)) - } - - Scenario("Web search keyboard type") { - Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.webSearchTextField, is: .hittable)) - When(I: tap(otherElementsScreen.webSearchTextField)) - Then(the: state(of: otherElementsScreen.webSearchTextField, is: .hasKeyboardFocus)) - And(the: keyboardType(is: .webSearch)) - } - - Scenario("Seeing and interacting with the secure text field") { - Given(I: see(otherElementsScreen.secureTextField)) - And(the: state(of: otherElementsScreen.secureTextField, isNot: .hasKeyboardFocus)) - Then(I: tap(otherElementsScreen.secureTextField)) - And(the: state(of: otherElementsScreen.secureTextField, is: .hasKeyboardFocus)) - And(I: type("Password!", into: otherElementsScreen.secureTextField)) - And(the: value(of: otherElementsScreen.secureTextField, is: "•••••••••")) - } - Scenario("Seeing and interacting with the slider") { - Given(I: see(otherElementsScreen.slider)) - When(I: adjust(otherElementsScreen.slider, to: 1)) - Then(I: adjust(otherElementsScreen.slider, to: 0)) + override func preLaunchSetup(_ launch: @escaping () -> Void) { + resetAllPrivacyPrompts() + launch() + } + + func test_otherElements() { + Scenario("Navigating to the screen with other elements") { + Given(I: complete(biometricLoginScreen)) + And(I: see(tabBarScreen)) + When(I: tap(tabBarScreen.otherTabBarButton)) + Then(I: see(otherElementsScreen)) + And(the: label(of: otherElementsScreen.trait, is: "Other elements")) + } + + Scenario("Seeing the label and button") { + Given(I: see(otherElementsScreen)) + And(I: see(otherElementsScreen.label)) + And(I: see(otherElementsScreen.button)) + When(I: tap(otherElementsScreen.button)) + Then(I: see(otherElementsScreen.shareSheet)) + } + + Scenario("Dismissing the share sheet") { + Given(I: see(otherElementsScreen.shareSheet)) + When(I: dismiss(otherElementsScreen.shareSheet)) + Then(I: doNotSee(otherElementsScreen.shareSheet)) + And(I: see(otherElementsScreen)) + } + + Scenario("Seeing and interacting with the segmented control") { + Given(I: see(otherElementsScreen.segmentedControl)) + Then(I: tap(otherElementsScreen.segmentedControl.button(withID: "Second"))) + And(the: state(of: otherElementsScreen.segmentedControl.button(withID: "First"), isNot: .selected)) + And(the: state(of: otherElementsScreen.segmentedControl.button(withID: "Second"), is: .selected)) + And(I: tap(otherElementsScreen.segmentedControl.button(withID: "Third"))) + And(the: state(of: otherElementsScreen.segmentedControl.button(withID: "Second"), isNot: .selected)) + And(the: state(of: otherElementsScreen.segmentedControl.button(withID: "Third"), is: .selected)) + } + + Scenario("Seeing and interacting with the text field") { + Given(I: see(otherElementsScreen.textField)) + And(the: state(of: otherElementsScreen.textField, isNot: .hasKeyboardFocus)) + Then(I: tap(otherElementsScreen.textField)) + And(the: state(of: otherElementsScreen.textField, is: .hasKeyboardFocus)) + And(I: type("Hello world", into: otherElementsScreen.textField)) + And(the: value(of: otherElementsScreen.textField, is: "Hello world")) + And(the: keyboardType(is: .regular)) + } + + Scenario("Number pad keyboard type") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.numberPadTextField, is: .hittable)) + When(I: tap(otherElementsScreen.numberPadTextField)) + Then(the: state(of: otherElementsScreen.numberPadTextField, is: .hasKeyboardFocus)) + And(the: keyboardType(is: .numberPad)) + } + + Scenario("Decimal pad keyboard type") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.decimalPadTextField, is: .hittable)) + When(I: tap(otherElementsScreen.decimalPadTextField)) + Then(the: state(of: otherElementsScreen.decimalPadTextField, is: .hasKeyboardFocus)) + And(the: keyboardType(is: .decimalPad)) + } + + Scenario("Email address keyboard type") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.emailAddressTextField, is: .hittable)) + When(I: tap(otherElementsScreen.emailAddressTextField)) + Then(the: state(of: otherElementsScreen.emailAddressTextField, is: .hasKeyboardFocus)) + And(the: keyboardType(is: .emailAddress)) + } + + Scenario("Numbers and punctuation keyboard type") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.numbersAndPunctuationTextField, is: .hittable)) + When(I: tap(otherElementsScreen.numbersAndPunctuationTextField)) + Then(the: state(of: otherElementsScreen.numbersAndPunctuationTextField, is: .hasKeyboardFocus)) + And(the: keyboardType(is: .numbersAndPunctuation)) + } + + Scenario("Phone pad keyboard type") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.phonePadTextField, is: .hittable)) + When(I: tap(otherElementsScreen.phonePadTextField)) + Then(the: state(of: otherElementsScreen.phonePadTextField, is: .hasKeyboardFocus)) + And(the: keyboardType(is: .phonePad)) + } + + Scenario("Twitter keyboard type") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.twitterTextField, is: .hittable)) + When(I: tap(otherElementsScreen.twitterTextField)) + Then(the: state(of: otherElementsScreen.twitterTextField, is: .hasKeyboardFocus)) + And(the: keyboardType(is: .twitter)) + } + + Scenario("URL keyboard type") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.urlTextField, is: .hittable)) + When(I: tap(otherElementsScreen.urlTextField)) + Then(the: state(of: otherElementsScreen.urlTextField, is: .hasKeyboardFocus)) + And(the: keyboardType(is: .url)) + } + + Scenario("Web search keyboard type") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.webSearchTextField, is: .hittable)) + When(I: tap(otherElementsScreen.webSearchTextField)) + Then(the: state(of: otherElementsScreen.webSearchTextField, is: .hasKeyboardFocus)) + And(the: keyboardType(is: .webSearch)) + } + + Scenario("Seeing and interacting with the secure text field") { + Given(I: see(otherElementsScreen.secureTextField)) + And(the: state(of: otherElementsScreen.secureTextField, isNot: .hasKeyboardFocus)) + Then(I: tap(otherElementsScreen.secureTextField)) + And(the: state(of: otherElementsScreen.secureTextField, is: .hasKeyboardFocus)) + And(I: type("Password!", into: otherElementsScreen.secureTextField)) + And(the: value(of: otherElementsScreen.secureTextField, is: "•••••••••")) + } + + Scenario("Seeing and interacting with the slider") { + Given(I: see(otherElementsScreen.slider)) + When(I: adjust(otherElementsScreen.slider, to: 1)) + Then(I: adjust(otherElementsScreen.slider, to: 0)) + } + + Scenario("Seeing and interacting with the switch") { + Given(I: see(otherElementsScreen.toggle)) + And(the: value(of: otherElementsScreen.toggle, is: .on)) + Then(I: adjust(otherElementsScreen.toggle, to: .off)) + And(the: value(of: otherElementsScreen.toggle, is: .off)) + } + + Scenario("Seeing and interacting with the stepper") { + Given(I: see(otherElementsScreen.stepper)) + And(the: state(of: otherElementsScreen.stepper.decrementButton, isNot: .enabled)) + And(the: state(of: otherElementsScreen.stepper.incrementButton, is: .enabled)) + Then(I: tap(otherElementsScreen.stepper.incrementButton)) + And(the: state(of: otherElementsScreen.stepper.decrementButton, is: .enabled)) + And(the: state(of: otherElementsScreen.stepper.incrementButton, is: .enabled)) + And(I: tap(otherElementsScreen.stepper.incrementButton)) + And(the: state(of: otherElementsScreen.stepper.decrementButton, is: .enabled)) + And(the: state(of: otherElementsScreen.stepper.incrementButton, isNot: .enabled)) + } + + Scenario("Seeing and interacting with the page indicator") { + Given(I: see(otherElementsScreen.pageIndicator)) + Then(the: value(of: otherElementsScreen.pageIndicator, is: "page 1 of 3")) + } + + Scenario("Seeing the image") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.picker, is: .visible)) + When(I: see(otherElementsScreen.image)) + Then(the: value(of: otherElementsScreen.image, is: "Ottoman")) + } + + Scenario("Seeing and interacting with the picker") { + Given(I: see(otherElementsScreen.picker)) + And(the: value(of: otherElementsScreen.picker.wheel(0), is: "Hello")) + When(I: adjust(otherElementsScreen.picker.wheel(0), to: "World")) + Then(the: value(of: otherElementsScreen.picker.wheel(0), is: "World")) + } } - Scenario("Seeing and interacting with the switch") { - Given(I: see(otherElementsScreen.toggle)) - And(the: value(of: otherElementsScreen.toggle, is: .on)) - Then(I: adjust(otherElementsScreen.toggle, to: .off)) - And(the: value(of: otherElementsScreen.toggle, is: .off)) - } - - Scenario("Seeing and interacting with the stepper") { - Given(I: see(otherElementsScreen.stepper)) - And(the: state(of: otherElementsScreen.stepper.decrementButton, isNot: .enabled)) - And(the: state(of: otherElementsScreen.stepper.incrementButton, is: .enabled)) - Then(I: tap(otherElementsScreen.stepper.incrementButton)) - And(the: state(of: otherElementsScreen.stepper.decrementButton, is: .enabled)) - And(the: state(of: otherElementsScreen.stepper.incrementButton, is: .enabled)) - And(I: tap(otherElementsScreen.stepper.incrementButton)) - And(the: state(of: otherElementsScreen.stepper.decrementButton, is: .enabled)) - And(the: state(of: otherElementsScreen.stepper.incrementButton, isNot: .enabled)) - } - - Scenario("Seeing and interacting with the page indicator") { - Given(I: see(otherElementsScreen.pageIndicator)) - Then(the: value(of: otherElementsScreen.pageIndicator, is: "page 1 of 3")) - } - - Scenario("Seeing the image") { - Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.picker, is: .visible)) - When(I: see(otherElementsScreen.image)) - Then(the: value(of: otherElementsScreen.image, is: "Ottoman")) - } - - Scenario("Seeing and interacting with the picker") { - Given(I: see(otherElementsScreen.picker)) - And(the: value(of: otherElementsScreen.picker.wheel(0), is: "Hello")) - When(I: adjust(otherElementsScreen.picker.wheel(0), to: "World")) - Then(the: value(of: otherElementsScreen.picker.wheel(0), is: "World")) - } - } - } diff --git a/Example/TABTestKit_ExampleUITests/TableSelectionScreen.swift b/Example/TABTestKit_ExampleUITests/TableSelectionScreen.swift index 781befb9..f2d5d41d 100644 --- a/Example/TABTestKit_ExampleUITests/TableSelectionScreen.swift +++ b/Example/TABTestKit_ExampleUITests/TableSelectionScreen.swift @@ -11,9 +11,9 @@ import TABTestKit let tableSelectionScreen = TableSelectionScreen() struct TableSelectionScreen: Screen { - - let trait = View(id: "TableSelection") - let navBar = NavBar() - let backButton = Button(id: "Table") - + + let trait = View(id: "TableSelection") + let navBar = NavBar() + let backButton = Button(id: "Table") + } From 4bc5e7b40ae3293f16e90b15c188c13c36290092 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Wed, 29 Jul 2020 17:51:23 +0200 Subject: [PATCH 048/103] Indentation for all Screens, Tests, Context was alined with ctrl+I --- .../BiometricLoginScreen.swift | 50 ++++++------ ...tricLogin_AuthenticationFailureTests.swift | 62 +++++++------- .../BiometricLogin_HappyPathTests.swift | 36 ++++----- ...BiometricLogin_PermissionDeniedTests.swift | 50 ++++++------ .../DeepLinkingTests.swift | 8 +- .../OtherElementsScreen.swift | 58 +++++++------- .../PageScreen.swift | 4 +- .../TABTestKit_ExampleUITests/PageTests.swift | 4 +- .../TabBarScreen.swift | 32 ++++---- .../TableScreen.swift | 44 +++++----- .../TableTests.swift | 64 +++++++-------- TABTestKit/Classes/Contexts/AppContext.swift | 8 +- .../Classes/Contexts/InteractionContext.swift | 20 ++--- .../Classes/Contexts/NavigationContext.swift | 80 +++++++++---------- 14 files changed, 260 insertions(+), 260 deletions(-) diff --git a/Example/TABTestKit_ExampleUITests/BiometricLoginScreen.swift b/Example/TABTestKit_ExampleUITests/BiometricLoginScreen.swift index 20e4bc9e..e48472ca 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLoginScreen.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLoginScreen.swift @@ -11,36 +11,36 @@ import TABTestKit let biometricLoginScreen = BiometricLoginScreen() struct BiometricLoginScreen: Screen { - - let trait = Header(id: "Welcome") - let logInLabel = Label(id: "Please log in with biometrics") - let logInButton = Button(id: "Log in") - let faceIDPermissionAlert: Alert = .faceIDPermission - let faceNotRecognizedAlert: Alert = .faceNotRecognized - let biometricsUnavailableAlert: Alert = .biometricsUnavailable - let biometricsFailedAlert: Alert = .biometricsFailed - + + let trait = Header(id: "Welcome") + let logInLabel = Label(id: "Please log in with biometrics") + let logInButton = Button(id: "Log in") + let faceIDPermissionAlert: Alert = .faceIDPermission + let faceNotRecognizedAlert: Alert = .faceNotRecognized + let biometricsUnavailableAlert: Alert = .biometricsUnavailable + let biometricsFailedAlert: Alert = .biometricsFailed + } extension BiometricLoginScreen: Completable { - - func complete() { - Biometrics.enrolled() - logInButton.tap() - if faceIDPermissionAlert.determine(.exists, timeout: 1) { - faceIDPermissionAlert.actionButton(withID: "OK").tap() + + func complete() { + Biometrics.enrolled() + logInButton.tap() + if faceIDPermissionAlert.determine(.exists, timeout: 1) { + faceIDPermissionAlert.actionButton(withID: "OK").tap() + } + Biometrics.successfulAuthentication() } - Biometrics.successfulAuthentication() - } - + } extension Alert { - - // The style of apostrophe is actually important in "Don’t Allow", rather than "Don't Allow" which will fail! - static let faceIDPermission = Alert(id: "Do you want to allow “TABTestKit_Example” to use Face ID?", parent: springboard, dismissButtonID: "Don’t Allow") - static let faceNotRecognized = Alert(id: nil, parent: springboard, dismissButtonID: "Cancel") - static let biometricsUnavailable = Alert(id: "Login failed", dismissButtonID: "OK") // TODO: Assert message? Since both have the same title - static let biometricsFailed = Alert(id: "Login failed", dismissButtonID: "OK") - + + // The style of apostrophe is actually important in "Don’t Allow", rather than "Don't Allow" which will fail! + static let faceIDPermission = Alert(id: "Do you want to allow “TABTestKit_Example” to use Face ID?", parent: springboard, dismissButtonID: "Don’t Allow") + static let faceNotRecognized = Alert(id: nil, parent: springboard, dismissButtonID: "Cancel") + static let biometricsUnavailable = Alert(id: "Login failed", dismissButtonID: "OK") // TODO: Assert message? Since both have the same title + static let biometricsFailed = Alert(id: "Login failed", dismissButtonID: "OK") + } diff --git a/Example/TABTestKit_ExampleUITests/BiometricLogin_AuthenticationFailureTests.swift b/Example/TABTestKit_ExampleUITests/BiometricLogin_AuthenticationFailureTests.swift index 3e0295be..a75d33d7 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLogin_AuthenticationFailureTests.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLogin_AuthenticationFailureTests.swift @@ -9,40 +9,40 @@ import TABTestKit final class BiometricLogin_AuthenticationFailureTests: TABTestCase, SystemPreferencesContext { - - override func preLaunchSetup(_ launch: @escaping () -> Void) { - resetAllPrivacyPrompts() - launch() - } - - func test_authenticationFailure() { - Scenario("Seeing the Face ID permissions prompt") { - Given(I: see(biometricLoginScreen)) - And(deviceBiometricsAreEnabled) - When(I: tap(biometricLoginScreen.logInButton)) - Then(I: see(biometricLoginScreen.faceIDPermissionAlert)) - } - Scenario("Allowing permission but failing authentication") { - Given(I: see(biometricLoginScreen.faceIDPermissionAlert)) - And(I: tap("OK", in: biometricLoginScreen.faceIDPermissionAlert)) - When(I: failToAuthenticateBiometrics) - Then(I: see(biometricLoginScreen.faceNotRecognizedAlert)) + override func preLaunchSetup(_ launch: @escaping () -> Void) { + resetAllPrivacyPrompts() + launch() } - Scenario("Cancelling Face ID") { - Given(I: see(biometricLoginScreen.faceNotRecognizedAlert)) - When(I: dismiss(biometricLoginScreen.faceNotRecognizedAlert)) - And(I: doNotSee(biometricLoginScreen.faceNotRecognizedAlert)) - Then(I: see(biometricLoginScreen.biometricsFailedAlert)) + func test_authenticationFailure() { + Scenario("Seeing the Face ID permissions prompt") { + Given(I: see(biometricLoginScreen)) + And(deviceBiometricsAreEnabled) + When(I: tap(biometricLoginScreen.logInButton)) + Then(I: see(biometricLoginScreen.faceIDPermissionAlert)) + } + + Scenario("Allowing permission but failing authentication") { + Given(I: see(biometricLoginScreen.faceIDPermissionAlert)) + And(I: tap("OK", in: biometricLoginScreen.faceIDPermissionAlert)) + When(I: failToAuthenticateBiometrics) + Then(I: see(biometricLoginScreen.faceNotRecognizedAlert)) + } + + Scenario("Cancelling Face ID") { + Given(I: see(biometricLoginScreen.faceNotRecognizedAlert)) + When(I: dismiss(biometricLoginScreen.faceNotRecognizedAlert)) + And(I: doNotSee(biometricLoginScreen.faceNotRecognizedAlert)) + Then(I: see(biometricLoginScreen.biometricsFailedAlert)) + } + + Scenario("Dismissing failure alert") { + Given(I: see(biometricLoginScreen.biometricsFailedAlert)) + When(I: dismiss(biometricLoginScreen.biometricsFailedAlert)) + Then(I: see(biometricLoginScreen)) + And(I: doNotSee(tableScreen)) + } } - Scenario("Dismissing failure alert") { - Given(I: see(biometricLoginScreen.biometricsFailedAlert)) - When(I: dismiss(biometricLoginScreen.biometricsFailedAlert)) - Then(I: see(biometricLoginScreen)) - And(I: doNotSee(tableScreen)) - } - } - } diff --git a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift index 57ac8c12..cd0bf27c 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLogin_HappyPathTests.swift @@ -11,25 +11,25 @@ import TABTestKit // NOTE: Parallel UI tests are best optimised if you only have one test function per test case. final class BiometricLogin_HappyPathTests: TABTestCase, SystemPreferencesContext { // TODO: Enable parallel tests - - override func preLaunchSetup(_ launch: @escaping () -> Void) { - resetAllPrivacyPrompts() - launch() - } - - func test_happyPath() { - Scenario("Logging in with biometrics") { - Given(I: see(biometricLoginScreen)) - When(I: complete(biometricLoginScreen)) - Then(I: doNotSee(biometricLoginScreen)) + + override func preLaunchSetup(_ launch: @escaping () -> Void) { + resetAllPrivacyPrompts() + launch() } - Scenario("Relaunching the app") { - Given(I: doNotSee(biometricLoginScreen)) - When(I: relaunchTheApp) - Then(I: goBackToTABTestKitExampleApp) - And(I: see(biometricLoginScreen)) + func test_happyPath() { + Scenario("Logging in with biometrics") { + Given(I: see(biometricLoginScreen)) + When(I: complete(biometricLoginScreen)) + Then(I: doNotSee(biometricLoginScreen)) + } + + Scenario("Relaunching the app") { + Given(I: doNotSee(biometricLoginScreen)) + When(I: relaunchTheApp) + Then(I: goBackToTABTestKitExampleApp) + And(I: see(biometricLoginScreen)) + } } - } - + } diff --git a/Example/TABTestKit_ExampleUITests/BiometricLogin_PermissionDeniedTests.swift b/Example/TABTestKit_ExampleUITests/BiometricLogin_PermissionDeniedTests.swift index 47bfc2c2..3034323d 100644 --- a/Example/TABTestKit_ExampleUITests/BiometricLogin_PermissionDeniedTests.swift +++ b/Example/TABTestKit_ExampleUITests/BiometricLogin_PermissionDeniedTests.swift @@ -9,33 +9,33 @@ import TABTestKit final class BiometricLogin_PermissionDeniedTests: TABTestCase, SystemPreferencesContext { - - override func preLaunchSetup(_ launch: @escaping () -> Void) { - resetAllPrivacyPrompts() - launch() - } - - func test_permissionDenied() { // TODO: This test will fail on Touch ID devices - Scenario("Seeing the Face ID permissions prompt") { - Given(I: see(biometricLoginScreen)) - And(deviceBiometricsAreEnabled) - When(I: tap(biometricLoginScreen.logInButton)) - Then(I: see(biometricLoginScreen.faceIDPermissionAlert)) - } - Scenario("Denying permission and seeing an error alert") { - Given(I: see(biometricLoginScreen.faceIDPermissionAlert)) - When(I: dismiss(biometricLoginScreen.faceIDPermissionAlert)) - Then(I: see(biometricLoginScreen.biometricsUnavailableAlert)) + override func preLaunchSetup(_ launch: @escaping () -> Void) { + resetAllPrivacyPrompts() + launch() } - Scenario("Confirming the error alert") { - Given(I: see(biometricLoginScreen.biometricsUnavailableAlert)) - When(I: dismiss(biometricLoginScreen.biometricsUnavailableAlert)) - Then(I: doNotSee(biometricLoginScreen.biometricsUnavailableAlert)) - And(I: see(biometricLoginScreen)) - And(I: doNotSee(tableScreen)) + func test_permissionDenied() { // TODO: This test will fail on Touch ID devices + Scenario("Seeing the Face ID permissions prompt") { + Given(I: see(biometricLoginScreen)) + And(deviceBiometricsAreEnabled) + When(I: tap(biometricLoginScreen.logInButton)) + Then(I: see(biometricLoginScreen.faceIDPermissionAlert)) + } + + Scenario("Denying permission and seeing an error alert") { + Given(I: see(biometricLoginScreen.faceIDPermissionAlert)) + When(I: dismiss(biometricLoginScreen.faceIDPermissionAlert)) + Then(I: see(biometricLoginScreen.biometricsUnavailableAlert)) + } + + Scenario("Confirming the error alert") { + Given(I: see(biometricLoginScreen.biometricsUnavailableAlert)) + When(I: dismiss(biometricLoginScreen.biometricsUnavailableAlert)) + Then(I: doNotSee(biometricLoginScreen.biometricsUnavailableAlert)) + And(I: see(biometricLoginScreen)) + And(I: doNotSee(tableScreen)) + } } - } - + } diff --git a/Example/TABTestKit_ExampleUITests/DeepLinkingTests.swift b/Example/TABTestKit_ExampleUITests/DeepLinkingTests.swift index 2b5f2437..f4e8341f 100644 --- a/Example/TABTestKit_ExampleUITests/DeepLinkingTests.swift +++ b/Example/TABTestKit_ExampleUITests/DeepLinkingTests.swift @@ -9,7 +9,7 @@ import TABTestKit final class DeepLinkingTests: TABTestCase { - + func test() { Scenario("Deep linking from current state") { Given(I: complete(biometricLoginScreen)) @@ -26,12 +26,12 @@ final class DeepLinkingTests: TABTestCase { And(I: see(biometricLoginScreen)) } } - + } extension URL { - + static let deepLinkURL = URL(string: "my-amazing-app://deep-link")! - + } diff --git a/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift b/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift index 24f967fd..92b2a9f7 100644 --- a/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift +++ b/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift @@ -11,36 +11,36 @@ import TABTestKit let otherElementsScreen = OtherElementsScreen() struct OtherElementsScreen: Screen { - - let trait = Header(id: "Other elements") - let scrollView = ScrollView(id: "MyScrollView") // In iOS 13, XCUI matches a hidden scroll view when the keyboard is showing :( - let label = Label(id: "Example label") - let button = Button(id: "Example button") - let segmentedControl = SegmentedControl(parent: View(id: "ExampleSegmentedControl")) - let textField = TextField(id: "ExampleTextField") - let numberPadTextField = TextField(id: "NumberPadTextField") - let decimalPadTextField = TextField(id: "DecimalPadTextField") - let emailAddressTextField = TextField(id: "EmailAddressTextField") - let numbersAndPunctuationTextField = TextField(id: "NumbersAndPunctuationTextField") - let phonePadTextField = TextField(id: "PhonePadTextField") - let twitterTextField = TextField(id: "TwitterTextField") - let urlTextField = TextField(id: "URLTextField") - let webSearchTextField = TextField(id: "WebSearchTextField") - let secureTextField = SecureTextField(id: "ExampleSecureTextField") - let slider = Slider(id: "ExampleSlider") - let toggle = Switch(id: "ExampleSwitch") - let stepper = Stepper(id: "ExampleStepper") - let pageIndicator = PageIndicator(id: "ExamplePageControl") - let image = Image(id: "ExampleImage") - let picker = Picker(id: "ExamplePicker") - let shareSheet = ActivitySheet() - + + let trait = Header(id: "Other elements") + let scrollView = ScrollView(id: "MyScrollView") // In iOS 13, XCUI matches a hidden scroll view when the keyboard is showing :( + let label = Label(id: "Example label") + let button = Button(id: "Example button") + let segmentedControl = SegmentedControl(parent: View(id: "ExampleSegmentedControl")) + let textField = TextField(id: "ExampleTextField") + let numberPadTextField = TextField(id: "NumberPadTextField") + let decimalPadTextField = TextField(id: "DecimalPadTextField") + let emailAddressTextField = TextField(id: "EmailAddressTextField") + let numbersAndPunctuationTextField = TextField(id: "NumbersAndPunctuationTextField") + let phonePadTextField = TextField(id: "PhonePadTextField") + let twitterTextField = TextField(id: "TwitterTextField") + let urlTextField = TextField(id: "URLTextField") + let webSearchTextField = TextField(id: "WebSearchTextField") + let secureTextField = SecureTextField(id: "ExampleSecureTextField") + let slider = Slider(id: "ExampleSlider") + let toggle = Switch(id: "ExampleSwitch") + let stepper = Stepper(id: "ExampleStepper") + let pageIndicator = PageIndicator(id: "ExamplePageControl") + let image = Image(id: "ExampleImage") + let picker = Picker(id: "ExamplePicker") + let shareSheet = ActivitySheet() + } extension OtherElementsScreen: Scrollable { - - func scroll(_ direction: ElementAttributes.Direction) { - scrollView.scroll(direction) - } - + + func scroll(_ direction: ElementAttributes.Direction) { + scrollView.scroll(direction) + } + } diff --git a/Example/TABTestKit_ExampleUITests/PageScreen.swift b/Example/TABTestKit_ExampleUITests/PageScreen.swift index 6a28d355..ac588a05 100644 --- a/Example/TABTestKit_ExampleUITests/PageScreen.swift +++ b/Example/TABTestKit_ExampleUITests/PageScreen.swift @@ -11,10 +11,10 @@ import TABTestKit let pageScreen = PageScreen() struct PageScreen: Screen { - + var trait: View { return view } let view = View(id: "PageView") var scrollView: ScrollView { return ScrollView(parent: view) } var pageIndicator: PageIndicator { return PageIndicator(parent: view) } - + } diff --git a/Example/TABTestKit_ExampleUITests/PageTests.swift b/Example/TABTestKit_ExampleUITests/PageTests.swift index e96b48ea..aa4a73cc 100644 --- a/Example/TABTestKit_ExampleUITests/PageTests.swift +++ b/Example/TABTestKit_ExampleUITests/PageTests.swift @@ -9,7 +9,7 @@ import TABTestKit final class PageTests: TABTestCase { - + func test() { // This test will fail on iOS 12 as the scroll view in UIPageViewController // does not have the accessibility trait of scroll view. This has been fixed @@ -31,5 +31,5 @@ final class PageTests: TABTestCase { Then(the: value(of: pageScreen.pageIndicator, is: "page 6 of 6")) } } - + } diff --git a/Example/TABTestKit_ExampleUITests/TabBarScreen.swift b/Example/TABTestKit_ExampleUITests/TabBarScreen.swift index 4ed3376f..d63cb356 100644 --- a/Example/TABTestKit_ExampleUITests/TabBarScreen.swift +++ b/Example/TABTestKit_ExampleUITests/TabBarScreen.swift @@ -11,20 +11,20 @@ import TABTestKit let tabBarScreen = TabBarScreen() struct TabBarScreen: Screen { - - var trait: TabBar { return tabBar } - let tabBar = TabBar() - var tableTabBarButton: Button { - return tabBar.button(withID: "Table") - } - var collectionTabBarButton: Button { - return tabBar.button(withID: "Collection") - } - var otherTabBarButton: Button { - return tabBar.button(withID: "Other") - } - var pageTabBarButton: Button { - return tabBar.button(withID: "Page") - } - + + var trait: TabBar { return tabBar } + let tabBar = TabBar() + var tableTabBarButton: Button { + return tabBar.button(withID: "Table") + } + var collectionTabBarButton: Button { + return tabBar.button(withID: "Collection") + } + var otherTabBarButton: Button { + return tabBar.button(withID: "Other") + } + var pageTabBarButton: Button { + return tabBar.button(withID: "Page") + } + } diff --git a/Example/TABTestKit_ExampleUITests/TableScreen.swift b/Example/TABTestKit_ExampleUITests/TableScreen.swift index f1467c90..fe74b215 100644 --- a/Example/TABTestKit_ExampleUITests/TableScreen.swift +++ b/Example/TABTestKit_ExampleUITests/TableScreen.swift @@ -11,32 +11,32 @@ import TABTestKit let tableScreen = TableScreen() struct TableScreen: Screen { - - let trait = Header(id: "Table") - let table = Table() - var section0Header: Header { - return table.header(withID: "SECTION NUMERO 0") - } - var section1Header: Header { - return table.header(withID: "SECTION NUMERO 1") - } - var lastCell: Cell { - return table.cell(index: table.numberOfCells() - 1) - } - + + let trait = Header(id: "Table") + let table = Table() + var section0Header: Header { + return table.header(withID: "SECTION NUMERO 0") + } + var section1Header: Header { + return table.header(withID: "SECTION NUMERO 1") + } + var lastCell: Cell { + return table.cell(index: table.numberOfCells() - 1) + } + } extension TableScreen: Scrollable, Refreshable, InteractionContext { - - func scroll(_ direction: ElementAttributes.Direction) { - table.scroll(direction) - } - func refresh() { - scroll(table, .upwards, until: section0Header, is: .visible) - // Pull the table down to refresh - table.scroll(.upwards) - } + func scroll(_ direction: ElementAttributes.Direction) { + table.scroll(direction) + } + + func refresh() { + scroll(table, .upwards, until: section0Header, is: .visible) + // Pull the table down to refresh + table.scroll(.upwards) + } } diff --git a/Example/TABTestKit_ExampleUITests/TableTests.swift b/Example/TABTestKit_ExampleUITests/TableTests.swift index 2d6d9113..5d4cf1f0 100644 --- a/Example/TABTestKit_ExampleUITests/TableTests.swift +++ b/Example/TABTestKit_ExampleUITests/TableTests.swift @@ -9,41 +9,41 @@ import TABTestKit final class TableTests: TABTestCase, SystemPreferencesContext { - - override func preLaunchSetup(_ launch: @escaping () -> Void) { - resetAllPrivacyPrompts() - launch() - } - - func test_table() { - Scenario("Logging in with biometrics and landing on table screen") { - Given(I: see(biometricLoginScreen)) - When(I: complete(biometricLoginScreen)) - Then(I: see(tableScreen)) - } - Scenario("Refreshing the table screen") { - Given(I: see(tableScreen)) - When(I: refresh(tableScreen)) - Then(the: state(of: tableScreen.section0Header, is: .visible)) + override func preLaunchSetup(_ launch: @escaping () -> Void) { + resetAllPrivacyPrompts() + launch() } - Scenario("Tapping on a cell in the first section and seeing the detail screen") { - And(I: see(tableScreen.section0Header)) - When(I: tap(tableScreen.table.cell(index: 0))) - Then(I: see(tableSelectionScreen)) - And(the: value(of: tableSelectionScreen.navBar.header, is: "Row 0 section 0")) + func test_table() { + Scenario("Logging in with biometrics and landing on table screen") { + Given(I: see(biometricLoginScreen)) + When(I: complete(biometricLoginScreen)) + Then(I: see(tableScreen)) + } + + Scenario("Refreshing the table screen") { + Given(I: see(tableScreen)) + When(I: refresh(tableScreen)) + Then(the: state(of: tableScreen.section0Header, is: .visible)) + } + + Scenario("Tapping on a cell in the first section and seeing the detail screen") { + And(I: see(tableScreen.section0Header)) + When(I: tap(tableScreen.table.cell(index: 0))) + Then(I: see(tableSelectionScreen)) + And(the: value(of: tableSelectionScreen.navBar.header, is: "Row 0 section 0")) + } + + Scenario("Scrolling to more elements") { + Given(I: tap(tableSelectionScreen.backButton)) + And(I: scroll(tableScreen, .downwards, until: tableScreen.section1Header, is: .visible)) + And(I: scroll(tableScreen, .downwards, until: tableScreen.lastCell, is: .visible)) + When(I: tap(tableScreen.lastCell)) + Then(I: see(tableSelectionScreen)) + And(the: label(of: tableSelectionScreen.navBar.header, is: "Row 14 section 1")) + And(the: value(of: tableSelectionScreen.navBar.header, is: "Row 14 section 1")) + } } - Scenario("Scrolling to more elements") { - Given(I: tap(tableSelectionScreen.backButton)) - And(I: scroll(tableScreen, .downwards, until: tableScreen.section1Header, is: .visible)) - And(I: scroll(tableScreen, .downwards, until: tableScreen.lastCell, is: .visible)) - When(I: tap(tableScreen.lastCell)) - Then(I: see(tableSelectionScreen)) - And(the: label(of: tableSelectionScreen.navBar.header, is: "Row 14 section 1")) - And(the: value(of: tableSelectionScreen.navBar.header, is: "Row 14 section 1")) - } - } - } diff --git a/TABTestKit/Classes/Contexts/AppContext.swift b/TABTestKit/Classes/Contexts/AppContext.swift index ff5fa57f..2334fbf2 100644 --- a/TABTestKit/Classes/Contexts/AppContext.swift +++ b/TABTestKit/Classes/Contexts/AppContext.swift @@ -26,10 +26,10 @@ public extension AppContext { func launchTheApp(clean: Bool) { App.shared.launch(clean: clean) } - - func waitForApp(toBe state: XCUIApplication.State, timeout: TimeInterval = 10) { - XCTAssertTrue(App.shared.wait(for: App.shared.state == state, timeout: timeout), "App did not have the right state before the timeout. Expected \(state.rawValue), got \(App.shared.state.rawValue)") - } + + func waitForApp(toBe state: XCUIApplication.State, timeout: TimeInterval = 10) { + XCTAssertTrue(App.shared.wait(for: App.shared.state == state, timeout: timeout), "App did not have the right state before the timeout. Expected \(state.rawValue), got \(App.shared.state.rawValue)") + } func relaunchTheApp() { backgroundTheApp() diff --git a/TABTestKit/Classes/Contexts/InteractionContext.swift b/TABTestKit/Classes/Contexts/InteractionContext.swift index 2bb484a6..1a586db6 100644 --- a/TABTestKit/Classes/Contexts/InteractionContext.swift +++ b/TABTestKit/Classes/Contexts/InteractionContext.swift @@ -53,15 +53,15 @@ public extension InteractionContext { XCTFail("Ran of out tries (\(maxTries)) waiting for element to become not \(state)") } } - + func scroll(_ element: Scrollable, _ direction: ElementAttributes.Direction, until otherElement: Element, valueIs value: String, maxTries: Int = 10) { - var numberOfTries = 0 - repeat { - guard !(otherElement.value == value) else { return } - numberOfTries += 1 - element.scroll(direction) - } while numberOfTries <= maxTries - XCTFail("Ran of out tries (\(maxTries)) waiting for element to become \(value)") + var numberOfTries = 0 + repeat { + guard !(otherElement.value == value) else { return } + numberOfTries += 1 + element.scroll(direction) + } while numberOfTries <= maxTries + XCTFail("Ran of out tries (\(maxTries)) waiting for element to become \(value)") } func value(of element: ElementWithValue, is expectedValue: ElementWithValue.Value) { @@ -69,7 +69,7 @@ public extension InteractionContext { } func label(of element: Element, is expectedLabel: String) { - XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.label == expectedLabel), "Element did not have the right label before timing out! Expected: \(expectedLabel), actual: \(element.label)") + XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.label == expectedLabel), "Element did not have the right label before timing out! Expected: \(expectedLabel), actual: \(element.label)") } func adjust(_ element: AdjustableElement, to newValue: AdjustableElement.Value) { @@ -77,7 +77,7 @@ public extension InteractionContext { } func refresh(_ refreshableThing: Refreshable) { - refreshableThing.refresh() + refreshableThing.refresh() } } diff --git a/TABTestKit/Classes/Contexts/NavigationContext.swift b/TABTestKit/Classes/Contexts/NavigationContext.swift index 7f765c79..36b038ec 100644 --- a/TABTestKit/Classes/Contexts/NavigationContext.swift +++ b/TABTestKit/Classes/Contexts/NavigationContext.swift @@ -28,7 +28,7 @@ public extension NavigationContext { /// /// - Parameter element: The element to await. func see(_ element: Element) { - element.await(.exists, .visible) + element.await(.exists, .visible) } /// Asserts that an element does not exist, by waiting for it to not exist. @@ -58,43 +58,43 @@ public extension NavigationContext { $0.await() $0.dismiss() } - } - - /// Opens the specified URL from the test runner app. - /// This means you can use this function for testing deep linking, as well as opening web urls in Safari. - /// This function will first show the Home Screen if necessary, launch the test runner (after finding the correct - /// page with the runner) and then open the URL. - /// - /// It is your responsibility/choice if you want to leave your app in the current state before the test runner - /// opens the URL, or whether you want to completely terminate your app before hand. - /// - /// This leaves you free to test deep linking behaviour from the current state of the app. - /// or a fresh launch of the app. - /// - /// Since you can pass any URL to this function, you could pass an app-specific url like `myapp://deep-link`, or - /// a regular HTTP link like `https://apple.com`. - /// - /// HTTP links are opened in Safari by default, unless you have an app installed that can intercept them using - /// Universal Links. - /// - /// - Parameter url: The URL to open. - func open(_ url: URL) { - springboard.activate() - if !Icon.testRunner.determine(.hittable, timeout: 1) { - XCUIDevice.shared.press(.home) // Ensure we're on the first page of the home screen - sleep(1) - while !Icon.testRunner.determine(.hittable, timeout: 1) { - springboard.swipeLeft() - } - } - Icon.testRunner.tap() - sleep(1) - UIApplication.shared.open(url) - let openAppConfirmationAlert = Alert(id: "“\(Bundle.main.appName)” wants to open “\(App.shared.name)”", parent: springboard) - if openAppConfirmationAlert.determine(.exists, timeout: 1) { - sleep(1) - openAppConfirmationAlert.actionButton(withID: "Open").tap() - } - } - + } + + /// Opens the specified URL from the test runner app. + /// This means you can use this function for testing deep linking, as well as opening web urls in Safari. + /// This function will first show the Home Screen if necessary, launch the test runner (after finding the correct + /// page with the runner) and then open the URL. + /// + /// It is your responsibility/choice if you want to leave your app in the current state before the test runner + /// opens the URL, or whether you want to completely terminate your app before hand. + /// + /// This leaves you free to test deep linking behaviour from the current state of the app. + /// or a fresh launch of the app. + /// + /// Since you can pass any URL to this function, you could pass an app-specific url like `myapp://deep-link`, or + /// a regular HTTP link like `https://apple.com`. + /// + /// HTTP links are opened in Safari by default, unless you have an app installed that can intercept them using + /// Universal Links. + /// + /// - Parameter url: The URL to open. + func open(_ url: URL) { + springboard.activate() + if !Icon.testRunner.determine(.hittable, timeout: 1) { + XCUIDevice.shared.press(.home) // Ensure we're on the first page of the home screen + sleep(1) + while !Icon.testRunner.determine(.hittable, timeout: 1) { + springboard.swipeLeft() + } + } + Icon.testRunner.tap() + sleep(1) + UIApplication.shared.open(url) + let openAppConfirmationAlert = Alert(id: "“\(Bundle.main.appName)” wants to open “\(App.shared.name)”", parent: springboard) + if openAppConfirmationAlert.determine(.exists, timeout: 1) { + sleep(1) + openAppConfirmationAlert.actionButton(withID: "Open").tap() + } + } + } From b1387ce75afd218642a7206e1ccbf0081905bdd5 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Jul 2020 15:34:50 +0100 Subject: [PATCH 049/103] Added Swift Package Manager support --- .../contents.xcworkspacedata | 7 ++++++ Package.swift | 25 +++++++++++++++++++ .../Biometrics-Bridging-Header.h | 0 .../Biometrics/{ => include}/Biometrics.h | 0 .../Classes/Contexts/BiometricsContext.swift | 3 +++ .../Classes/Extensions/CGVector+Offset.swift | 2 +- TABTestKit/Classes/TABTestCase.swift | 3 +++ 7 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata create mode 100644 Package.swift rename TABTestKit/Classes/Biometrics/{ => include}/Biometrics-Bridging-Header.h (100%) rename TABTestKit/Classes/Biometrics/{ => include}/Biometrics.h (100%) diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Package.swift b/Package.swift new file mode 100644 index 00000000..e625c3cb --- /dev/null +++ b/Package.swift @@ -0,0 +1,25 @@ +// swift-tools-version:5.1 + +import PackageDescription + +/// The name of the entire package +let name = "TABTestKit" + +/// The platforms this package supports +let supportedPlatforms: [SupportedPlatform] = [.iOS(.v12)] + +/// The biometrics target contains the code for interacting with biometrics in simulators, which is Objective-C +let biometricsTarget: Target = .target(name: "Biometrics", path: "TABTestKit/Classes/Biometrics/") + +/// The main TTK target. this has a dependency on the biometrics target. Having two targets means we can have a mixed-language package, which is otherwise not supported. +let mainTarget: Target = .target(name: name, dependencies: [.target(name: biometricsTarget.name)], path: "TABTestKit/Classes/", exclude: ["Biometrics/"]) + +/// The final product, using all of the above. +let product: Product = .library(name: name, type: .dynamic, targets: [mainTarget.name]) + +let package = Package( + name: name, + platforms: supportedPlatforms, + products: [product], + targets: [biometricsTarget, mainTarget] +) diff --git a/TABTestKit/Classes/Biometrics/Biometrics-Bridging-Header.h b/TABTestKit/Classes/Biometrics/include/Biometrics-Bridging-Header.h similarity index 100% rename from TABTestKit/Classes/Biometrics/Biometrics-Bridging-Header.h rename to TABTestKit/Classes/Biometrics/include/Biometrics-Bridging-Header.h diff --git a/TABTestKit/Classes/Biometrics/Biometrics.h b/TABTestKit/Classes/Biometrics/include/Biometrics.h similarity index 100% rename from TABTestKit/Classes/Biometrics/Biometrics.h rename to TABTestKit/Classes/Biometrics/include/Biometrics.h diff --git a/TABTestKit/Classes/Contexts/BiometricsContext.swift b/TABTestKit/Classes/Contexts/BiometricsContext.swift index c91a80c6..5f8234ae 100644 --- a/TABTestKit/Classes/Contexts/BiometricsContext.swift +++ b/TABTestKit/Classes/Contexts/BiometricsContext.swift @@ -6,6 +6,9 @@ // import Foundation +#if canImport(Biometrics) +import Biometrics +#endif public protocol BiometricsContext {} public extension BiometricsContext { diff --git a/TABTestKit/Classes/Extensions/CGVector+Offset.swift b/TABTestKit/Classes/Extensions/CGVector+Offset.swift index e3d4279a..73e6b52f 100644 --- a/TABTestKit/Classes/Extensions/CGVector+Offset.swift +++ b/TABTestKit/Classes/Extensions/CGVector+Offset.swift @@ -5,7 +5,7 @@ // Created by Kane Cheshire on 15/10/2019. // -import UIKit +import CoreGraphics public extension CGVector { diff --git a/TABTestKit/Classes/TABTestCase.swift b/TABTestKit/Classes/TABTestCase.swift index bbbef872..bd7f0eb8 100644 --- a/TABTestKit/Classes/TABTestCase.swift +++ b/TABTestKit/Classes/TABTestCase.swift @@ -9,6 +9,9 @@ // import XCTest +#if canImport(Biometrics) +import Biometrics +#endif /// The default contexts that TABTestCase conforms to, to provide lots of helpful functions to make it highly possible /// you don't have to write any extra test functions for your tests. From 069a24127b1b8fa1237095dad36f683cdbe590c0 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Jul 2020 17:32:39 +0100 Subject: [PATCH 050/103] Fixed Carthage --- Example/Podfile.lock | 12 +- .../Local Podspecs/TABTestKit.podspec.json | 6 +- Example/Pods/Manifest.lock | 12 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 1067 +++++++++-------- .../xcschemes/TABTestKit.xcscheme | 36 +- .../TABTestKit/TABTestKit-Info.plist | 40 +- .../TABTestKit/TABTestKit-umbrella.h | 2 - .../TABTestKit/TABTestKit.debug.xcconfig | 3 - .../TABTestKit/TABTestKit.release.xcconfig | 3 - .../xcschemes/TABTestKit-Example.xcscheme | 13 - .../TABTestKit_ExampleUITests.xcscheme | 91 -- .../xcshareddata/WorkspaceSettings.xcsettings | 5 +- TABTestKit.xcodeproj/project.pbxproj | 710 ----------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcschemes/TABTestKit.xcscheme | 67 -- 16 files changed, 585 insertions(+), 1497 deletions(-) delete mode 100644 Example/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit_ExampleUITests.xcscheme delete mode 100644 TABTestKit.xcodeproj/project.pbxproj delete mode 100644 TABTestKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 TABTestKit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit.xcscheme diff --git a/Example/Podfile.lock b/Example/Podfile.lock index c12cd12c..dc5bc178 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,10 +1,8 @@ PODS: - ShowTime (2.5.1) - - TABTestKit (1.5.0): - - TABTestKit/BDD (= 1.5.0) - - TABTestKit/Biometrics (= 1.5.0) - - TABTestKit/BDD (1.5.0) - - TABTestKit/Biometrics (1.5.0) + - TABTestKit (1.6.1): + - TABTestKit/BDD (= 1.6.1) + - TABTestKit/Biometrics (= 1.6.1) DEPENDENCIES: - ShowTime @@ -20,8 +18,8 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: ShowTime: 0d7ad97e415e3228f0e966e025087ea4175f3361 - TABTestKit: ec0d95b302963a57c474d02c20999ee7dac4d842 + TABTestKit: be0324bdf4c6755d878eea5bd2e5a3f8aff4bf65 PODFILE CHECKSUM: cff5520fee18bc1ac482104a6673ae29b40d9690 -COCOAPODS: 1.9.1 +COCOAPODS: 1.9.3 diff --git a/Example/Pods/Local Podspecs/TABTestKit.podspec.json b/Example/Pods/Local Podspecs/TABTestKit.podspec.json index 1030cbfb..bafad952 100644 --- a/Example/Pods/Local Podspecs/TABTestKit.podspec.json +++ b/Example/Pods/Local Podspecs/TABTestKit.podspec.json @@ -1,6 +1,6 @@ { "name": "TABTestKit", - "version": "1.5.0", + "version": "1.6.1", "summary": "Strongly typed Swift wrapper around XCTest / XCUI, enabling you to write BDD-style automation tests, without writing much code at all.", "homepage": "https://github.com/theappbusiness/TABTestKit", "license": { @@ -15,10 +15,10 @@ }, "source": { "git": "https://github.com/theappbusiness/TABTestKit.git", - "tag": "1.5.0" + "tag": "1.6.1" }, "platforms": { - "ios": "10.0" + "ios": "12.4" }, "swift_versions": "5.0", "source_files": "TABTestKit/Classes/**/*", diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index c12cd12c..dc5bc178 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,10 +1,8 @@ PODS: - ShowTime (2.5.1) - - TABTestKit (1.5.0): - - TABTestKit/BDD (= 1.5.0) - - TABTestKit/Biometrics (= 1.5.0) - - TABTestKit/BDD (1.5.0) - - TABTestKit/Biometrics (1.5.0) + - TABTestKit (1.6.1): + - TABTestKit/BDD (= 1.6.1) + - TABTestKit/Biometrics (= 1.6.1) DEPENDENCIES: - ShowTime @@ -20,8 +18,8 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: ShowTime: 0d7ad97e415e3228f0e966e025087ea4175f3361 - TABTestKit: ec0d95b302963a57c474d02c20999ee7dac4d842 + TABTestKit: be0324bdf4c6755d878eea5bd2e5a3f8aff4bf65 PODFILE CHECKSUM: cff5520fee18bc1ac482104a6673ae29b40d9690 -COCOAPODS: 1.9.1 +COCOAPODS: 1.9.3 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 0c9ed3dc..a1c1673d 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,227 +7,227 @@ objects = { /* Begin PBXBuildFile section */ - 0088B9A63F4DF5B1A4C7F38503158A1A /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = B01AED12068937D0AAAEDDA9D645F1BD /* Sheet.swift */; }; - 0122DDA489DC7B492E8E990DB755179A /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49A38A5986EC7A2C2950A75F7523E23D /* AppContext.swift */; }; - 02AF2BFB21E12FDD7ECDBC70D2CEA4C2 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */; }; - 0574A88B6171E5AC1A2FD4A50B162645 /* InteractionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = E82689663AAEB700A8CB02F848ABF64A /* InteractionContext.swift */; }; - 074443E7511027A2E5ED3909C0EA4C9B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - 0974040D4775D24A132FB5594C6BBDE5 /* SystemPreferencesGeneralScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = ECE5DC185ADD53B7A7187F862F4E2990 /* SystemPreferencesGeneralScreen.swift */; }; - 0BEC70C054F420D1765994BACDE4029F /* Stepper.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9F0CD3AEB5D54F3ED9A8CBE44C73D86 /* Stepper.swift */; }; - 0CA3C186D251796C4D951EE90108A1B6 /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C1D2F317F03EEAABA532C9B5135951B /* Element.swift */; }; - 139AB57FDE6DC66526D631E5C25D62C7 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9FE09B69DF2EFB9673D8F349CB29D75 /* View.swift */; }; - 14102D5429DDC1D12638AA0B4B457FE8 /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 52A5B8061DFF2E15F95CC4EB659E58FC /* TabBar.swift */; }; - 14A710FCDBF579DADE8E065FFB02DCA8 /* XCUIElement+hasKeyboardFocus.swift in Sources */ = {isa = PBXBuildFile; fileRef = A73BA3DBC721F70D93A9164DD91B44BD /* XCUIElement+hasKeyboardFocus.swift */; }; - 15A7BFB719F25690E6055C6FC883269D /* NormalizedCoordinate+Locations.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3A5EF924372D0BF1C9337CD6E3F256D /* NormalizedCoordinate+Locations.swift */; }; - 178C0B2157C033E8875D33BAFCCD1A07 /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; - 17A8E8B06586ED15CE292350563FC0B0 /* Element+defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0399EBC9AB813E8DEA2F5E3A9A65153E /* Element+defaults.swift */; }; - 1AB935836BE18762D6458997DE60D48A /* BaseApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 67A3CC02DF62577AA1EEB6718605C238 /* BaseApp.swift */; }; - 1DADB79D353FFAB2A77F1BCF4A837FFB /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = 79EEE44EA92D80539C96FFF0C6F6B72E /* Biometrics.m */; }; - 1F7F325246D5E7E04E36448552889AAC /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = C49BEF43BFCD4E949D8AD5C66A699CBF /* App.swift */; }; - 2045E7F7058CE185110A87722D9D8219 /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BA12D153745E6FECC9041B44FB7536E /* Slider.swift */; }; - 2316A192914F78C02267AF2CA39430D8 /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37E7367E2677A52235FB4AFB9EF1C14A /* Completable.swift */; }; + 0289FC8AFC384C6607AFF4BAED6B0EF2 /* NormalizedCoordinate+Locations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46E807E5C37ADDFE704A842DD3EFAA7E /* NormalizedCoordinate+Locations.swift */; }; + 03B034D04E953E6C5F04E6C880D588AE /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1B00FF7EA37A73A039336661BD8106A /* Element.swift */; }; + 048129840F067AC6750F3608B5EA6EB1 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 459930B2C0375709026C8824C2B5BC7D /* TextView.swift */; }; + 07C13F433F48A5948DCE828FD7C84FF3 /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 053B19479828C38D4110FE99134DC778 /* Table.swift */; }; + 0A87384682167E8B2102822DAC6EBB33 /* Springboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54198552547C73BCFC0216636BFD016C /* Springboard.swift */; }; + 0E3BE1B9CE0FEB8934EA4107014F6FDD /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */; }; + 11D912514CCC5588417AC5F3179626DF /* InteractionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */; }; + 155F6FB614546F9AE28C422FC440001F /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 238AF90812F1CD97B79A8399254B58A9 /* CollectionView.swift */; }; + 160F061600313E5870CA5106F8C1F639 /* NavigationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */; }; + 16F9C2B954F613BB9DF95577271980CE /* XCUIElement+wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24BFB32C3C83651B95CB53F5E69A3301 /* XCUIElement+wait.swift */; }; + 1729165E909C3E25F5806886F78ED237 /* Picker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20F58489F4723E0D3E9BB5B322A3D9AB /* Picker.swift */; }; + 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */; }; + 1BE15D7A18C0DD91F4459F136801057E /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */; }; + 20DCE3BEA955E837D61BD1802EF423A4 /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */; }; + 20F75E6ECBE6DD7DCD09F30F4A524FB8 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54DB4AA64F3152E6EECDCB67384B2CCA /* View.swift */; }; + 24D7A664D64F1AA1830EB9F476247473 /* BaseApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */; }; + 265300EF96BAB888DB099885F7266035 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */; }; 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - 26B29BD67B11E99F5980BF54164758C4 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4724B710F05C3626A7EE8C13C0599AF9 /* Keyboard.swift */; }; + 2681AF561E209E9349ADEFC141D1D0B8 /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */; }; 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 299D4F6309CC23F31E5C5D95A7E02A33 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63272E25FC5DEBFFD3F137ED371F0D90 /* Header.swift */; }; - 2AF359640A0A777754A7122D53882BD2 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 155E5165E39832CF08C9E5E5D642CD08 /* BiometricsContext.swift */; }; - 2DDFB2BDB67835155F363681B96D2C2F /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = A17837D9953239F8933ECEE37F0DB79B /* Table.swift */; }; - 37A732C41F0A423218BB88950B8597E5 /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45CCC7C69B41A0DA6942BD8B907F63C4 /* XCTFatalFail.swift */; }; - 385CE3D437C12BCFCF18F14D148A9DBE /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DDACB58E6AB184EFE630C5EAAC305B4 /* XCUIElement+isVisible.swift */; }; - 3AEA2FFC92773D0EFC732CABC0E18C6C /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C73E5A4A0C3A06AA7E4CA248D482990F /* Cell.swift */; }; + 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 2944710EF5C6C830DB74A9D17DC1656C /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */; }; + 2ABFECB772D2BE0AC0070C3A4E18787D /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */; }; + 2BA3833D588F9B589293F4D9DD3624BD /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */; }; + 2E6A459C13067843E9E733B7777D000A /* ScrollableScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */; }; + 2E9B24CA3DD108679F5153006D3FC3CF /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */; }; + 2FD699C493DE16A212BE97242655F7A5 /* SecureTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0DBDEBC520899475A1BB75B00A1EE42 /* SecureTextField.swift */; }; + 30E3E580039B6ACD368053E94CBE704E /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55E96E9766746CA610A94D58B8671EF5 /* Adjustable.swift */; }; + 3401E48E7973EB820670A7FED4276D14 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */; }; + 343D700592AB9FF9DCEDD0796C6A258F /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */; }; + 376E2DDB3B8BA4D09CFC9C00A58FB4FA /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */; }; + 37EAD2E9ADB46C4F523F45099708CFB7 /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */; }; 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */; }; - 3D53EE53A9983C943A862D0383369B25 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 405AF3459DB943FFCD3476BB813B0054 /* SystemPreferencesContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 569BA595F08DF86F9182E5974B5DB830 /* SystemPreferencesContext.swift */; }; - 40B297D608B287AB0D9A5CA8D61244C5 /* AlertContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A99B929B0E035D592DF40B175841A97 /* AlertContext.swift */; }; - 42B05AC65B8E1DD3CF49401A9828257E /* Picker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37920B45A37AC84496A9227EEE614B1C /* Picker.swift */; }; - 42C8C82E5BB15D0DC327465D2DD5F7CB /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63183B1C42462E5C8F1ED91AF4E9322C /* SystemPreferences.swift */; }; - 448350DED9B8E147225037105109EE88 /* SystemPreferencesResetScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61E92431E861AC13BB1E0BBF9C1C9705 /* SystemPreferencesResetScreen.swift */; }; - 466B4F15E513602A12E004EE0DDC43EE /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4711063A5D424D3F1C6F4B2C3F908CF9 /* NavigationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C6654B57C87D13720D1868CC9ACA277 /* NavigationContext.swift */; }; - 4A4823D97F1C603E6E916F6AB8394C79 /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 79866312168D65F43B4E475D950F5658 /* Scrollable.swift */; }; - 500956630E608335D5C517D60CBE8B98 /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5A16F13BFBEC8758A169A96F7DCB0A5 /* Editable.swift */; }; - 504271A237775675F1D30EB706BA4B17 /* ScrollableScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9962737325D2EE2B37C76F72FC176DC8 /* ScrollableScreen.swift */; }; - 563454A482C3F3164A29D86E5A0401C9 /* KeyboardContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 375B8CB1A95AB6606CEED0785F6133B5 /* KeyboardContext.swift */; }; - 58706B337ED14D46E6C40E8657BB4AD0 /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 506797A95FEFB2CBA340B84C537418A3 /* ScrollView.swift */; }; - 5C0D078BFF799A5D1948F42CB322E450 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58F3C0B870A0CAD771B2D53933977162 /* Scenario.swift */; }; - 5E0C5F15D7EFC37BB1524E6C3B03D29C /* systemPreferencesRootScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A217784DEDDA69EFB1C26D2655786FA /* systemPreferencesRootScreen.swift */; }; - 62060ABF006B5A82D5AD5F8E11359961 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4624ECFF75E5BD892DE3EF61A198D4A2 /* WebView.swift */; }; - 62B6BF67E74E645C90049BBE1E230A12 /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4CF25B8D40675B67A00756425A08490 /* TABTestCase.swift */; }; - 65D2AF0A336F7C68908F83548A0A9BD9 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1BC7134C98869DCC38DAF1BFB921CB52 /* Step.swift */; }; - 67EAC080A1EAA18C812E324A0EF30BA5 /* XCUIElement+wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A2F3282DB84E24F73123E0FA1C17554 /* XCUIElement+wait.swift */; }; - 688A664853F54967B7FA8EB3E218E5C5 /* SecureTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99FBA8E4780DF7AB74716D094413BB25 /* SecureTextField.swift */; }; - 6C2FBEC740A3B92DDC9BC64AD72F95DE /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C950423B7D8408E7ACD79E30D341257 /* Switch.swift */; }; - 70D185F324A60A5E004FCB3C /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D185F124A6095B004FCB3C /* Image.swift */; }; + 3BF3F80BCBFEF897650BFAE647F2A280 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */; }; + 3FAB8EBF9F8003C7476DB5F87B760E43 /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */; }; + 414813F69596E7C92124C3AE00104567 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 508F2267AB9D58E2EED019FFFF3540B0 /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */; }; + 522B407CD9F5D799715D4D2869DC01E7 /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */; }; + 5FB769765308A595B0FBEEDCA0335275 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */; }; + 612C506A9BA5B067666BDE960A4D94BA /* TABTestKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */; }; + 66A5B2F5AC59EDC23EB28FD09B338FFE /* AlertContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4351AF11C053255D768C13BE1B7F1B7E /* AlertContext.swift */; }; + 6DCDC8BC367DD132D1113E25A086E259 /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */; }; + 6F64941180F5308FB3A7A5C2577A29A0 /* Safari.swift in Sources */ = {isa = PBXBuildFile; fileRef = E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */; }; + 746DE544070D80A4CD388BA873C85EC0 /* SystemPreferencesContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */; }; + 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 791AD29540724A4E4A97EDD110309C35 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 7C65B1AD1DD38309227F918C67C6B3EE /* CGVector+Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */; }; + 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; + 84715F049294F85B91392E9AA16EE230 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */; }; 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */; }; - 8822DAE29FB984B65B1EB4A38613919A /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 85CD80B98228DC22E67089860B2235E7 /* Array+Safe.swift */; }; - 88F7619E0A32A61071208059FDABF353 /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 366F78B316A5AB871D08711543B5D327 /* Attributes.swift */; }; - 89105B6B18158942616CEFBD48F023C3 /* Springboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34EA09ECE216F225AA7DF4026825C436 /* Springboard.swift */; }; - 8A26761254A6E9D56F9A6FC19B5D3CDF /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ACB9E5AF7C5D4D722B8CC766BAB1FBA /* Adjustable.swift */; }; - 918CA9288BB549120A5E82A2AB05D92B /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 886869886B1BAE50408F5B03064FF0A5 /* Screen.swift */; }; - 92143C49FB13517B228D2A13C020BD89 /* TABTestKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A87829455C7C14053E4F1C53E6712C3D /* TABTestKit-dummy.m */; }; - A1B3F36E0EEE1BDC7A741349A679969B /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5D2F984F42970496420AC9D01D34C4C /* Label.swift */; }; - A262B0D22D6E0B9F7AC7F4E5E1C55383 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92B046FD3D4157B82729184D766C680 /* TextView.swift */; }; - A310A568875D600282688D84861811AA /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5ACDC4DF45BDABD2EE0F96FB47A4127 /* CollectionView.swift */; }; - A6B7FB493C8F488D44D14634485B3035 /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54D053F37E69CDA613BBBA1569E253DA /* Button.swift */; }; - A875888EDCE4946359B5860E267FCC43 /* TABTestKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B5628F62DE6E80BDE45657764D511DB7 /* TABTestKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A9808686B93329E6FCF3ED520D55A6F8 /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE4BB950FDDD5545AA0C374895FCA183 /* Tappable.swift */; }; - AD90BD422CA4EA2C9A1BE0A9FE5FC8B2 /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = D46E26BF860B4679BAC97AC87E4252C0 /* Dismissable.swift */; }; - B00F34E85A0A7DCDB1CF20865E690081 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = AE304BB77389F8AC0F2D22B44D240EF0 /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BABF2FE6F19DD036B177606A876D7649 /* Safari.swift in Sources */ = {isa = PBXBuildFile; fileRef = E488FF0E641054C5E47F83DF51B566A8 /* Safari.swift */; }; - BE915A5E64291CDE949DB23640B93639 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8A2463A917D33C5AA4945DD441E4210 /* ActivitySheet.swift */; }; - C0C20915AACF568D40CC98CF23F36929 /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593642291D278E7C793517C981CCCDDD /* CellContaining.swift */; }; - C333804EE3B8A149349F4610CECEC57A /* PageIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = E98EB900B16631526C95047EF703D60D /* PageIndicator.swift */; }; - C93C85055CD7C2C187223967534ABF2E /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = E88254D430C1C00EF22D4602CE3C351C /* NavBar.swift */; }; - CB65968054732200BD36575DCE6A2DAC /* CGVector+Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00D13E8347E8AC5D7BCF203E3F00515F /* CGVector+Offset.swift */; }; - D144C0F2DAD0215282FFDC23B9C51816 /* Alert.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1E005CF4D8327F4752B035CDBCC4AD9 /* Alert.swift */; }; - D4B4A44C5ECC306EBBD38880B531273B /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66C30B5E7EE69CEACEC323870FACB249 /* SegmentedControl.swift */; }; - D6E5507372C88FF68394A027AE0CC019 /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CAF5EF1C260556040FB711BF92A6157 /* SheetContext.swift */; }; - DA63C2BDCDFB0A29EF5D49EDF95724BF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - DBD259F00DCEBF8B47FAF1C891B2C92E /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = A36FE3D485625AF8EAAAA16F86023A8C /* XCUIDevice+frame.swift */; }; - E977590FD11E4927D24838F78C95A1D2 /* ValueRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EA7DCE018C6D76F961CB21C8379D955 /* ValueRepresentable.swift */; }; - EB07BD7B218EF378C347B2A6632CB7E0 /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66A57DA22EEDCBCFC8E9B9BC17B27034 /* Icon.swift */; }; - EE7661A93B9C6E26F9D8C1D89491F76E /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */; }; - F0B8A40FDBAE033E0558E32C1E0AC593 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 541FBC802976B19F3D33096D4DBA44F0 /* TextField.swift */; }; - FA7B349C30AF77D9B7441A253F90159F /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = F40A1605537D2846325E90FBBC53C08B /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FFFF1272DB4BF3CE0AE51496ED7C2174 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8AF0B1F740CAFDFA8E7148D75048B43B /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */; }; + 8C520520B3FEA452BE3BED8C7CE8CA1F /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */; }; + 8E34A8C9143656512A48616367E95230 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */; }; + 924F0FD4C4A04810D33A1159697F7F2F /* systemPreferencesRootScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */; }; + 949BEB4CB87783483E0F4A3C9CB745A1 /* SystemPreferencesResetScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 156706A142EA2D84F38248FBC837F4FE /* SystemPreferencesResetScreen.swift */; }; + 96BBD059D315A8A095D49DAEAC1B6591 /* Stepper.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */; }; + 9BE34F01F1F746E4014941F8AFDA688F /* KeyboardContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B77B8B20CC400E8C375FA1723F7ACC2 /* KeyboardContext.swift */; }; + A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + AB572CAE0B20E64CD7636DB54A3AACE9 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01604192DB1C9CE026013ECDAE320A58 /* ActivitySheet.swift */; }; + AF85FEFAD781B682F9F98A1C255400EE /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F543767EC0E26A318D55F65E6699BED /* TabBar.swift */; }; + B44F6E61DB873B6949B16CA4EC909F88 /* Element+defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A52EF7ABB826DFEC791EB0CB58E7CB /* Element+defaults.swift */; }; + B6A9891FF52E74BA2A1A490DD5B85BC4 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */; }; + B6A9F7439F1AF2978211B410356E9D2D /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 297E55F67281B78736519AEE8E50C97B /* Completable.swift */; }; + B7024D3885EB76F2AB4FA21989D6BD37 /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BB08585A52985192826C66EA51C71625 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A95E743358DB242EF893B17337986A1 /* WebView.swift */; }; + C2BC20E24143ABD6F5B9E4CF5FCB7ABE /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */; }; + C8A616579C1F5D65CE1FD2BD3402DDB4 /* TABTestKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0428F31B465D7152E8F31D53286A279 /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */; }; + D0CB62AABEC1CF3A6880EEFED3632F32 /* ValueRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */; }; + D135CF4B86F1DD96C7BB2F8FDB197271 /* Alert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 580AA2A73E22142A66880CCE7E718F1E /* Alert.swift */; }; + D42ABDAE7912BEF692859F6B2A94B1CE /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3813DBFD98278C34AF4FD1CB869B2C62 /* XCUIDevice+frame.swift */; }; + D5EE336DE563CF9BEDED89ECD25CF710 /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07FE2580ED80E61F8E0A680C80099156 /* CellContaining.swift */; }; + D765018875AB532D3CE38B77D90E146B /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DDA4BC0A68610BD7A49A847F7665332 /* XCTFatalFail.swift */; }; + DAE1EBDCA9285460C9FC349C73297FB1 /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBCF8955D50B0C63BB9D4A1196769CE3 /* Scrollable.swift */; }; + DED5DCD6F065ADED8BCC9EE151996A18 /* XCUIElement+hasKeyboardFocus.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */; }; + E587B0B46DA8AFB7B9B7B59809ECE6BF /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58572699EBECC18BB3625DAD6E0732D1 /* ScrollView.swift */; }; + E88F2BBDD3EF2EEB8375325073C3F5E8 /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ACDC59DF4312A9FC28888A6616FE925 /* Sheet.swift */; }; + F1CBE51E4443204A5E2A6E3601EE7BC1 /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */; }; + F1DE6CD29B77DCD7F725E84CEA902EFB /* SystemPreferencesGeneralScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */; }; + F3E2B0E0851AA5415FB3E610FA5C4E42 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */; }; + F9FCDDA7FC7209C38350C381AF1C2BC0 /* PageIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4422075987AE438F3EA8834B6B4BDC6F /* PageIndicator.swift */; }; + FF137D050D4908DEF2B0F162D58FA346 /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 08A99BEA9208FCFDB1062DADA9B40487 /* PBXContainerItemProxy */ = { + 319333D87D4033A11D3CC144486435AA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; remoteInfo = ShowTime; }; - 34A9B585AC52D00944BC81029C8F615A /* PBXContainerItemProxy */ = { + B21E0FCC9F1157FF80390E95CD15A108 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; - remoteInfo = ShowTime; + remoteGlobalIDString = 9C4F771642E79689CC6A0648ABEA808C; + remoteInfo = TABTestKit; }; - F598D08DAB210C6E35AA46DCC7485897 /* PBXContainerItemProxy */ = { + F41BBFB7252426070E01EDB3A893D81B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9C4F771642E79689CC6A0648ABEA808C; - remoteInfo = TABTestKit; + remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; + remoteInfo = ShowTime; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00D13E8347E8AC5D7BCF203E3F00515F /* CGVector+Offset.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; + 01604192DB1C9CE026013ECDAE320A58 /* ActivitySheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 0399EBC9AB813E8DEA2F5E3A9A65153E /* Element+defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Element+defaults.swift"; sourceTree = ""; }; - 0CAF5EF1C260556040FB711BF92A6157 /* SheetContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; + 053B19479828C38D4110FE99134DC778 /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; + 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; + 07FE2580ED80E61F8E0A680C80099156 /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; + 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; + 13A52EF7ABB826DFEC791EB0CB58E7CB /* Element+defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Element+defaults.swift"; sourceTree = ""; }; 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.debug.xcconfig"; sourceTree = ""; }; - 155E5165E39832CF08C9E5E5D642CD08 /* BiometricsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BiometricsContext.swift; sourceTree = ""; }; + 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; + 156706A142EA2D84F38248FBC837F4FE /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; 17AE207B2FD67E1096C542744391C322 /* Pods-TABTestKit_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-acknowledgements.plist"; sourceTree = ""; }; - 1A99B929B0E035D592DF40B175841A97 /* AlertContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; - 1BC7134C98869DCC38DAF1BFB921CB52 /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; + 1906474D57FFF05C71AD048006BF4A91 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Tappable.swift; sourceTree = ""; }; 1CB830EB632DA8DED42D4E33C4E59DD9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh"; sourceTree = ""; }; + 1F543767EC0E26A318D55F65E6699BED /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; + 20F58489F4723E0D3E9BB5B322A3D9AB /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; + 238AF90812F1CD97B79A8399254B58A9 /* CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ShowTime.framework; path = ShowTime.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 25F3D68A1C533976A44258E21892AEEA /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; + 24BFB32C3C83651B95CB53F5E69A3301 /* XCUIElement+wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-dummy.m"; sourceTree = ""; }; + 297E55F67281B78736519AEE8E50C97B /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 2DDFA47CFD600B77CF9344816ED2E83B /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3237DEBB9F9F00BA6ADAD8AB37692BCA /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 34EA09ECE216F225AA7DF4026825C436 /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; - 366F78B316A5AB871D08711543B5D327 /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; - 375B8CB1A95AB6606CEED0785F6133B5 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; - 37920B45A37AC84496A9227EEE614B1C /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; - 37E7367E2677A52235FB4AFB9EF1C14A /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; - 3840AEBC3E328CF44392723CF4428C0A /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 45CCC7C69B41A0DA6942BD8B907F63C4 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; - 4624ECFF75E5BD892DE3EF61A198D4A2 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; - 4724B710F05C3626A7EE8C13C0599AF9 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; - 49A38A5986EC7A2C2950A75F7523E23D /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; - 506797A95FEFB2CBA340B84C537418A3 /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; + 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; + 3813DBFD98278C34AF4FD1CB869B2C62 /* XCUIDevice+frame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIDevice+frame.swift"; sourceTree = ""; }; + 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BiometricsContext.swift; sourceTree = ""; }; + 3F258240A3EEB5A3C1226EE2AC25DD2E /* TABTestKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TABTestKit-Info.plist"; sourceTree = ""; }; + 401F9F79A790590558175201067C5039 /* TABTestKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-prefix.pch"; sourceTree = ""; }; + 4351AF11C053255D768C13BE1B7F1B7E /* AlertContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; + 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TABTestCase.swift; path = TABTestKit/Classes/TABTestCase.swift; sourceTree = ""; }; + 4422075987AE438F3EA8834B6B4BDC6F /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; + 459930B2C0375709026C8824C2B5BC7D /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; + 46E807E5C37ADDFE704A842DD3EFAA7E /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; + 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-umbrella.h"; sourceTree = ""; }; + 4DDA4BC0A68610BD7A49A847F7665332 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; + 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; + 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; + 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example.framework; path = "Pods-TABTestKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 51E047AEE74B13C86C26E25A3CF9801A /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; - 52A5B8061DFF2E15F95CC4EB659E58FC /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; - 541FBC802976B19F3D33096D4DBA44F0 /* TextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; + 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; + 54198552547C73BCFC0216636BFD016C /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example.modulemap"; sourceTree = ""; }; - 54D053F37E69CDA613BBBA1569E253DA /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; - 569BA595F08DF86F9182E5974B5DB830 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; - 58F3C0B870A0CAD771B2D53933977162 /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; - 593642291D278E7C793517C981CCCDDD /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; + 54DB4AA64F3152E6EECDCB67384B2CCA /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; + 55E96E9766746CA610A94D58B8671EF5 /* Adjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Adjustable.swift; sourceTree = ""; }; + 580AA2A73E22142A66880CCE7E718F1E /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; + 58572699EBECC18BB3625DAD6E0732D1 /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; + 5ACDC59DF4312A9FC28888A6616FE925 /* Sheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sheet.swift; sourceTree = ""; }; + 5B77B8B20CC400E8C375FA1723F7ACC2 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = TABTestKit.framework; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5EA7DCE018C6D76F961CB21C8379D955 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; - 61E92431E861AC13BB1E0BBF9C1C9705 /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; - 63183B1C42462E5C8F1ED91AF4E9322C /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; - 63272E25FC5DEBFFD3F137ED371F0D90 /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; - 66A57DA22EEDCBCFC8E9B9BC17B27034 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; - 66C30B5E7EE69CEACEC323870FACB249 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; - 67A3CC02DF62577AA1EEB6718605C238 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; + 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; + 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; + 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; - 6ACB9E5AF7C5D4D722B8CC766BAB1FBA /* Adjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Adjustable.swift; sourceTree = ""; }; - 6C1D2F317F03EEAABA532C9B5135951B /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; + 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; + 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; + 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-acknowledgements.markdown"; sourceTree = ""; }; - 6E9C9F4C4DD2AD85F03D2C860FAA8F4D /* TABTestKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TABTestKit-Info.plist"; sourceTree = ""; }; - 70D185F124A6095B004FCB3C /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; - 79866312168D65F43B4E475D950F5658 /* Scrollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; - 79EEE44EA92D80539C96FFF0C6F6B72E /* Biometrics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Biometrics.m; sourceTree = ""; }; + 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; + 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; - 7C950423B7D8408E7ACD79E30D341257 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; - 85CD80B98228DC22E67089860B2235E7 /* Array+Safe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; - 886869886B1BAE50408F5B03064FF0A5 /* Screen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; - 8BA12D153745E6FECC9041B44FB7536E /* Slider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; - 8DDACB58E6AB184EFE630C5EAAC305B4 /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; + 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; + 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; + 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; + 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; + 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Biometrics.m; sourceTree = ""; }; 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist"; sourceTree = ""; }; 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig"; sourceTree = ""; }; - 9962737325D2EE2B37C76F72FC176DC8 /* ScrollableScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollableScreen.swift; sourceTree = ""; }; + 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m"; sourceTree = ""; }; - 99FBA8E4780DF7AB74716D094413BB25 /* SecureTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SecureTextField.swift; sourceTree = ""; }; - 9A217784DEDDA69EFB1C26D2655786FA /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; - 9A2F3282DB84E24F73123E0FA1C17554 /* XCUIElement+wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; + 9A95E743358DB242EF893B17337986A1 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; - 9C6654B57C87D13720D1868CC9ACA277 /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-umbrella.h"; sourceTree = ""; }; - A17837D9953239F8933ECEE37F0DB79B /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; - A1E005CF4D8327F4752B035CDBCC4AD9 /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; - A27A92FC72B2C7B61B16529B1AA345BC /* TABTestKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-prefix.pch"; sourceTree = ""; }; - A36FE3D485625AF8EAAAA16F86023A8C /* XCUIDevice+frame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIDevice+frame.swift"; sourceTree = ""; }; + A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; - A4CF25B8D40675B67A00756425A08490 /* TABTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TABTestCase.swift; path = TABTestKit/Classes/TABTestCase.swift; sourceTree = ""; }; - A73BA3DBC721F70D93A9164DD91B44BD /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; - A87829455C7C14053E4F1C53E6712C3D /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; - A8A2463A917D33C5AA4945DD441E4210 /* ActivitySheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; - A92B046FD3D4157B82729184D766C680 /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; + A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; + A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesGeneralScreen.swift; sourceTree = ""; }; A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; sourceTree = ""; }; - AE304BB77389F8AC0F2D22B44D240EF0 /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; + AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; + AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.release.xcconfig"; sourceTree = ""; }; - B01AED12068937D0AAAEDDA9D645F1BD /* Sheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sheet.swift; sourceTree = ""; }; - B5628F62DE6E80BDE45657764D511DB7 /* TABTestKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-umbrella.h"; sourceTree = ""; }; - B5D2F984F42970496420AC9D01D34C4C /* Label.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; + B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; + BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; + BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; + C0DBDEBC520899475A1BB75B00A1EE42 /* SecureTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SecureTextField.swift; sourceTree = ""; }; C354231844F21D916AF8E0D9E0F587FF /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; sourceTree = ""; }; - C49BEF43BFCD4E949D8AD5C66A699CBF /* App.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; - C5A16F13BFBEC8758A169A96F7DCB0A5 /* Editable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h"; sourceTree = ""; }; - C73E5A4A0C3A06AA7E4CA248D482990F /* Cell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; - C9FE09B69DF2EFB9673D8F349CB29D75 /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; CBA3199C63C53E992A3F26F5ADCBB639 /* Pods-TABTestKit_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-Info.plist"; sourceTree = ""; }; - CE4BB950FDDD5545AA0C374895FCA183 /* Tappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Tappable.swift; sourceTree = ""; }; - D46E26BF860B4679BAC97AC87E4252C0 /* Dismissable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; - D5ACDC4DF45BDABD2EE0F96FB47A4127 /* CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; + CBCF8955D50B0C63BB9D4A1196769CE3 /* Scrollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; + CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; + D1B00FF7EA37A73A039336661BD8106A /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; + D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShowTime.swift; sourceTree = ""; }; - DE9E0BDEE013BB9D26DB57DBAC454B7C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - E3A5EF924372D0BF1C9337CD6E3F256D /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; - E488FF0E641054C5E47F83DF51B566A8 /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; - E82689663AAEB700A8CB02F848ABF64A /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; - E88254D430C1C00EF22D4602CE3C351C /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; - E98EB900B16631526C95047EF703D60D /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; + DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; + DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; + DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; + DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollableScreen.swift; sourceTree = ""; }; + E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; + E4DFAC57077CCE851795E1D054BFA3D3 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; + EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; + EC4DD53BBCB1EAFECE7C6B5C0135C9E5 /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-frameworks.sh"; sourceTree = ""; }; - ECE5DC185ADD53B7A7187F862F4E2990 /* SystemPreferencesGeneralScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesGeneralScreen.swift; sourceTree = ""; }; - EFA00CEEE0FDCF4B650882D2A54435D6 /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; - F40A1605537D2846325E90FBBC53C08B /* Biometrics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; + EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; - F9F0CD3AEB5D54F3ED9A8CBE44C73D86 /* Stepper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; + F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; + F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -240,69 +240,34 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 823A0406876FA9E26AFEBF749E8AA3E3 /* Frameworks */ = { + 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FFFF1272DB4BF3CE0AE51496ED7C2174 /* Foundation.framework in Frameworks */, - 02AF2BFB21E12FDD7ECDBC70D2CEA4C2 /* XCTest.framework in Frameworks */, + A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C5F45EBFBA89156FDAD636437B27CAAE /* Frameworks */ = { + 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 074443E7511027A2E5ED3909C0EA4C9B /* Foundation.framework in Frameworks */, + 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DA6508EB8D221EE762ADFF8A3478C2C9 /* Frameworks */ = { + B8F9CA0F89FDB831D0384478BB7D95AF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DA63C2BDCDFB0A29EF5D49EDF95724BF /* Foundation.framework in Frameworks */, + 791AD29540724A4E4A97EDD110309C35 /* Foundation.framework in Frameworks */, + F3E2B0E0851AA5415FB3E610FA5C4E42 /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0B38765BCAF70D8502D840C0788AE130 /* Elements */ = { - isa = PBXGroup; - children = ( - A8A2463A917D33C5AA4945DD441E4210 /* ActivitySheet.swift */, - A1E005CF4D8327F4752B035CDBCC4AD9 /* Alert.swift */, - 366F78B316A5AB871D08711543B5D327 /* Attributes.swift */, - 54D053F37E69CDA613BBBA1569E253DA /* Button.swift */, - C73E5A4A0C3A06AA7E4CA248D482990F /* Cell.swift */, - D5ACDC4DF45BDABD2EE0F96FB47A4127 /* CollectionView.swift */, - 63272E25FC5DEBFFD3F137ED371F0D90 /* Header.swift */, - 66A57DA22EEDCBCFC8E9B9BC17B27034 /* Icon.swift */, - 70D185F124A6095B004FCB3C /* Image.swift */, - 4724B710F05C3626A7EE8C13C0599AF9 /* Keyboard.swift */, - B5D2F984F42970496420AC9D01D34C4C /* Label.swift */, - E88254D430C1C00EF22D4602CE3C351C /* NavBar.swift */, - E98EB900B16631526C95047EF703D60D /* PageIndicator.swift */, - 37920B45A37AC84496A9227EEE614B1C /* Picker.swift */, - 506797A95FEFB2CBA340B84C537418A3 /* ScrollView.swift */, - 99FBA8E4780DF7AB74716D094413BB25 /* SecureTextField.swift */, - 66C30B5E7EE69CEACEC323870FACB249 /* SegmentedControl.swift */, - B01AED12068937D0AAAEDDA9D645F1BD /* Sheet.swift */, - 8BA12D153745E6FECC9041B44FB7536E /* Slider.swift */, - F9F0CD3AEB5D54F3ED9A8CBE44C73D86 /* Stepper.swift */, - 7C950423B7D8408E7ACD79E30D341257 /* Switch.swift */, - 52A5B8061DFF2E15F95CC4EB659E58FC /* TabBar.swift */, - A17837D9953239F8933ECEE37F0DB79B /* Table.swift */, - 541FBC802976B19F3D33096D4DBA44F0 /* TextField.swift */, - A92B046FD3D4157B82729184D766C680 /* TextView.swift */, - C9FE09B69DF2EFB9673D8F349CB29D75 /* View.swift */, - 4624ECFF75E5BD892DE3EF61A198D4A2 /* WebView.swift */, - ); - name = Elements; - path = TABTestKit/Classes/Elements; - sourceTree = ""; - }; 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -314,11 +279,21 @@ 18BB3C90BDF1A5F1D336E77B09EBB1F2 /* Development Pods */ = { isa = PBXGroup; children = ( - AC748DD3934869D114E9DC417B26A8CE /* TABTestKit */, + B313054B8570ADCDF85576D19AF73B58 /* TABTestKit */, ); name = "Development Pods"; sourceTree = ""; }; + 2A5BD5A98C0B9DAC647830914CAF61DD /* Biometrics */ = { + isa = PBXGroup; + children = ( + 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */, + D60ED239C5FD4AFD0961BB24833B2BFB /* include */, + ); + name = Biometrics; + path = TABTestKit/Classes/Biometrics; + sourceTree = ""; + }; 2C065241B34ABECCB0CE7068DB612DD4 /* Products */ = { isa = PBXGroup; children = ( @@ -330,17 +305,6 @@ name = Products; sourceTree = ""; }; - 2C0DE859E576974A75752A4C40197163 /* Screens */ = { - isa = PBXGroup; - children = ( - ECE5DC185ADD53B7A7187F862F4E2990 /* SystemPreferencesGeneralScreen.swift */, - 61E92431E861AC13BB1E0BBF9C1C9705 /* SystemPreferencesResetScreen.swift */, - 9A217784DEDDA69EFB1C26D2655786FA /* systemPreferencesRootScreen.swift */, - ); - name = Screens; - path = TABTestKit/Classes/Screens; - sourceTree = ""; - }; 2F366F56986BC5DDC447A015305D29D9 /* Pods-TABTestKit_Example */ = { isa = PBXGroup; children = ( @@ -373,21 +337,6 @@ path = "../Target Support Files/ShowTime"; sourceTree = ""; }; - 38EEFAF0FFC0FEEEB08FAB1CE4F0706B /* Support Files */ = { - isa = PBXGroup; - children = ( - EFA00CEEE0FDCF4B650882D2A54435D6 /* TABTestKit.modulemap */, - A87829455C7C14053E4F1C53E6712C3D /* TABTestKit-dummy.m */, - 6E9C9F4C4DD2AD85F03D2C860FAA8F4D /* TABTestKit-Info.plist */, - A27A92FC72B2C7B61B16529B1AA345BC /* TABTestKit-prefix.pch */, - B5628F62DE6E80BDE45657764D511DB7 /* TABTestKit-umbrella.h */, - 25F3D68A1C533976A44258E21892AEEA /* TABTestKit.debug.xcconfig */, - 51E047AEE74B13C86C26E25A3CF9801A /* TABTestKit.release.xcconfig */, - ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/TABTestKit"; - sourceTree = ""; - }; 3E285571EF144F8DACCF451128B351DD /* iOS */ = { isa = PBXGroup; children = ( @@ -397,16 +346,61 @@ name = iOS; sourceTree = ""; }; - 5649C2BDFF90BB61D5BDEEDDCBF9CA3D /* BDD */ = { + 6937532B19EE71331E44DC5431F1B4A1 /* BDD */ = { isa = PBXGroup; children = ( - 58F3C0B870A0CAD771B2D53933977162 /* Scenario.swift */, - 1BC7134C98869DCC38DAF1BFB921CB52 /* Step.swift */, + A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */, + 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */, ); name = BDD; path = TABTestKit/Classes/BDD; sourceTree = ""; }; + 7087410A6A9C169B66AD942DE1953F36 /* Elements */ = { + isa = PBXGroup; + children = ( + 01604192DB1C9CE026013ECDAE320A58 /* ActivitySheet.swift */, + 580AA2A73E22142A66880CCE7E718F1E /* Alert.swift */, + AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */, + 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */, + 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */, + 238AF90812F1CD97B79A8399254B58A9 /* CollectionView.swift */, + BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */, + EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */, + D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */, + EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */, + 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */, + 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */, + 4422075987AE438F3EA8834B6B4BDC6F /* PageIndicator.swift */, + 20F58489F4723E0D3E9BB5B322A3D9AB /* Picker.swift */, + 58572699EBECC18BB3625DAD6E0732D1 /* ScrollView.swift */, + C0DBDEBC520899475A1BB75B00A1EE42 /* SecureTextField.swift */, + DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */, + 5ACDC59DF4312A9FC28888A6616FE925 /* Sheet.swift */, + 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */, + DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */, + 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */, + 1F543767EC0E26A318D55F65E6699BED /* TabBar.swift */, + 053B19479828C38D4110FE99134DC778 /* Table.swift */, + 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */, + 459930B2C0375709026C8824C2B5BC7D /* TextView.swift */, + 54DB4AA64F3152E6EECDCB67384B2CCA /* View.swift */, + 9A95E743358DB242EF893B17337986A1 /* WebView.swift */, + ); + name = Elements; + path = TABTestKit/Classes/Elements; + sourceTree = ""; + }; + 733B241CBCD0A8E78459E444EB42B5BA /* Pod */ = { + isa = PBXGroup; + children = ( + 1906474D57FFF05C71AD048006BF4A91 /* LICENSE */, + E4DFAC57077CCE851795E1D054BFA3D3 /* README.md */, + 2DDFA47CFD600B77CF9344816ED2E83B /* TABTestKit.podspec */, + ); + name = Pod; + sourceTree = ""; + }; 7F9009F1182E3BDED6F366005188C8B5 /* Pods */ = { isa = PBXGroup; children = ( @@ -415,33 +409,63 @@ name = Pods; sourceTree = ""; }; - 8F7BB20A3DCAE742C1F592DD24562BC7 /* Apps */ = { + B01CBF1913615D7654E143DCCFED270F /* Screens */ = { + isa = PBXGroup; + children = ( + A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */, + 156706A142EA2D84F38248FBC837F4FE /* SystemPreferencesResetScreen.swift */, + 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */, + ); + name = Screens; + path = TABTestKit/Classes/Screens; + sourceTree = ""; + }; + B1DA7F371F6B9C02670204C70F0BF97D /* Protocols */ = { isa = PBXGroup; children = ( - C49BEF43BFCD4E949D8AD5C66A699CBF /* App.swift */, - 67A3CC02DF62577AA1EEB6718605C238 /* BaseApp.swift */, - E488FF0E641054C5E47F83DF51B566A8 /* Safari.swift */, - 34EA09ECE216F225AA7DF4026825C436 /* Springboard.swift */, - 63183B1C42462E5C8F1ED91AF4E9322C /* SystemPreferences.swift */, + 55E96E9766746CA610A94D58B8671EF5 /* Adjustable.swift */, + 07FE2580ED80E61F8E0A680C80099156 /* CellContaining.swift */, + 297E55F67281B78736519AEE8E50C97B /* Completable.swift */, + 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */, + F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */, + D1B00FF7EA37A73A039336661BD8106A /* Element.swift */, + DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */, + CBCF8955D50B0C63BB9D4A1196769CE3 /* Scrollable.swift */, + DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */, + 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */, + A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */, + ); + name = Protocols; + path = TABTestKit/Classes/Protocols; + sourceTree = ""; + }; + B2F6A36F3FCADAA61F68F73E6DEF3A05 /* Apps */ = { + isa = PBXGroup; + children = ( + 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */, + 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */, + E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */, + 54198552547C73BCFC0216636BFD016C /* Springboard.swift */, + 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */, ); name = Apps; path = TABTestKit/Classes/Apps; sourceTree = ""; }; - AC748DD3934869D114E9DC417B26A8CE /* TABTestKit */ = { + B313054B8570ADCDF85576D19AF73B58 /* TABTestKit */ = { isa = PBXGroup; children = ( - A4CF25B8D40675B67A00756425A08490 /* TABTestCase.swift */, - 8F7BB20A3DCAE742C1F592DD24562BC7 /* Apps */, - 5649C2BDFF90BB61D5BDEEDDCBF9CA3D /* BDD */, - DD4B1AD1950DC06752D28938E169DA6F /* Biometrics */, - CC80FE74731C94DC4E1413118DFBA08A /* Contexts */, - 0B38765BCAF70D8502D840C0788AE130 /* Elements */, - EBF0FCFBBFED65C8AC505FFA3C08E6C9 /* Extensions */, - E67CF73145FB0A1801431F9F2AFC4053 /* Pod */, - D3B98F97DFDBE64304F8C876EBB05CD4 /* Protocols */, - 2C0DE859E576974A75752A4C40197163 /* Screens */, - 38EEFAF0FFC0FEEEB08FAB1CE4F0706B /* Support Files */, + 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */, + B2F6A36F3FCADAA61F68F73E6DEF3A05 /* Apps */, + 6937532B19EE71331E44DC5431F1B4A1 /* BDD */, + 2A5BD5A98C0B9DAC647830914CAF61DD /* Biometrics */, + FD3760C34CF992B341A77A2BF3F60CD2 /* Contexts */, + 7087410A6A9C169B66AD942DE1953F36 /* Elements */, + D71D1ED83737E27BC90A82770C3F61B1 /* Extensions */, + 733B241CBCD0A8E78459E444EB42B5BA /* Pod */, + B1DA7F371F6B9C02670204C70F0BF97D /* Protocols */, + B01CBF1913615D7654E143DCCFED270F /* Screens */, + FA2375C834D09C4EC1DF3C99006DCEA2 /* Support Files */, ); name = TABTestKit; path = ../..; @@ -474,22 +498,6 @@ path = ShowTime; sourceTree = ""; }; - CC80FE74731C94DC4E1413118DFBA08A /* Contexts */ = { - isa = PBXGroup; - children = ( - 1A99B929B0E035D592DF40B175841A97 /* AlertContext.swift */, - 49A38A5986EC7A2C2950A75F7523E23D /* AppContext.swift */, - 155E5165E39832CF08C9E5E5D642CD08 /* BiometricsContext.swift */, - E82689663AAEB700A8CB02F848ABF64A /* InteractionContext.swift */, - 375B8CB1A95AB6606CEED0785F6133B5 /* KeyboardContext.swift */, - 9C6654B57C87D13720D1868CC9ACA277 /* NavigationContext.swift */, - 0CAF5EF1C260556040FB711BF92A6157 /* SheetContext.swift */, - 569BA595F08DF86F9182E5974B5DB830 /* SystemPreferencesContext.swift */, - ); - name = Contexts; - path = TABTestKit/Classes/Contexts; - sourceTree = ""; - }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( @@ -502,98 +510,99 @@ ); sourceTree = ""; }; - D3B98F97DFDBE64304F8C876EBB05CD4 /* Protocols */ = { + D60ED239C5FD4AFD0961BB24833B2BFB /* include */ = { isa = PBXGroup; children = ( - 6ACB9E5AF7C5D4D722B8CC766BAB1FBA /* Adjustable.swift */, - 593642291D278E7C793517C981CCCDDD /* CellContaining.swift */, - 37E7367E2677A52235FB4AFB9EF1C14A /* Completable.swift */, - D46E26BF860B4679BAC97AC87E4252C0 /* Dismissable.swift */, - C5A16F13BFBEC8758A169A96F7DCB0A5 /* Editable.swift */, - 6C1D2F317F03EEAABA532C9B5135951B /* Element.swift */, - 886869886B1BAE50408F5B03064FF0A5 /* Screen.swift */, - 79866312168D65F43B4E475D950F5658 /* Scrollable.swift */, - 9962737325D2EE2B37C76F72FC176DC8 /* ScrollableScreen.swift */, - CE4BB950FDDD5545AA0C374895FCA183 /* Tappable.swift */, - 5EA7DCE018C6D76F961CB21C8379D955 /* ValueRepresentable.swift */, + 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */, + 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */, ); - name = Protocols; - path = TABTestKit/Classes/Protocols; + name = include; + path = include; sourceTree = ""; }; - DD4B1AD1950DC06752D28938E169DA6F /* Biometrics */ = { + D71D1ED83737E27BC90A82770C3F61B1 /* Extensions */ = { isa = PBXGroup; children = ( - F40A1605537D2846325E90FBBC53C08B /* Biometrics.h */, - 79EEE44EA92D80539C96FFF0C6F6B72E /* Biometrics.m */, - AE304BB77389F8AC0F2D22B44D240EF0 /* Biometrics-Bridging-Header.h */, + 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */, + EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */, + 13A52EF7ABB826DFEC791EB0CB58E7CB /* Element+defaults.swift */, + 46E807E5C37ADDFE704A842DD3EFAA7E /* NormalizedCoordinate+Locations.swift */, + 4DDA4BC0A68610BD7A49A847F7665332 /* XCTFatalFail.swift */, + 3813DBFD98278C34AF4FD1CB869B2C62 /* XCUIDevice+frame.swift */, + CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */, + F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */, + 24BFB32C3C83651B95CB53F5E69A3301 /* XCUIElement+wait.swift */, ); - name = Biometrics; - path = TABTestKit/Classes/Biometrics; + name = Extensions; + path = TABTestKit/Classes/Extensions; sourceTree = ""; }; - E67CF73145FB0A1801431F9F2AFC4053 /* Pod */ = { + F7FD97F3CC6F18F4AAAE10E5DE0D2076 /* Targets Support Files */ = { isa = PBXGroup; children = ( - 3237DEBB9F9F00BA6ADAD8AB37692BCA /* LICENSE */, - DE9E0BDEE013BB9D26DB57DBAC454B7C /* README.md */, - 3840AEBC3E328CF44392723CF4428C0A /* TABTestKit.podspec */, + 2F366F56986BC5DDC447A015305D29D9 /* Pods-TABTestKit_Example */, + BF4BFAF140349307273B1343616A213B /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */, ); - name = Pod; + name = "Targets Support Files"; sourceTree = ""; }; - EBF0FCFBBFED65C8AC505FFA3C08E6C9 /* Extensions */ = { + FA2375C834D09C4EC1DF3C99006DCEA2 /* Support Files */ = { isa = PBXGroup; children = ( - 85CD80B98228DC22E67089860B2235E7 /* Array+Safe.swift */, - 00D13E8347E8AC5D7BCF203E3F00515F /* CGVector+Offset.swift */, - 0399EBC9AB813E8DEA2F5E3A9A65153E /* Element+defaults.swift */, - E3A5EF924372D0BF1C9337CD6E3F256D /* NormalizedCoordinate+Locations.swift */, - 45CCC7C69B41A0DA6942BD8B907F63C4 /* XCTFatalFail.swift */, - A36FE3D485625AF8EAAAA16F86023A8C /* XCUIDevice+frame.swift */, - A73BA3DBC721F70D93A9164DD91B44BD /* XCUIElement+hasKeyboardFocus.swift */, - 8DDACB58E6AB184EFE630C5EAAC305B4 /* XCUIElement+isVisible.swift */, - 9A2F3282DB84E24F73123E0FA1C17554 /* XCUIElement+wait.swift */, + EC4DD53BBCB1EAFECE7C6B5C0135C9E5 /* TABTestKit.modulemap */, + 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */, + 3F258240A3EEB5A3C1226EE2AC25DD2E /* TABTestKit-Info.plist */, + 401F9F79A790590558175201067C5039 /* TABTestKit-prefix.pch */, + 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */, + 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */, + 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */, ); - name = Extensions; - path = TABTestKit/Classes/Extensions; + name = "Support Files"; + path = "Example/Pods/Target Support Files/TABTestKit"; sourceTree = ""; }; - F7FD97F3CC6F18F4AAAE10E5DE0D2076 /* Targets Support Files */ = { + FD3760C34CF992B341A77A2BF3F60CD2 /* Contexts */ = { isa = PBXGroup; children = ( - 2F366F56986BC5DDC447A015305D29D9 /* Pods-TABTestKit_Example */, - BF4BFAF140349307273B1343616A213B /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */, + 4351AF11C053255D768C13BE1B7F1B7E /* AlertContext.swift */, + AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */, + 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */, + 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */, + 5B77B8B20CC400E8C375FA1723F7ACC2 /* KeyboardContext.swift */, + B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */, + BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */, + 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */, ); - name = "Targets Support Files"; + name = Contexts; + path = TABTestKit/Classes/Contexts; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 178DFB6B6BAB0C3D7EE913DF5BD7B1F0 /* Headers */ = { + 1546A71728D546C8D2A345948964F954 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3D53EE53A9983C943A862D0383369B25 /* Pods-TABTestKit_Example-umbrella.h in Headers */, + 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 89BAA0B8A088ED5072409F48F7C37567 /* Headers */ = { + A42B7353448BA3A32CB7E6407B908E88 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B00F34E85A0A7DCDB1CF20865E690081 /* Biometrics-Bridging-Header.h in Headers */, - FA7B349C30AF77D9B7441A253F90159F /* Biometrics.h in Headers */, - A875888EDCE4946359B5860E267FCC43 /* TABTestKit-umbrella.h in Headers */, + 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - AB86B7E9D6EAB08392DCE2A1DD93C606 /* Headers */ = { + B147649CC3E57641AEAD3EFABD4E8601 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 466B4F15E513602A12E004EE0DDC43EE /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */, + 414813F69596E7C92124C3AE00104567 /* Biometrics-Bridging-Header.h in Headers */, + B7024D3885EB76F2AB4FA21989D6BD37 /* Biometrics.h in Headers */, + C8A616579C1F5D65CE1FD2BD3402DDB4 /* TABTestKit-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -610,18 +619,18 @@ /* Begin PBXNativeTarget section */ 874D50CB9D57ED75CCA17B703E811C10 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = D5B2987750CBF4D7AFC2D54182302C16 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */; + buildConfigurationList = 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */; buildPhases = ( - AB86B7E9D6EAB08392DCE2A1DD93C606 /* Headers */, - 95ECBCD1734887D7515B9A6948AEC029 /* Sources */, - C5F45EBFBA89156FDAD636437B27CAAE /* Frameworks */, - A7EEE765EE1F67DCB0A455CBABB427F9 /* Resources */, + 1546A71728D546C8D2A345948964F954 /* Headers */, + 00CECBBC3E664D03D81137415A0472A9 /* Sources */, + 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */, + C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */, ); buildRules = ( ); dependencies = ( - 5881E651165AE9D8ABC7666E58180A86 /* PBXTargetDependency */, - 8E3FBE2043FCE69E094FCA9E048173C7 /* PBXTargetDependency */, + ED1616B28D516FE2EAEBF45079FC7D0D /* PBXTargetDependency */, + 08A0B6359659B5BF0FD2497214BB7C85 /* PBXTargetDependency */, ); name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; productName = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; @@ -630,17 +639,17 @@ }; 97F19241BD426C32C1C3FAF09F17AA80 /* Pods-TABTestKit_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 79E6F7CF76BD1BE7D1F1F80FC0ED4DFB /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */; + buildConfigurationList = E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */; buildPhases = ( - 178DFB6B6BAB0C3D7EE913DF5BD7B1F0 /* Headers */, - 8A4E3CDF39788C8C58AEFDD62DC67535 /* Sources */, - DA6508EB8D221EE762ADFF8A3478C2C9 /* Frameworks */, - E29162AAC217F2B0287889DDF6A6DDDE /* Resources */, + A42B7353448BA3A32CB7E6407B908E88 /* Headers */, + 9D50542E455CC3979D6826F7F6B472DE /* Sources */, + 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */, + F6CF63D106363A9CAB47BB8733EBE934 /* Resources */, ); buildRules = ( ); dependencies = ( - 09312B6A29165575FE9715A639E3078A /* PBXTargetDependency */, + A1F7EAEC6E5BF84C0A9AA629558DA8DC /* PBXTargetDependency */, ); name = "Pods-TABTestKit_Example"; productName = "Pods-TABTestKit_Example"; @@ -667,12 +676,12 @@ }; 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 6D4259A2705FFA6FE02AD80694FEA3B4 /* Build configuration list for PBXNativeTarget "TABTestKit" */; + buildConfigurationList = E366DB8D3786D6BEF7ECF3CC15E4BA06 /* Build configuration list for PBXNativeTarget "TABTestKit" */; buildPhases = ( - 89BAA0B8A088ED5072409F48F7C37567 /* Headers */, - 691507AC077A146B67EA712D0B44BC37 /* Sources */, - 823A0406876FA9E26AFEBF749E8AA3E3 /* Frameworks */, - 259FA7F4B5490D2797AE37DCF10CDBA6 /* Resources */, + B147649CC3E57641AEAD3EFABD4E8601 /* Headers */, + 126C93D1AAB3DC21D9459114A7AB82B8 /* Sources */, + B8F9CA0F89FDB831D0384478BB7D95AF /* Frameworks */, + 5BDC499E1F3F2089B50D646806807A6A /* Resources */, ); buildRules = ( ); @@ -721,21 +730,21 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 259FA7F4B5490D2797AE37DCF10CDBA6 /* Resources */ = { + 5BDC499E1F3F2089B50D646806807A6A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A7EEE765EE1F67DCB0A455CBABB427F9 /* Resources */ = { + C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E29162AAC217F2B0287889DDF6A6DDDE /* Resources */ = { + F6CF63D106363A9CAB47BB8733EBE934 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -745,94 +754,94 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 691507AC077A146B67EA712D0B44BC37 /* Sources */ = { + 00CECBBC3E664D03D81137415A0472A9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BE915A5E64291CDE949DB23640B93639 /* ActivitySheet.swift in Sources */, - 8A26761254A6E9D56F9A6FC19B5D3CDF /* Adjustable.swift in Sources */, - D144C0F2DAD0215282FFDC23B9C51816 /* Alert.swift in Sources */, - 40B297D608B287AB0D9A5CA8D61244C5 /* AlertContext.swift in Sources */, - 1F7F325246D5E7E04E36448552889AAC /* App.swift in Sources */, - 0122DDA489DC7B492E8E990DB755179A /* AppContext.swift in Sources */, - 8822DAE29FB984B65B1EB4A38613919A /* Array+Safe.swift in Sources */, - 88F7619E0A32A61071208059FDABF353 /* Attributes.swift in Sources */, - 1AB935836BE18762D6458997DE60D48A /* BaseApp.swift in Sources */, - 1DADB79D353FFAB2A77F1BCF4A837FFB /* Biometrics.m in Sources */, - 2AF359640A0A777754A7122D53882BD2 /* BiometricsContext.swift in Sources */, - A6B7FB493C8F488D44D14634485B3035 /* Button.swift in Sources */, - 3AEA2FFC92773D0EFC732CABC0E18C6C /* Cell.swift in Sources */, - C0C20915AACF568D40CC98CF23F36929 /* CellContaining.swift in Sources */, - CB65968054732200BD36575DCE6A2DAC /* CGVector+Offset.swift in Sources */, - A310A568875D600282688D84861811AA /* CollectionView.swift in Sources */, - 2316A192914F78C02267AF2CA39430D8 /* Completable.swift in Sources */, - AD90BD422CA4EA2C9A1BE0A9FE5FC8B2 /* Dismissable.swift in Sources */, - 500956630E608335D5C517D60CBE8B98 /* Editable.swift in Sources */, - 17A8E8B06586ED15CE292350563FC0B0 /* Element+defaults.swift in Sources */, - 0CA3C186D251796C4D951EE90108A1B6 /* Element.swift in Sources */, - 299D4F6309CC23F31E5C5D95A7E02A33 /* Header.swift in Sources */, - EB07BD7B218EF378C347B2A6632CB7E0 /* Icon.swift in Sources */, - 0574A88B6171E5AC1A2FD4A50B162645 /* InteractionContext.swift in Sources */, - 26B29BD67B11E99F5980BF54164758C4 /* Keyboard.swift in Sources */, - 563454A482C3F3164A29D86E5A0401C9 /* KeyboardContext.swift in Sources */, - A1B3F36E0EEE1BDC7A741349A679969B /* Label.swift in Sources */, - C93C85055CD7C2C187223967534ABF2E /* NavBar.swift in Sources */, - 4711063A5D424D3F1C6F4B2C3F908CF9 /* NavigationContext.swift in Sources */, - 15A7BFB719F25690E6055C6FC883269D /* NormalizedCoordinate+Locations.swift in Sources */, - C333804EE3B8A149349F4610CECEC57A /* PageIndicator.swift in Sources */, - 42B05AC65B8E1DD3CF49401A9828257E /* Picker.swift in Sources */, - BABF2FE6F19DD036B177606A876D7649 /* Safari.swift in Sources */, - 5C0D078BFF799A5D1948F42CB322E450 /* Scenario.swift in Sources */, - 918CA9288BB549120A5E82A2AB05D92B /* Screen.swift in Sources */, - 4A4823D97F1C603E6E916F6AB8394C79 /* Scrollable.swift in Sources */, - 504271A237775675F1D30EB706BA4B17 /* ScrollableScreen.swift in Sources */, - 58706B337ED14D46E6C40E8657BB4AD0 /* ScrollView.swift in Sources */, - 688A664853F54967B7FA8EB3E218E5C5 /* SecureTextField.swift in Sources */, - D4B4A44C5ECC306EBBD38880B531273B /* SegmentedControl.swift in Sources */, - 0088B9A63F4DF5B1A4C7F38503158A1A /* Sheet.swift in Sources */, - D6E5507372C88FF68394A027AE0CC019 /* SheetContext.swift in Sources */, - 2045E7F7058CE185110A87722D9D8219 /* Slider.swift in Sources */, - 89105B6B18158942616CEFBD48F023C3 /* Springboard.swift in Sources */, - 65D2AF0A336F7C68908F83548A0A9BD9 /* Step.swift in Sources */, - 70D185F324A60A5E004FCB3C /* Image.swift in Sources */, - 0BEC70C054F420D1765994BACDE4029F /* Stepper.swift in Sources */, - 6C2FBEC740A3B92DDC9BC64AD72F95DE /* Switch.swift in Sources */, - 42C8C82E5BB15D0DC327465D2DD5F7CB /* SystemPreferences.swift in Sources */, - 405AF3459DB943FFCD3476BB813B0054 /* SystemPreferencesContext.swift in Sources */, - 0974040D4775D24A132FB5594C6BBDE5 /* SystemPreferencesGeneralScreen.swift in Sources */, - 448350DED9B8E147225037105109EE88 /* SystemPreferencesResetScreen.swift in Sources */, - 5E0C5F15D7EFC37BB1524E6C3B03D29C /* systemPreferencesRootScreen.swift in Sources */, - 14102D5429DDC1D12638AA0B4B457FE8 /* TabBar.swift in Sources */, - 2DDFB2BDB67835155F363681B96D2C2F /* Table.swift in Sources */, - 62B6BF67E74E645C90049BBE1E230A12 /* TABTestCase.swift in Sources */, - 92143C49FB13517B228D2A13C020BD89 /* TABTestKit-dummy.m in Sources */, - A9808686B93329E6FCF3ED520D55A6F8 /* Tappable.swift in Sources */, - F0B8A40FDBAE033E0558E32C1E0AC593 /* TextField.swift in Sources */, - A262B0D22D6E0B9F7AC7F4E5E1C55383 /* TextView.swift in Sources */, - E977590FD11E4927D24838F78C95A1D2 /* ValueRepresentable.swift in Sources */, - 139AB57FDE6DC66526D631E5C25D62C7 /* View.swift in Sources */, - 62060ABF006B5A82D5AD5F8E11359961 /* WebView.swift in Sources */, - 37A732C41F0A423218BB88950B8597E5 /* XCTFatalFail.swift in Sources */, - DBD259F00DCEBF8B47FAF1C891B2C92E /* XCUIDevice+frame.swift in Sources */, - 14A710FCDBF579DADE8E065FFB02DCA8 /* XCUIElement+hasKeyboardFocus.swift in Sources */, - 385CE3D437C12BCFCF18F14D148A9DBE /* XCUIElement+isVisible.swift in Sources */, - 67EAC080A1EAA18C812E324A0EF30BA5 /* XCUIElement+wait.swift in Sources */, + 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8A4E3CDF39788C8C58AEFDD62DC67535 /* Sources */ = { + 126C93D1AAB3DC21D9459114A7AB82B8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 178C0B2157C033E8875D33BAFCCD1A07 /* Pods-TABTestKit_Example-dummy.m in Sources */, + AB572CAE0B20E64CD7636DB54A3AACE9 /* ActivitySheet.swift in Sources */, + 30E3E580039B6ACD368053E94CBE704E /* Adjustable.swift in Sources */, + D135CF4B86F1DD96C7BB2F8FDB197271 /* Alert.swift in Sources */, + 66A5B2F5AC59EDC23EB28FD09B338FFE /* AlertContext.swift in Sources */, + 8E34A8C9143656512A48616367E95230 /* App.swift in Sources */, + 20DCE3BEA955E837D61BD1802EF423A4 /* AppContext.swift in Sources */, + 508F2267AB9D58E2EED019FFFF3540B0 /* Array+Safe.swift in Sources */, + 8C520520B3FEA452BE3BED8C7CE8CA1F /* Attributes.swift in Sources */, + 24D7A664D64F1AA1830EB9F476247473 /* BaseApp.swift in Sources */, + F1CBE51E4443204A5E2A6E3601EE7BC1 /* Biometrics.m in Sources */, + B6A9891FF52E74BA2A1A490DD5B85BC4 /* BiometricsContext.swift in Sources */, + 2BA3833D588F9B589293F4D9DD3624BD /* Button.swift in Sources */, + 3401E48E7973EB820670A7FED4276D14 /* Cell.swift in Sources */, + D5EE336DE563CF9BEDED89ECD25CF710 /* CellContaining.swift in Sources */, + 7C65B1AD1DD38309227F918C67C6B3EE /* CGVector+Offset.swift in Sources */, + 155F6FB614546F9AE28C422FC440001F /* CollectionView.swift in Sources */, + B6A9F7439F1AF2978211B410356E9D2D /* Completable.swift in Sources */, + 3FAB8EBF9F8003C7476DB5F87B760E43 /* Dismissable.swift in Sources */, + 2681AF561E209E9349ADEFC141D1D0B8 /* Editable.swift in Sources */, + B44F6E61DB873B6949B16CA4EC909F88 /* Element+defaults.swift in Sources */, + 03B034D04E953E6C5F04E6C880D588AE /* Element.swift in Sources */, + 3BF3F80BCBFEF897650BFAE647F2A280 /* Header.swift in Sources */, + 8AF0B1F740CAFDFA8E7148D75048B43B /* Icon.swift in Sources */, + 1BE15D7A18C0DD91F4459F136801057E /* Image.swift in Sources */, + 11D912514CCC5588417AC5F3179626DF /* InteractionContext.swift in Sources */, + 5FB769765308A595B0FBEEDCA0335275 /* Keyboard.swift in Sources */, + 9BE34F01F1F746E4014941F8AFDA688F /* KeyboardContext.swift in Sources */, + FF137D050D4908DEF2B0F162D58FA346 /* Label.swift in Sources */, + D0428F31B465D7152E8F31D53286A279 /* NavBar.swift in Sources */, + 160F061600313E5870CA5106F8C1F639 /* NavigationContext.swift in Sources */, + 0289FC8AFC384C6607AFF4BAED6B0EF2 /* NormalizedCoordinate+Locations.swift in Sources */, + F9FCDDA7FC7209C38350C381AF1C2BC0 /* PageIndicator.swift in Sources */, + 1729165E909C3E25F5806886F78ED237 /* Picker.swift in Sources */, + 6F64941180F5308FB3A7A5C2577A29A0 /* Safari.swift in Sources */, + 265300EF96BAB888DB099885F7266035 /* Scenario.swift in Sources */, + 2E9B24CA3DD108679F5153006D3FC3CF /* Screen.swift in Sources */, + DAE1EBDCA9285460C9FC349C73297FB1 /* Scrollable.swift in Sources */, + 2E6A459C13067843E9E733B7777D000A /* ScrollableScreen.swift in Sources */, + E587B0B46DA8AFB7B9B7B59809ECE6BF /* ScrollView.swift in Sources */, + 2FD699C493DE16A212BE97242655F7A5 /* SecureTextField.swift in Sources */, + 522B407CD9F5D799715D4D2869DC01E7 /* SegmentedControl.swift in Sources */, + E88F2BBDD3EF2EEB8375325073C3F5E8 /* Sheet.swift in Sources */, + 376E2DDB3B8BA4D09CFC9C00A58FB4FA /* SheetContext.swift in Sources */, + 0E3BE1B9CE0FEB8934EA4107014F6FDD /* Slider.swift in Sources */, + 0A87384682167E8B2102822DAC6EBB33 /* Springboard.swift in Sources */, + 84715F049294F85B91392E9AA16EE230 /* Step.swift in Sources */, + 96BBD059D315A8A095D49DAEAC1B6591 /* Stepper.swift in Sources */, + 2944710EF5C6C830DB74A9D17DC1656C /* Switch.swift in Sources */, + 2ABFECB772D2BE0AC0070C3A4E18787D /* SystemPreferences.swift in Sources */, + 746DE544070D80A4CD388BA873C85EC0 /* SystemPreferencesContext.swift in Sources */, + F1DE6CD29B77DCD7F725E84CEA902EFB /* SystemPreferencesGeneralScreen.swift in Sources */, + 949BEB4CB87783483E0F4A3C9CB745A1 /* SystemPreferencesResetScreen.swift in Sources */, + 924F0FD4C4A04810D33A1159697F7F2F /* systemPreferencesRootScreen.swift in Sources */, + AF85FEFAD781B682F9F98A1C255400EE /* TabBar.swift in Sources */, + 07C13F433F48A5948DCE828FD7C84FF3 /* Table.swift in Sources */, + 37EAD2E9ADB46C4F523F45099708CFB7 /* TABTestCase.swift in Sources */, + 612C506A9BA5B067666BDE960A4D94BA /* TABTestKit-dummy.m in Sources */, + 343D700592AB9FF9DCEDD0796C6A258F /* Tappable.swift in Sources */, + C2BC20E24143ABD6F5B9E4CF5FCB7ABE /* TextField.swift in Sources */, + 048129840F067AC6750F3608B5EA6EB1 /* TextView.swift in Sources */, + D0CB62AABEC1CF3A6880EEFED3632F32 /* ValueRepresentable.swift in Sources */, + 20F75E6ECBE6DD7DCD09F30F4A524FB8 /* View.swift in Sources */, + BB08585A52985192826C66EA51C71625 /* WebView.swift in Sources */, + D765018875AB532D3CE38B77D90E146B /* XCTFatalFail.swift in Sources */, + D42ABDAE7912BEF692859F6B2A94B1CE /* XCUIDevice+frame.swift in Sources */, + DED5DCD6F065ADED8BCC9EE151996A18 /* XCUIElement+hasKeyboardFocus.swift in Sources */, + 6DCDC8BC367DD132D1113E25A086E259 /* XCUIElement+isVisible.swift in Sources */, + 16F9C2B954F613BB9DF95577271980CE /* XCUIElement+wait.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 95ECBCD1734887D7515B9A6948AEC029 /* Sources */ = { + 9D50542E455CC3979D6826F7F6B472DE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EE7661A93B9C6E26F9D8C1D89491F76E /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */, + 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -848,61 +857,27 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 09312B6A29165575FE9715A639E3078A /* PBXTargetDependency */ = { + 08A0B6359659B5BF0FD2497214BB7C85 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = ShowTime; - target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; - targetProxy = 08A99BEA9208FCFDB1062DADA9B40487 /* PBXContainerItemProxy */; + name = TABTestKit; + target = 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */; + targetProxy = B21E0FCC9F1157FF80390E95CD15A108 /* PBXContainerItemProxy */; }; - 5881E651165AE9D8ABC7666E58180A86 /* PBXTargetDependency */ = { + A1F7EAEC6E5BF84C0A9AA629558DA8DC /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ShowTime; target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; - targetProxy = 34A9B585AC52D00944BC81029C8F615A /* PBXContainerItemProxy */; + targetProxy = F41BBFB7252426070E01EDB3A893D81B /* PBXContainerItemProxy */; }; - 8E3FBE2043FCE69E094FCA9E048173C7 /* PBXTargetDependency */ = { + ED1616B28D516FE2EAEBF45079FC7D0D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = TABTestKit; - target = 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */; - targetProxy = F598D08DAB210C6E35AA46DCC7485897 /* PBXContainerItemProxy */; + name = ShowTime; + target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; + targetProxy = 319333D87D4033A11D3CC144486435AA /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 04AD86BD59E502EB4165D14CE560F1DA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; 196DFA3E4A09A28224918543529A1885 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -967,9 +942,9 @@ }; name = Debug; }; - 6C819537364B96E186690D73CEBDFFC3 /* Release */ = { + 20BBE192749698B6FF5488E2D716DC1B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 51E047AEE74B13C86C26E25A3CF9801A /* TABTestKit.release.xcconfig */; + baseConfigurationReference = 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */; buildSettings = { CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; @@ -984,7 +959,7 @@ GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; PRODUCT_MODULE_NAME = TABTestKit; @@ -1000,10 +975,11 @@ }; name = Release; }; - 75D67567350CEF62F84DE095085E611A /* Debug */ = { + 43A9EBE61D5CD254BF71D6D2C4946B25 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 25F3D68A1C533976A44258E21892AEEA /* TABTestKit.debug.xcconfig */; + baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1014,27 +990,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; - PRODUCT_MODULE_NAME = TABTestKit; - PRODUCT_NAME = TABTestKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 9C0A9FDB00AEE995DC0E28A40BE47865 /* Release */ = { + 98F06A0FF82B22636D978C21C3610096 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; + baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1047,12 +1025,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1099,6 +1077,72 @@ }; name = Release; }; + AB3028D89F1A9733E9273B202576A7A6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + ABC2BC2DB619DF51CC04B5FF48CDB383 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1159,9 +1203,9 @@ }; name = Release; }; - C0F86FFA8B484F56DFC4CD061AFD2E99 /* Debug */ = { + BB20B983018612F88F93316CF971D97A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; + baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1174,12 +1218,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1224,85 +1268,50 @@ }; name = Debug; }; - E562A84BB67EECCC3A64BB37709EF005 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { + 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - D638E423895A2C1C466433CCA95C495B /* Debug */, - A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */, + BB20B983018612F88F93316CF971D97A /* Debug */, + 43A9EBE61D5CD254BF71D6D2C4946B25 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { isa = XCConfigurationList; buildConfigurations = ( - 196DFA3E4A09A28224918543529A1885 /* Debug */, - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, + D638E423895A2C1C466433CCA95C495B /* Debug */, + A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6D4259A2705FFA6FE02AD80694FEA3B4 /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 75D67567350CEF62F84DE095085E611A /* Debug */, - 6C819537364B96E186690D73CEBDFFC3 /* Release */, + 196DFA3E4A09A28224918543529A1885 /* Debug */, + B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 79E6F7CF76BD1BE7D1F1F80FC0ED4DFB /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { + E366DB8D3786D6BEF7ECF3CC15E4BA06 /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - C0F86FFA8B484F56DFC4CD061AFD2E99 /* Debug */, - E562A84BB67EECCC3A64BB37709EF005 /* Release */, + ABC2BC2DB619DF51CC04B5FF48CDB383 /* Debug */, + 20BBE192749698B6FF5488E2D716DC1B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D5B2987750CBF4D7AFC2D54182302C16 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { + E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 04AD86BD59E502EB4165D14CE560F1DA /* Debug */, - 9C0A9FDB00AEE995DC0E28A40BE47865 /* Release */, + AB3028D89F1A9733E9273B202576A7A6 /* Debug */, + 98F06A0FF82B22636D978C21C3610096 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TABTestKit.xcscheme b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TABTestKit.xcscheme index cdfb4fca..093f8403 100644 --- a/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TABTestKit.xcscheme +++ b/Example/Pods/Pods.xcodeproj/xcshareddata/xcschemes/TABTestKit.xcscheme @@ -1,10 +1,6 @@ >>>>>> develop + LastUpgradeVersion = "1200" version = "1.3"> >>>>>> develop + BlueprintIdentifier = "9C4F771642E79689CC6A0648ABEA808C" BuildableName = "TABTestKit.framework" BlueprintName = "TABTestKit" ReferencedContainer = "container:Pods.xcodeproj"> @@ -37,8 +29,6 @@ shouldUseLaunchSchemeArgsEnv = "YES"> - - + + >>>>>> develop + BlueprintIdentifier = "9C4F771642E79689CC6A0648ABEA808C" BuildableName = "TABTestKit.framework" BlueprintName = "TABTestKit" ReferencedContainer = "container:Pods.xcodeproj"> - - - - diff --git a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist index 2abd42fb..1b1d3d06 100644 --- a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist +++ b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.6.1 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.6.1 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + diff --git a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-umbrella.h b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-umbrella.h index 5dd56372..467419a4 100644 --- a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-umbrella.h +++ b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-umbrella.h @@ -10,8 +10,6 @@ #endif #endif -#import "Biometrics-Bridging-Header.h" -#import "Biometrics.h" #import "Biometrics-Bridging-Header.h" #import "Biometrics.h" diff --git a/Example/Pods/Target Support Files/TABTestKit/TABTestKit.debug.xcconfig b/Example/Pods/Target Support Files/TABTestKit/TABTestKit.debug.xcconfig index 811e72ec..d013c636 100644 --- a/Example/Pods/Target Support Files/TABTestKit/TABTestKit.debug.xcconfig +++ b/Example/Pods/Target Support Files/TABTestKit/TABTestKit.debug.xcconfig @@ -2,7 +2,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/TABTestKit ENABLE_BITCODE = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" OTHER_LDFLAGS = $(inherited) -framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} @@ -11,6 +10,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/TABTestKit/TABTestKit.release.xcconfig b/Example/Pods/Target Support Files/TABTestKit/TABTestKit.release.xcconfig index 811e72ec..d013c636 100644 --- a/Example/Pods/Target Support Files/TABTestKit/TABTestKit.release.xcconfig +++ b/Example/Pods/Target Support Files/TABTestKit/TABTestKit.release.xcconfig @@ -2,7 +2,6 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/TABTestKit ENABLE_BITCODE = NO FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" OTHER_LDFLAGS = $(inherited) -framework "XCTest" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} @@ -11,6 +10,4 @@ PODS_ROOT = ${SRCROOT} PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_INCLUDE_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/usr/lib" -SYSTEM_FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks" USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit-Example.xcscheme b/Example/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit-Example.xcscheme index 3eb74562..cbba1384 100644 --- a/Example/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit-Example.xcscheme +++ b/Example/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit-Example.xcscheme @@ -39,17 +39,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/TABTestKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Example/TABTestKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings index 0c67376e..08de0be8 100644 --- a/Example/TABTestKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/Example/TABTestKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -1,5 +1,8 @@ - + + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + + diff --git a/TABTestKit.xcodeproj/project.pbxproj b/TABTestKit.xcodeproj/project.pbxproj deleted file mode 100644 index c644508c..00000000 --- a/TABTestKit.xcodeproj/project.pbxproj +++ /dev/null @@ -1,710 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 70D1C4DD24BDEFE70047A2EB /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D1C4DC24BDEFE70047A2EB /* Image.swift */; }; - 9536C80D2412A7D100D4B362 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9536C80C2412A7D100D4B362 /* ActivitySheet.swift */; }; - 957289A72481452C00DBC55D /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957289A62481452C00DBC55D /* Icon.swift */; }; - 95D471C22397C8C1002BEFCA /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4716B2397C8C1002BEFCA /* SheetContext.swift */; }; - 95D471C32397C8C1002BEFCA /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4716C2397C8C1002BEFCA /* BiometricsContext.swift */; }; - 95D471C42397C8C1002BEFCA /* NavigationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4716D2397C8C1002BEFCA /* NavigationContext.swift */; }; - 95D471C52397C8C1002BEFCA /* InteractionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4716E2397C8C1002BEFCA /* InteractionContext.swift */; }; - 95D471C62397C8C1002BEFCA /* KeyboardContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4716F2397C8C1002BEFCA /* KeyboardContext.swift */; }; - 95D471C72397C8C1002BEFCA /* SystemPreferencesContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471702397C8C1002BEFCA /* SystemPreferencesContext.swift */; }; - 95D471C82397C8C1002BEFCA /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471712397C8C1002BEFCA /* AppContext.swift */; }; - 95D471C92397C8C1002BEFCA /* AlertContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471722397C8C1002BEFCA /* AlertContext.swift */; }; - 95D471CB2397C8C1002BEFCA /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471752397C8C1002BEFCA /* XCUIElement+isVisible.swift */; }; - 95D471CC2397C8C1002BEFCA /* XCUIElement+hasKeyboardFocus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471762397C8C1002BEFCA /* XCUIElement+hasKeyboardFocus.swift */; }; - 95D471CD2397C8C1002BEFCA /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471772397C8C1002BEFCA /* XCUIDevice+frame.swift */; }; - 95D471CE2397C8C1002BEFCA /* XCUIElement+wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471782397C8C1002BEFCA /* XCUIElement+wait.swift */; }; - 95D471CF2397C8C1002BEFCA /* CGVector+Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471792397C8C1002BEFCA /* CGVector+Offset.swift */; }; - 95D471D02397C8C1002BEFCA /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4717A2397C8C1002BEFCA /* Array+Safe.swift */; }; - 95D471D12397C8C1002BEFCA /* NormalizedCoordinate+Locations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4717B2397C8C1002BEFCA /* NormalizedCoordinate+Locations.swift */; }; - 95D471D22397C8C1002BEFCA /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4717C2397C8C1002BEFCA /* XCTFatalFail.swift */; }; - 95D471D32397C8C1002BEFCA /* Element+defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4717D2397C8C1002BEFCA /* Element+defaults.swift */; }; - 95D471D42397C8C1002BEFCA /* SystemPreferencesResetScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4717F2397C8C1002BEFCA /* SystemPreferencesResetScreen.swift */; }; - 95D471D52397C8C1002BEFCA /* SystemPreferencesGeneralScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471802397C8C1002BEFCA /* SystemPreferencesGeneralScreen.swift */; }; - 95D471D62397C8C1002BEFCA /* systemPreferencesRootScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471812397C8C1002BEFCA /* systemPreferencesRootScreen.swift */; }; - 95D471D72397C8C1002BEFCA /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471832397C8C1002BEFCA /* TabBar.swift */; }; - 95D471D82397C8C1002BEFCA /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471842397C8C1002BEFCA /* Label.swift */; }; - 95D471D92397C8C1002BEFCA /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471852397C8C1002BEFCA /* Sheet.swift */; }; - 95D471DA2397C8C1002BEFCA /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471862397C8C1002BEFCA /* View.swift */; }; - 95D471DB2397C8C1002BEFCA /* Picker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471872397C8C1002BEFCA /* Picker.swift */; }; - 95D471DC2397C8C1002BEFCA /* Alert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471882397C8C1002BEFCA /* Alert.swift */; }; - 95D471DD2397C8C1002BEFCA /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471892397C8C1002BEFCA /* CollectionView.swift */; }; - 95D471DE2397C8C1002BEFCA /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4718A2397C8C1002BEFCA /* Cell.swift */; }; - 95D471DF2397C8C1002BEFCA /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4718B2397C8C1002BEFCA /* Attributes.swift */; }; - 95D471E02397C8C1002BEFCA /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4718C2397C8C1002BEFCA /* SegmentedControl.swift */; }; - 95D471E12397C8C1002BEFCA /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4718D2397C8C1002BEFCA /* Table.swift */; }; - 95D471E22397C8C1002BEFCA /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4718E2397C8C1002BEFCA /* ScrollView.swift */; }; - 95D471E32397C8C1002BEFCA /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4718F2397C8C1002BEFCA /* Header.swift */; }; - 95D471E42397C8C1002BEFCA /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471902397C8C1002BEFCA /* Switch.swift */; }; - 95D471E52397C8C1002BEFCA /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471912397C8C1002BEFCA /* TextField.swift */; }; - 95D471E62397C8C1002BEFCA /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471922397C8C1002BEFCA /* WebView.swift */; }; - 95D471E72397C8C1002BEFCA /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471932397C8C1002BEFCA /* NavBar.swift */; }; - 95D471E82397C8C1002BEFCA /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471942397C8C1002BEFCA /* TextView.swift */; }; - 95D471E92397C8C1002BEFCA /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471952397C8C1002BEFCA /* Slider.swift */; }; - 95D471EA2397C8C1002BEFCA /* PageIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471962397C8C1002BEFCA /* PageIndicator.swift */; }; - 95D471EB2397C8C1002BEFCA /* Stepper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471972397C8C1002BEFCA /* Stepper.swift */; }; - 95D471EC2397C8C1002BEFCA /* SecureTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471982397C8C1002BEFCA /* SecureTextField.swift */; }; - 95D471ED2397C8C1002BEFCA /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471992397C8C1002BEFCA /* Keyboard.swift */; }; - 95D471EE2397C8C1002BEFCA /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4719A2397C8C1002BEFCA /* Button.swift */; }; - 95D471F42397C8C1002BEFCA /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471A92397C8C1002BEFCA /* SystemPreferences.swift */; }; - 95D471F52397C8C1002BEFCA /* Safari.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471AA2397C8C1002BEFCA /* Safari.swift */; }; - 95D471F62397C8C1002BEFCA /* BaseApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471AB2397C8C1002BEFCA /* BaseApp.swift */; }; - 95D471F72397C8C1002BEFCA /* Springboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471AC2397C8C1002BEFCA /* Springboard.swift */; }; - 95D471F82397C8C1002BEFCA /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471AD2397C8C1002BEFCA /* App.swift */; }; - 95D471F92397C8C1002BEFCA /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471AF2397C8C1002BEFCA /* Scrollable.swift */; }; - 95D471FA2397C8C1002BEFCA /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B02397C8C1002BEFCA /* Tappable.swift */; }; - 95D471FB2397C8C1002BEFCA /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B12397C8C1002BEFCA /* Completable.swift */; }; - 95D471FC2397C8C1002BEFCA /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B22397C8C1002BEFCA /* Dismissable.swift */; }; - 95D471FD2397C8C1002BEFCA /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B32397C8C1002BEFCA /* Element.swift */; }; - 95D471FE2397C8C1002BEFCA /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B42397C8C1002BEFCA /* Adjustable.swift */; }; - 95D471FF2397C8C1002BEFCA /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B52397C8C1002BEFCA /* Editable.swift */; }; - 95D472002397C8C1002BEFCA /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B62397C8C1002BEFCA /* Screen.swift */; }; - 95D472012397C8C1002BEFCA /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B72397C8C1002BEFCA /* CellContaining.swift */; }; - 95D472022397C8C1002BEFCA /* ScrollableScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B82397C8C1002BEFCA /* ScrollableScreen.swift */; }; - 95D472032397C8C1002BEFCA /* ValueRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471B92397C8C1002BEFCA /* ValueRepresentable.swift */; }; - 95D472042397C8C1002BEFCA /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471BA2397C8C1002BEFCA /* TABTestCase.swift */; }; - 95D472082397C90D002BEFCA /* TABTestKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 95D472062397C90D002BEFCA /* TABTestKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 95D4722E2397CBEB002BEFCA /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95D4722A2397CB1E002BEFCA /* XCTest.framework */; }; - 95EB8E54239E4BE5007336E8 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 95D471652397C8C1002BEFCA /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 95EB8E55239E4BE8007336E8 /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = 95D471662397C8C1002BEFCA /* Biometrics.m */; }; - 95EB8E56239E4BFD007336E8 /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 95D4715D2397C8C1002BEFCA /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 95EB8E57239E4CC4007336E8 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471A52397C8C1002BEFCA /* Step.swift */; }; - 95EB8E58239E4CC7007336E8 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D471A72397C8C1002BEFCA /* Scenario.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 70D1C4DC24BDEFE70047A2EB /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; - 9536C80C2412A7D100D4B362 /* ActivitySheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; - 957289A62481452C00DBC55D /* Icon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; - 95D471462397C1A9002BEFCA /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 95D4715D2397C8C1002BEFCA /* Biometrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; - 95D471652397C8C1002BEFCA /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; - 95D471662397C8C1002BEFCA /* Biometrics.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Biometrics.m; sourceTree = ""; }; - 95D4716B2397C8C1002BEFCA /* SheetContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; - 95D4716C2397C8C1002BEFCA /* BiometricsContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BiometricsContext.swift; sourceTree = ""; }; - 95D4716D2397C8C1002BEFCA /* NavigationContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; - 95D4716E2397C8C1002BEFCA /* InteractionContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; - 95D4716F2397C8C1002BEFCA /* KeyboardContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; - 95D471702397C8C1002BEFCA /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; - 95D471712397C8C1002BEFCA /* AppContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; - 95D471722397C8C1002BEFCA /* AlertContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; - 95D471752397C8C1002BEFCA /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; - 95D471762397C8C1002BEFCA /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; - 95D471772397C8C1002BEFCA /* XCUIDevice+frame.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "XCUIDevice+frame.swift"; sourceTree = ""; }; - 95D471782397C8C1002BEFCA /* XCUIElement+wait.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; - 95D471792397C8C1002BEFCA /* CGVector+Offset.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; - 95D4717A2397C8C1002BEFCA /* Array+Safe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; - 95D4717B2397C8C1002BEFCA /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; - 95D4717C2397C8C1002BEFCA /* XCTFatalFail.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; - 95D4717D2397C8C1002BEFCA /* Element+defaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Element+defaults.swift"; sourceTree = ""; }; - 95D4717F2397C8C1002BEFCA /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; - 95D471802397C8C1002BEFCA /* SystemPreferencesGeneralScreen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPreferencesGeneralScreen.swift; sourceTree = ""; }; - 95D471812397C8C1002BEFCA /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; - 95D471832397C8C1002BEFCA /* TabBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; - 95D471842397C8C1002BEFCA /* Label.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; - 95D471852397C8C1002BEFCA /* Sheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Sheet.swift; sourceTree = ""; }; - 95D471862397C8C1002BEFCA /* View.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; - 95D471872397C8C1002BEFCA /* Picker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; - 95D471882397C8C1002BEFCA /* Alert.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; - 95D471892397C8C1002BEFCA /* CollectionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; - 95D4718A2397C8C1002BEFCA /* Cell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; - 95D4718B2397C8C1002BEFCA /* Attributes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; - 95D4718C2397C8C1002BEFCA /* SegmentedControl.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; - 95D4718D2397C8C1002BEFCA /* Table.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; - 95D4718E2397C8C1002BEFCA /* ScrollView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; - 95D4718F2397C8C1002BEFCA /* Header.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; - 95D471902397C8C1002BEFCA /* Switch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; - 95D471912397C8C1002BEFCA /* TextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; - 95D471922397C8C1002BEFCA /* WebView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; - 95D471932397C8C1002BEFCA /* NavBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; - 95D471942397C8C1002BEFCA /* TextView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; - 95D471952397C8C1002BEFCA /* Slider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; - 95D471962397C8C1002BEFCA /* PageIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; - 95D471972397C8C1002BEFCA /* Stepper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; - 95D471982397C8C1002BEFCA /* SecureTextField.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SecureTextField.swift; sourceTree = ""; }; - 95D471992397C8C1002BEFCA /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; - 95D4719A2397C8C1002BEFCA /* Button.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; - 95D471A52397C8C1002BEFCA /* Step.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; - 95D471A72397C8C1002BEFCA /* Scenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; - 95D471A92397C8C1002BEFCA /* SystemPreferences.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; - 95D471AA2397C8C1002BEFCA /* Safari.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; - 95D471AB2397C8C1002BEFCA /* BaseApp.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; - 95D471AC2397C8C1002BEFCA /* Springboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; - 95D471AD2397C8C1002BEFCA /* App.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; - 95D471AF2397C8C1002BEFCA /* Scrollable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; - 95D471B02397C8C1002BEFCA /* Tappable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Tappable.swift; sourceTree = ""; }; - 95D471B12397C8C1002BEFCA /* Completable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; - 95D471B22397C8C1002BEFCA /* Dismissable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; - 95D471B32397C8C1002BEFCA /* Element.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; - 95D471B42397C8C1002BEFCA /* Adjustable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Adjustable.swift; sourceTree = ""; }; - 95D471B52397C8C1002BEFCA /* Editable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; - 95D471B62397C8C1002BEFCA /* Screen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; - 95D471B72397C8C1002BEFCA /* CellContaining.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; - 95D471B82397C8C1002BEFCA /* ScrollableScreen.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScrollableScreen.swift; sourceTree = ""; }; - 95D471B92397C8C1002BEFCA /* ValueRepresentable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; - 95D471BA2397C8C1002BEFCA /* TABTestCase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TABTestCase.swift; sourceTree = ""; }; - 95D472062397C90D002BEFCA /* TABTestKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TABTestKit.h; sourceTree = ""; }; - 95D472072397C90D002BEFCA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 95D4722A2397CB1E002BEFCA /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 95D471432397C1A9002BEFCA /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 95D4722E2397CBEB002BEFCA /* XCTest.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 95D4713C2397C1A9002BEFCA = { - isa = PBXGroup; - children = ( - 95D4715B2397C8C1002BEFCA /* Classes */, - 95D472052397C90D002BEFCA /* Supporting Files */, - 95D471472397C1A9002BEFCA /* Products */, - 95D472292397CB1E002BEFCA /* Frameworks */, - ); - sourceTree = ""; - }; - 95D471472397C1A9002BEFCA /* Products */ = { - isa = PBXGroup; - children = ( - 95D471462397C1A9002BEFCA /* TABTestKit.framework */, - ); - name = Products; - sourceTree = ""; - }; - 95D4715B2397C8C1002BEFCA /* Classes */ = { - isa = PBXGroup; - children = ( - 95D4715C2397C8C1002BEFCA /* Biometrics */, - 95D4716A2397C8C1002BEFCA /* Contexts */, - 95D471742397C8C1002BEFCA /* Extensions */, - 95D4717E2397C8C1002BEFCA /* Screens */, - 95D471822397C8C1002BEFCA /* Elements */, - 95D4719B2397C8C1002BEFCA /* BDD */, - 95D471A82397C8C1002BEFCA /* Apps */, - 95D471AE2397C8C1002BEFCA /* Protocols */, - 95D471BA2397C8C1002BEFCA /* TABTestCase.swift */, - ); - name = Classes; - path = TABTestKit/Classes; - sourceTree = ""; - }; - 95D4715C2397C8C1002BEFCA /* Biometrics */ = { - isa = PBXGroup; - children = ( - 95D4715D2397C8C1002BEFCA /* Biometrics.h */, - 95D471652397C8C1002BEFCA /* Biometrics-Bridging-Header.h */, - 95D471662397C8C1002BEFCA /* Biometrics.m */, - ); - path = Biometrics; - sourceTree = ""; - }; - 95D4716A2397C8C1002BEFCA /* Contexts */ = { - isa = PBXGroup; - children = ( - 95D471722397C8C1002BEFCA /* AlertContext.swift */, - 95D471712397C8C1002BEFCA /* AppContext.swift */, - 95D4716C2397C8C1002BEFCA /* BiometricsContext.swift */, - 95D4716E2397C8C1002BEFCA /* InteractionContext.swift */, - 95D4716F2397C8C1002BEFCA /* KeyboardContext.swift */, - 95D4716D2397C8C1002BEFCA /* NavigationContext.swift */, - 95D4716B2397C8C1002BEFCA /* SheetContext.swift */, - 95D471702397C8C1002BEFCA /* SystemPreferencesContext.swift */, - ); - path = Contexts; - sourceTree = ""; - }; - 95D471742397C8C1002BEFCA /* Extensions */ = { - isa = PBXGroup; - children = ( - 95D4717A2397C8C1002BEFCA /* Array+Safe.swift */, - 95D471792397C8C1002BEFCA /* CGVector+Offset.swift */, - 95D4717D2397C8C1002BEFCA /* Element+defaults.swift */, - 95D4717B2397C8C1002BEFCA /* NormalizedCoordinate+Locations.swift */, - 95D4717C2397C8C1002BEFCA /* XCTFatalFail.swift */, - 95D471772397C8C1002BEFCA /* XCUIDevice+frame.swift */, - 95D471762397C8C1002BEFCA /* XCUIElement+hasKeyboardFocus.swift */, - 95D471752397C8C1002BEFCA /* XCUIElement+isVisible.swift */, - 95D471782397C8C1002BEFCA /* XCUIElement+wait.swift */, - ); - path = Extensions; - sourceTree = ""; - }; - 95D4717E2397C8C1002BEFCA /* Screens */ = { - isa = PBXGroup; - children = ( - 95D471802397C8C1002BEFCA /* SystemPreferencesGeneralScreen.swift */, - 95D4717F2397C8C1002BEFCA /* SystemPreferencesResetScreen.swift */, - 95D471812397C8C1002BEFCA /* systemPreferencesRootScreen.swift */, - ); - path = Screens; - sourceTree = ""; - }; - 95D471822397C8C1002BEFCA /* Elements */ = { - isa = PBXGroup; - children = ( - 9536C80C2412A7D100D4B362 /* ActivitySheet.swift */, - 95D471882397C8C1002BEFCA /* Alert.swift */, - 95D4718B2397C8C1002BEFCA /* Attributes.swift */, - 95D4719A2397C8C1002BEFCA /* Button.swift */, - 95D4718A2397C8C1002BEFCA /* Cell.swift */, - 95D471892397C8C1002BEFCA /* CollectionView.swift */, - 95D4718F2397C8C1002BEFCA /* Header.swift */, - 957289A62481452C00DBC55D /* Icon.swift */, - 70D1C4DC24BDEFE70047A2EB /* Image.swift */, - 95D471992397C8C1002BEFCA /* Keyboard.swift */, - 95D471842397C8C1002BEFCA /* Label.swift */, - 95D471932397C8C1002BEFCA /* NavBar.swift */, - 95D471962397C8C1002BEFCA /* PageIndicator.swift */, - 95D471872397C8C1002BEFCA /* Picker.swift */, - 95D4718E2397C8C1002BEFCA /* ScrollView.swift */, - 95D471982397C8C1002BEFCA /* SecureTextField.swift */, - 95D4718C2397C8C1002BEFCA /* SegmentedControl.swift */, - 95D471852397C8C1002BEFCA /* Sheet.swift */, - 95D471952397C8C1002BEFCA /* Slider.swift */, - 95D471972397C8C1002BEFCA /* Stepper.swift */, - 95D471902397C8C1002BEFCA /* Switch.swift */, - 95D471832397C8C1002BEFCA /* TabBar.swift */, - 95D4718D2397C8C1002BEFCA /* Table.swift */, - 95D471912397C8C1002BEFCA /* TextField.swift */, - 95D471942397C8C1002BEFCA /* TextView.swift */, - 95D471862397C8C1002BEFCA /* View.swift */, - 95D471922397C8C1002BEFCA /* WebView.swift */, - ); - path = Elements; - sourceTree = ""; - }; - 95D4719B2397C8C1002BEFCA /* BDD */ = { - isa = PBXGroup; - children = ( - 95D471A72397C8C1002BEFCA /* Scenario.swift */, - 95D471A52397C8C1002BEFCA /* Step.swift */, - ); - path = BDD; - sourceTree = ""; - }; - 95D471A82397C8C1002BEFCA /* Apps */ = { - isa = PBXGroup; - children = ( - 95D471AD2397C8C1002BEFCA /* App.swift */, - 95D471AB2397C8C1002BEFCA /* BaseApp.swift */, - 95D471AA2397C8C1002BEFCA /* Safari.swift */, - 95D471AC2397C8C1002BEFCA /* Springboard.swift */, - 95D471A92397C8C1002BEFCA /* SystemPreferences.swift */, - ); - path = Apps; - sourceTree = ""; - }; - 95D471AE2397C8C1002BEFCA /* Protocols */ = { - isa = PBXGroup; - children = ( - 95D471B42397C8C1002BEFCA /* Adjustable.swift */, - 95D471B72397C8C1002BEFCA /* CellContaining.swift */, - 95D471B12397C8C1002BEFCA /* Completable.swift */, - 95D471B22397C8C1002BEFCA /* Dismissable.swift */, - 95D471B52397C8C1002BEFCA /* Editable.swift */, - 95D471B32397C8C1002BEFCA /* Element.swift */, - 95D471B62397C8C1002BEFCA /* Screen.swift */, - 95D471AF2397C8C1002BEFCA /* Scrollable.swift */, - 95D471B82397C8C1002BEFCA /* ScrollableScreen.swift */, - 95D471B02397C8C1002BEFCA /* Tappable.swift */, - 95D471B92397C8C1002BEFCA /* ValueRepresentable.swift */, - ); - path = Protocols; - sourceTree = ""; - }; - 95D472052397C90D002BEFCA /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 95D472062397C90D002BEFCA /* TABTestKit.h */, - 95D472072397C90D002BEFCA /* Info.plist */, - ); - name = "Supporting Files"; - path = "TABTestKit/Supporting Files"; - sourceTree = ""; - }; - 95D472292397CB1E002BEFCA /* Frameworks */ = { - isa = PBXGroup; - children = ( - 95D4722A2397CB1E002BEFCA /* XCTest.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 95D471412397C1A9002BEFCA /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 95EB8E56239E4BFD007336E8 /* Biometrics.h in Headers */, - 95EB8E54239E4BE5007336E8 /* Biometrics-Bridging-Header.h in Headers */, - 95D472082397C90D002BEFCA /* TABTestKit.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 95D471452397C1A9002BEFCA /* TABTestKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = 95D4714E2397C1A9002BEFCA /* Build configuration list for PBXNativeTarget "TABTestKit" */; - buildPhases = ( - 95D471412397C1A9002BEFCA /* Headers */, - 95D471422397C1A9002BEFCA /* Sources */, - 95D471432397C1A9002BEFCA /* Frameworks */, - 95D471442397C1A9002BEFCA /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = TABTestKit; - productName = TABTestKit; - productReference = 95D471462397C1A9002BEFCA /* TABTestKit.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 95D4713D2397C1A9002BEFCA /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1120; - ORGANIZATIONNAME = "The App Business"; - TargetAttributes = { - 95D471452397C1A9002BEFCA = { - CreatedOnToolsVersion = 11.2.1; - }; - }; - }; - buildConfigurationList = 95D471402397C1A9002BEFCA /* Build configuration list for PBXProject "TABTestKit" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 95D4713C2397C1A9002BEFCA; - productRefGroup = 95D471472397C1A9002BEFCA /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 95D471452397C1A9002BEFCA /* TABTestKit */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 95D471442397C1A9002BEFCA /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 95D471422397C1A9002BEFCA /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 95D471E62397C8C1002BEFCA /* WebView.swift in Sources */, - 95D471EB2397C8C1002BEFCA /* Stepper.swift in Sources */, - 95D471C32397C8C1002BEFCA /* BiometricsContext.swift in Sources */, - 95D471CF2397C8C1002BEFCA /* CGVector+Offset.swift in Sources */, - 95D471E82397C8C1002BEFCA /* TextView.swift in Sources */, - 95D471DD2397C8C1002BEFCA /* CollectionView.swift in Sources */, - 95D471F52397C8C1002BEFCA /* Safari.swift in Sources */, - 95D471C82397C8C1002BEFCA /* AppContext.swift in Sources */, - 95D471D12397C8C1002BEFCA /* NormalizedCoordinate+Locations.swift in Sources */, - 95D471D52397C8C1002BEFCA /* SystemPreferencesGeneralScreen.swift in Sources */, - 95D471D32397C8C1002BEFCA /* Element+defaults.swift in Sources */, - 95D471F82397C8C1002BEFCA /* App.swift in Sources */, - 95D471DE2397C8C1002BEFCA /* Cell.swift in Sources */, - 95D471E32397C8C1002BEFCA /* Header.swift in Sources */, - 95D471D42397C8C1002BEFCA /* SystemPreferencesResetScreen.swift in Sources */, - 95D471C92397C8C1002BEFCA /* AlertContext.swift in Sources */, - 95D471F92397C8C1002BEFCA /* Scrollable.swift in Sources */, - 95D471ED2397C8C1002BEFCA /* Keyboard.swift in Sources */, - 95D471FC2397C8C1002BEFCA /* Dismissable.swift in Sources */, - 95D471F62397C8C1002BEFCA /* BaseApp.swift in Sources */, - 95D471D22397C8C1002BEFCA /* XCTFatalFail.swift in Sources */, - 95D471DC2397C8C1002BEFCA /* Alert.swift in Sources */, - 95D471DB2397C8C1002BEFCA /* Picker.swift in Sources */, - 95D471CE2397C8C1002BEFCA /* XCUIElement+wait.swift in Sources */, - 95D471FB2397C8C1002BEFCA /* Completable.swift in Sources */, - 95D471E52397C8C1002BEFCA /* TextField.swift in Sources */, - 95D472022397C8C1002BEFCA /* ScrollableScreen.swift in Sources */, - 95D471FE2397C8C1002BEFCA /* Adjustable.swift in Sources */, - 95D471E12397C8C1002BEFCA /* Table.swift in Sources */, - 95EB8E58239E4CC7007336E8 /* Scenario.swift in Sources */, - 95D472042397C8C1002BEFCA /* TABTestCase.swift in Sources */, - 95D472012397C8C1002BEFCA /* CellContaining.swift in Sources */, - 95D471FF2397C8C1002BEFCA /* Editable.swift in Sources */, - 95D471D82397C8C1002BEFCA /* Label.swift in Sources */, - 95D471F42397C8C1002BEFCA /* SystemPreferences.swift in Sources */, - 95D471D02397C8C1002BEFCA /* Array+Safe.swift in Sources */, - 95D472002397C8C1002BEFCA /* Screen.swift in Sources */, - 9536C80D2412A7D100D4B362 /* ActivitySheet.swift in Sources */, - 95D471EC2397C8C1002BEFCA /* SecureTextField.swift in Sources */, - 95D471FA2397C8C1002BEFCA /* Tappable.swift in Sources */, - 95EB8E57239E4CC4007336E8 /* Step.swift in Sources */, - 95D471EE2397C8C1002BEFCA /* Button.swift in Sources */, - 95D471E72397C8C1002BEFCA /* NavBar.swift in Sources */, - 95D471CD2397C8C1002BEFCA /* XCUIDevice+frame.swift in Sources */, - 95D471CB2397C8C1002BEFCA /* XCUIElement+isVisible.swift in Sources */, - 95D471D92397C8C1002BEFCA /* Sheet.swift in Sources */, - 95D471C62397C8C1002BEFCA /* KeyboardContext.swift in Sources */, - 95D471C22397C8C1002BEFCA /* SheetContext.swift in Sources */, - 95D472032397C8C1002BEFCA /* ValueRepresentable.swift in Sources */, - 95D471E22397C8C1002BEFCA /* ScrollView.swift in Sources */, - 95D471D62397C8C1002BEFCA /* systemPreferencesRootScreen.swift in Sources */, - 95D471CC2397C8C1002BEFCA /* XCUIElement+hasKeyboardFocus.swift in Sources */, - 95D471C42397C8C1002BEFCA /* NavigationContext.swift in Sources */, - 95D471D72397C8C1002BEFCA /* TabBar.swift in Sources */, - 957289A72481452C00DBC55D /* Icon.swift in Sources */, - 95D471DA2397C8C1002BEFCA /* View.swift in Sources */, - 95D471E92397C8C1002BEFCA /* Slider.swift in Sources */, - 95D471EA2397C8C1002BEFCA /* PageIndicator.swift in Sources */, - 95D471C72397C8C1002BEFCA /* SystemPreferencesContext.swift in Sources */, - 70D1C4DD24BDEFE70047A2EB /* Image.swift in Sources */, - 95D471DF2397C8C1002BEFCA /* Attributes.swift in Sources */, - 95D471F72397C8C1002BEFCA /* Springboard.swift in Sources */, - 95D471E02397C8C1002BEFCA /* SegmentedControl.swift in Sources */, - 95D471C52397C8C1002BEFCA /* InteractionContext.swift in Sources */, - 95D471E42397C8C1002BEFCA /* Switch.swift in Sources */, - 95EB8E55239E4BE8007336E8 /* Biometrics.m in Sources */, - 95D471FD2397C8C1002BEFCA /* Element.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 95D4714C2397C1A9002BEFCA /* 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_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; - CURRENT_PROJECT_VERSION = 1; - 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 = 10.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"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 95D4714D2397C1A9002BEFCA /* 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_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; - CURRENT_PROJECT_VERSION = 1; - 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 = 10.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 95D4714F2397C1A9002BEFCA /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - INFOPLIST_FILE = "$(SRCROOT)/TABTestKit/Supporting Files/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.theappbusiness.TABTestKit; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; - SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 95D471502397C1A9002BEFCA /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PLATFORM_DIR)/Developer/Library/Frameworks", - ); - INFOPLIST_FILE = "$(SRCROOT)/TABTestKit/Supporting Files/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.theappbusiness.TABTestKit; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; - SKIP_INSTALL = YES; - SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 95D471402397C1A9002BEFCA /* Build configuration list for PBXProject "TABTestKit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 95D4714C2397C1A9002BEFCA /* Debug */, - 95D4714D2397C1A9002BEFCA /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 95D4714E2397C1A9002BEFCA /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 95D4714F2397C1A9002BEFCA /* Debug */, - 95D471502397C1A9002BEFCA /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 95D4713D2397C1A9002BEFCA /* Project object */; -} diff --git a/TABTestKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/TABTestKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 23a3bd84..00000000 --- a/TABTestKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/TABTestKit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/TABTestKit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/TABTestKit.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit.xcscheme b/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit.xcscheme deleted file mode 100644 index b6d40703..00000000 --- a/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - From bc74988f15f28a07d123f948da3c815c296c3c47 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Jul 2020 18:06:52 +0100 Subject: [PATCH 051/103] Updated Travis file --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 446f8b78..0438fa2e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,6 @@ addons: update: false script: -- set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit_ExampleUITests -sdk $IPHONE_SIMULATOR_SDK -destination "OS=$OS_VERSION,name=$IPHONE_NAME" | xcpretty +- set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit_Example -sdk $IPHONE_SIMULATOR_SDK -destination "OS=$OS_VERSION,name=$IPHONE_NAME" | xcpretty - carthage build --archive - pod lib lint From 382b89ba76e6d497b88a9473abc58154dc98916c Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Jul 2020 18:10:44 +0100 Subject: [PATCH 052/103] Added a PR template --- PULL_REQUEST_TEMPLATE.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 PULL_REQUEST_TEMPLATE.md diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..77d3e023 --- /dev/null +++ b/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,2 @@ +- [ ] Run `pod install` to ensure that the latest changes are in the Example project. Without this, Carthage might not see the latest changes. +- [ ] Added and updated tests where possible. From ae779392919471014023203055916635ab452cdf Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Jul 2020 18:20:32 +0100 Subject: [PATCH 053/103] Changed scheme name --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0438fa2e..0054498a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,6 @@ addons: update: false script: -- set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit_Example -sdk $IPHONE_SIMULATOR_SDK -destination "OS=$OS_VERSION,name=$IPHONE_NAME" | xcpretty +- set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -sdk $IPHONE_SIMULATOR_SDK -destination "OS=$OS_VERSION,name=$IPHONE_NAME" | xcpretty - carthage build --archive - pod lib lint From aa27126545189ca0eddbc6da6c310db4a00e5a71 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Jul 2020 19:48:01 +0100 Subject: [PATCH 054/103] Updated Travis file to build for SPM --- .../xcschemes/TABTestKit.xcscheme | 81 +++++++++++++++++++ .travis.yml | 11 ++- 2 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 .swiftpm/xcode/xcshareddata/xcschemes/TABTestKit.xcscheme diff --git a/.swiftpm/xcode/xcshareddata/xcschemes/TABTestKit.xcscheme b/.swiftpm/xcode/xcshareddata/xcschemes/TABTestKit.xcscheme new file mode 100644 index 00000000..196e7e55 --- /dev/null +++ b/.swiftpm/xcode/xcshareddata/xcschemes/TABTestKit.xcscheme @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.travis.yml b/.travis.yml index 0054498a..546b7d10 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,11 @@ addons: update: false script: -- set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -sdk $IPHONE_SIMULATOR_SDK -destination "OS=$OS_VERSION,name=$IPHONE_NAME" | xcpretty -- carthage build --archive -- pod lib lint + # Ensure SPM builds + - set -o pipefail && xcodebuild -workspace .swiftpm/xcode/package.xcworkspace -scheme TABTestKit -sdk iphonesimulator13.6 | xcpretty + # Ensure Carthage builds + - carthage build --archive + # Ensure Cocoapods builds + - pod lib lint + # Ensure tests pass + - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -sdk $IPHONE_SIMULATOR_SDK -destination "OS=$OS_VERSION,name=$IPHONE_NAME" | xcpretty From a46a82f08adbf00664fc16d1b324a2662db21995 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Jul 2020 19:50:48 +0100 Subject: [PATCH 055/103] Uses variable --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 546b7d10..c4c1003b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,7 @@ addons: script: # Ensure SPM builds - - set -o pipefail && xcodebuild -workspace .swiftpm/xcode/package.xcworkspace -scheme TABTestKit -sdk iphonesimulator13.6 | xcpretty + - set -o pipefail && xcodebuild -workspace .swiftpm/xcode/package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty # Ensure Carthage builds - carthage build --archive # Ensure Cocoapods builds From 29b3c844af6d690100f29690dafd8574d2bdb5b0 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Thu, 30 Jul 2020 21:11:35 +0100 Subject: [PATCH 056/103] Yoinked the generated xcode project for Travis to use to test the build for spm --- .../xcschemes/TABTestKit.xcscheme | 81 ------------------- .travis.yml | 2 +- .../contents.xcworkspacedata | 0 3 files changed, 1 insertion(+), 82 deletions(-) delete mode 100644 .swiftpm/xcode/xcshareddata/xcschemes/TABTestKit.xcscheme rename {.swiftpm/xcode/package.xcworkspace => package.xcworkspace}/contents.xcworkspacedata (100%) diff --git a/.swiftpm/xcode/xcshareddata/xcschemes/TABTestKit.xcscheme b/.swiftpm/xcode/xcshareddata/xcschemes/TABTestKit.xcscheme deleted file mode 100644 index 196e7e55..00000000 --- a/.swiftpm/xcode/xcshareddata/xcschemes/TABTestKit.xcscheme +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.travis.yml b/.travis.yml index c4c1003b..7a6b4ea6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,7 @@ addons: script: # Ensure SPM builds - - set -o pipefail && xcodebuild -workspace .swiftpm/xcode/package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty + - set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty # Ensure Carthage builds - carthage build --archive # Ensure Cocoapods builds diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/package.xcworkspace/contents.xcworkspacedata similarity index 100% rename from .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata rename to package.xcworkspace/contents.xcworkspacedata From 69a40ce7f5d3021246c0d08267b9211d284015c5 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 09:50:49 +0100 Subject: [PATCH 057/103] Moved script --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7a6b4ea6..0520260c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,9 @@ matrix: env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' - osx_image: xcode11.6 env: IPHONE_SIMULATOR_SDK='iphonesimulator13.6' OS_VERSION='13.6' IPHONE_NAME='iPhone 11 Pro' + script: + # Ensure SPM builds + - set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty addons: @@ -17,8 +20,6 @@ addons: update: false script: - # Ensure SPM builds - - set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty # Ensure Carthage builds - carthage build --archive # Ensure Cocoapods builds From 93bcb37c323d863897c437a96b8655ca4ee45681 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 10:13:16 +0100 Subject: [PATCH 058/103] Updated Travis file --- .travis.yml | 13 ++++++++----- PULL_REQUEST_TEMPLATE.md | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0520260c..1b010444 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,15 +3,16 @@ language: swift os: - osx +env: + - IOS_12_VERSION='12.4' # The specific version to use for iOS 12 + - IOS_12_SIMULATOR_SDK='iphonesimulator$IOS_12_VERSION' + matrix: include: - osx_image: xcode10.3 - env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' + env: IPHONE_SIMULATOR_SDK=$IOS_12_SIMULATOR_SDK OS_VERSION='$IOS_12_VERSION' IPHONE_NAME='iPhone Xs' - osx_image: xcode11.6 env: IPHONE_SIMULATOR_SDK='iphonesimulator13.6' OS_VERSION='13.6' IPHONE_NAME='iPhone 11 Pro' - script: - # Ensure SPM builds - - set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty addons: @@ -20,9 +21,11 @@ addons: update: false script: + # Ensure SPM builds. SPM is only supported for Xcode 11 and newer, so we'll ignore this step if trying to build for iOS 12 (Xcode 11) + - if [ $IPHONE_SIMULATOR_SDK != $IOS_12_SIMULATOR_SDK ]; then set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty; fi # Ensure Carthage builds - carthage build --archive # Ensure Cocoapods builds - - pod lib lint + - pod lib lint --verbose # Ensure tests pass - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -sdk $IPHONE_SIMULATOR_SDK -destination "OS=$OS_VERSION,name=$IPHONE_NAME" | xcpretty diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 77d3e023..068b6f7b 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -1,2 +1,3 @@ - [ ] Run `pod install` to ensure that the latest changes are in the Example project. Without this, Carthage might not see the latest changes. - [ ] Added and updated tests where possible. +- [ ] Updated the changelog. For any changes pending a release, add to the Pending section. For releases, move everything pending to the release section. From fdd4e4bb4a75b7f2d0ce3a1707819db45bb5d4f7 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 10:16:42 +0100 Subject: [PATCH 059/103] Removed quotes for variable usage --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1b010444..e87c2033 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ env: matrix: include: - osx_image: xcode10.3 - env: IPHONE_SIMULATOR_SDK=$IOS_12_SIMULATOR_SDK OS_VERSION='$IOS_12_VERSION' IPHONE_NAME='iPhone Xs' + env: IPHONE_SIMULATOR_SDK=$IOS_12_SIMULATOR_SDK OS_VERSION=$IOS_12_VERSION IPHONE_NAME='iPhone Xs' - osx_image: xcode11.6 env: IPHONE_SIMULATOR_SDK='iphonesimulator13.6' OS_VERSION='13.6' IPHONE_NAME='iPhone 11 Pro' From 671fcee98802a43bf88f2f41eae4f4fd9ea28fb6 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 10:25:25 +0100 Subject: [PATCH 060/103] Reverted --- .travis.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index e87c2033..a79c3fc9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,14 +3,10 @@ language: swift os: - osx -env: - - IOS_12_VERSION='12.4' # The specific version to use for iOS 12 - - IOS_12_SIMULATOR_SDK='iphonesimulator$IOS_12_VERSION' - matrix: include: - osx_image: xcode10.3 - env: IPHONE_SIMULATOR_SDK=$IOS_12_SIMULATOR_SDK OS_VERSION=$IOS_12_VERSION IPHONE_NAME='iPhone Xs' + env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' - osx_image: xcode11.6 env: IPHONE_SIMULATOR_SDK='iphonesimulator13.6' OS_VERSION='13.6' IPHONE_NAME='iPhone 11 Pro' @@ -22,7 +18,7 @@ addons: script: # Ensure SPM builds. SPM is only supported for Xcode 11 and newer, so we'll ignore this step if trying to build for iOS 12 (Xcode 11) - - if [ $IPHONE_SIMULATOR_SDK != $IOS_12_SIMULATOR_SDK ]; then set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty; fi + - if [ $IPHONE_SIMULATOR_SDK != 'iphonesimulator12.4' ]; then set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty; fi # Ensure Carthage builds - carthage build --archive # Ensure Cocoapods builds From 2978f72350c4eda19c1e92e6644a277e76bc9a12 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 10:27:41 +0100 Subject: [PATCH 061/103] Maybe the global way will work? --- .travis.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index a79c3fc9..496e5c26 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,10 +3,15 @@ language: swift os: - osx +env: + global: + - IOS_12_VERSION='12.4' # The specific version to use for iOS 12 + - IOS_12_SIMULATOR_SDK='iphonesimulator$IOS_12_VERSION' + matrix: include: - osx_image: xcode10.3 - env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' + env: IPHONE_SIMULATOR_SDK=$IOS_12_SIMULATOR_SDK OS_VERSION=$IOS_12_VERSION IPHONE_NAME='iPhone Xs' - osx_image: xcode11.6 env: IPHONE_SIMULATOR_SDK='iphonesimulator13.6' OS_VERSION='13.6' IPHONE_NAME='iPhone 11 Pro' @@ -18,7 +23,7 @@ addons: script: # Ensure SPM builds. SPM is only supported for Xcode 11 and newer, so we'll ignore this step if trying to build for iOS 12 (Xcode 11) - - if [ $IPHONE_SIMULATOR_SDK != 'iphonesimulator12.4' ]; then set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty; fi + - if [ $IPHONE_SIMULATOR_SDK != $IOS_12_SIMULATOR_SDK ]; then set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty; fi # Ensure Carthage builds - carthage build --archive # Ensure Cocoapods builds From 9154cd9f48a7d57ba80944dceddaee372d8d31a0 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 10:44:01 +0100 Subject: [PATCH 062/103] =?UTF-8?q?Global=20vars=20didn=E2=80=99t=20work?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .travis.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 496e5c26..3159383b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,15 +3,10 @@ language: swift os: - osx -env: - global: - - IOS_12_VERSION='12.4' # The specific version to use for iOS 12 - - IOS_12_SIMULATOR_SDK='iphonesimulator$IOS_12_VERSION' - matrix: include: - osx_image: xcode10.3 - env: IPHONE_SIMULATOR_SDK=$IOS_12_SIMULATOR_SDK OS_VERSION=$IOS_12_VERSION IPHONE_NAME='iPhone Xs' + env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' - osx_image: xcode11.6 env: IPHONE_SIMULATOR_SDK='iphonesimulator13.6' OS_VERSION='13.6' IPHONE_NAME='iPhone 11 Pro' @@ -23,7 +18,7 @@ addons: script: # Ensure SPM builds. SPM is only supported for Xcode 11 and newer, so we'll ignore this step if trying to build for iOS 12 (Xcode 11) - - if [ $IPHONE_SIMULATOR_SDK != $IOS_12_SIMULATOR_SDK ]; then set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty; fi + - if [ $OS_VERSION != '12.4' ]; then set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty; fi # Ensure Carthage builds - carthage build --archive # Ensure Cocoapods builds From 5f2ce86ecac0ef34681506af147879c73c410c3a Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 12:06:21 +0100 Subject: [PATCH 063/103] Updated comment --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3159383b..3825dd65 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ addons: update: false script: - # Ensure SPM builds. SPM is only supported for Xcode 11 and newer, so we'll ignore this step if trying to build for iOS 12 (Xcode 11) + # Ensure SPM builds. SPM is only supported for Xcode 11 and newer, so we'll ignore this step if trying to build for iOS 12 (Xcode 10) - if [ $OS_VERSION != '12.4' ]; then set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty; fi # Ensure Carthage builds - carthage build --archive From 03cb024af5bc0ba8d386ac34af511bbc92e90e66 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 14:43:35 +0100 Subject: [PATCH 064/103] added option to finish fast --- .travis.yml | 1 + PULL_REQUEST_TEMPLATE.md | 1 + 2 files changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 3825dd65..493757e5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,7 @@ os: - osx matrix: + fast_finish: true include: - osx_image: xcode10.3 env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 068b6f7b..e1b59830 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -1,3 +1,4 @@ +- [ ] When adding files, make sure they're added to the right target. If you're adding new files that should be bundled up with Cocoapods etc, they need to be added to the `TABTestKit` target, not `Pods-TABTestKit_Example` etc. - [ ] Run `pod install` to ensure that the latest changes are in the Example project. Without this, Carthage might not see the latest changes. - [ ] Added and updated tests where possible. - [ ] Updated the changelog. For any changes pending a release, add to the Pending section. For releases, move everything pending to the release section. From 509f18bf983548425cff210cf5c27d9f264cebad Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 16:29:22 +0100 Subject: [PATCH 065/103] Updated README --- README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 93c7825a..9932f036 100644 --- a/README.md +++ b/README.md @@ -333,6 +333,9 @@ func test_serverErrorLoggingIn() { Another exclusive feature of **TABTestKit** is that it makes it possible (and very easy!) to automation iOS biometrics in the simulator. +> **NOTE:** If you're using Swift Package Manager, you'll need to `import` the `Biometrics` module to use the `Biometrics` class directly. +> Until issue [118](https://github.com/theappbusiness/TABTestKit/issues/118) is closed + #### Enabling and disabling device biometrics @@ -1817,6 +1820,16 @@ app, like Face ID permission prompts. ## Installation + +### Swift Package Manager + +You can add **TABTestKit** as a remote Swift Package dependency in Xcode 11 or newer. + +Due to the way SPM requires mixed-langage packages to be built, if you want to use the +`Biometrics` class, you'll need to `import Biometrics` until we expose it in Swift (issue [#118](https://github.com/theappbusiness/TABTestKit/issues/118)). + +You don't need to `import Biometrics` if you're just using the helper functions in `BiometricsContext`. + ### Cocoapods #### Latest @@ -1888,11 +1901,6 @@ To use the version under development you can target the `develop` branch specifi github "TABTestKit" "develop" ``` -### Swift Package Manager - -**TABTestKit** does not yet support SPM, please feel free to open a PR to add -support if your project needs it! - ## Contributing Guidelines for contributing can be found [here](CONTRIBUTING.md). From 7a9e67c213dbe0beb2a9c8719b0ed69116839987 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Fri, 31 Jul 2020 16:30:32 +0100 Subject: [PATCH 066/103] Updated template --- PULL_REQUEST_TEMPLATE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index e1b59830..b0d83aa9 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -1,4 +1,5 @@ - [ ] When adding files, make sure they're added to the right target. If you're adding new files that should be bundled up with Cocoapods etc, they need to be added to the `TABTestKit` target, not `Pods-TABTestKit_Example` etc. - [ ] Run `pod install` to ensure that the latest changes are in the Example project. Without this, Carthage might not see the latest changes. - [ ] Added and updated tests where possible. -- [ ] Updated the changelog. For any changes pending a release, add to the Pending section. For releases, move everything pending to the release section. +- [ ] Updated the CHANGELOG. For any changes pending a release, add to the Pending section. For releases, move everything pending to the release section. +- [ ] Updated the README. Add info for any new features, update existing info for anything that's changed or needs extra info. From 3c4cde9e5ae386aad65e2d411214b67a22f6c73a Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Mon, 3 Aug 2020 11:52:34 +0200 Subject: [PATCH 067/103] Update TABTestKit/Classes/Contexts/InteractionContext.swift Co-authored-by: Roger TAN --- .../Classes/Contexts/InteractionContext.swift | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/TABTestKit/Classes/Contexts/InteractionContext.swift b/TABTestKit/Classes/Contexts/InteractionContext.swift index 1a586db6..90f6e417 100644 --- a/TABTestKit/Classes/Contexts/InteractionContext.swift +++ b/TABTestKit/Classes/Contexts/InteractionContext.swift @@ -55,13 +55,13 @@ public extension InteractionContext { } func scroll(_ element: Scrollable, _ direction: ElementAttributes.Direction, until otherElement: Element, valueIs value: String, maxTries: Int = 10) { - var numberOfTries = 0 - repeat { - guard !(otherElement.value == value) else { return } - numberOfTries += 1 - element.scroll(direction) - } while numberOfTries <= maxTries - XCTFail("Ran of out tries (\(maxTries)) waiting for element to become \(value)") + var numberOfTries = 0 + repeat { + guard !(otherElement.value == value) else { return } + numberOfTries += 1 + element.scroll(direction) + } while numberOfTries <= maxTries + XCTFail("Ran of out tries (\(maxTries)) waiting for element to become \(value)") } func value(of element: ElementWithValue, is expectedValue: ElementWithValue.Value) { From 188c71e3d2ffff9226becbe81c97201429991cfb Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Mon, 3 Aug 2020 11:52:50 +0200 Subject: [PATCH 068/103] Update TABTestKit/Classes/Contexts/InteractionContext.swift Co-authored-by: Roger TAN --- TABTestKit/Classes/Contexts/InteractionContext.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TABTestKit/Classes/Contexts/InteractionContext.swift b/TABTestKit/Classes/Contexts/InteractionContext.swift index 90f6e417..21b84056 100644 --- a/TABTestKit/Classes/Contexts/InteractionContext.swift +++ b/TABTestKit/Classes/Contexts/InteractionContext.swift @@ -77,7 +77,7 @@ public extension InteractionContext { } func refresh(_ refreshableThing: Refreshable) { - refreshableThing.refresh() + refreshableThing.refresh() } } From 775d4563426ad12b806bb5f5c65d76aa5c4b9a37 Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Mon, 3 Aug 2020 11:53:06 +0200 Subject: [PATCH 069/103] Update TABTestKit/Classes/Contexts/InteractionContext.swift Co-authored-by: Roger TAN --- TABTestKit/Classes/Contexts/InteractionContext.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TABTestKit/Classes/Contexts/InteractionContext.swift b/TABTestKit/Classes/Contexts/InteractionContext.swift index 21b84056..8c01dab6 100644 --- a/TABTestKit/Classes/Contexts/InteractionContext.swift +++ b/TABTestKit/Classes/Contexts/InteractionContext.swift @@ -69,7 +69,7 @@ public extension InteractionContext { } func label(of element: Element, is expectedLabel: String) { - XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.label == expectedLabel), "Element did not have the right label before timing out! Expected: \(expectedLabel), actual: \(element.label)") + XCTAssertTrue(element.underlyingXCUIElement.wait(for: element.label == expectedLabel), "Element did not have the right label before timing out! Expected: \(expectedLabel), actual: \(element.label)") } func adjust(_ element: AdjustableElement, to newValue: AdjustableElement.Value) { From 6b14071f2ece98d0bef62bc87ff5856f6681b5da Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Mon, 3 Aug 2020 11:53:19 +0200 Subject: [PATCH 070/103] Update TABTestKit/Classes/Contexts/NavigationContext.swift Co-authored-by: Roger TAN --- .../Classes/Contexts/NavigationContext.swift | 78 +++++++++---------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/TABTestKit/Classes/Contexts/NavigationContext.swift b/TABTestKit/Classes/Contexts/NavigationContext.swift index 36b038ec..a9274566 100644 --- a/TABTestKit/Classes/Contexts/NavigationContext.swift +++ b/TABTestKit/Classes/Contexts/NavigationContext.swift @@ -58,43 +58,43 @@ public extension NavigationContext { $0.await() $0.dismiss() } - } - - /// Opens the specified URL from the test runner app. - /// This means you can use this function for testing deep linking, as well as opening web urls in Safari. - /// This function will first show the Home Screen if necessary, launch the test runner (after finding the correct - /// page with the runner) and then open the URL. - /// - /// It is your responsibility/choice if you want to leave your app in the current state before the test runner - /// opens the URL, or whether you want to completely terminate your app before hand. - /// - /// This leaves you free to test deep linking behaviour from the current state of the app. - /// or a fresh launch of the app. - /// - /// Since you can pass any URL to this function, you could pass an app-specific url like `myapp://deep-link`, or - /// a regular HTTP link like `https://apple.com`. - /// - /// HTTP links are opened in Safari by default, unless you have an app installed that can intercept them using - /// Universal Links. - /// - /// - Parameter url: The URL to open. - func open(_ url: URL) { - springboard.activate() - if !Icon.testRunner.determine(.hittable, timeout: 1) { - XCUIDevice.shared.press(.home) // Ensure we're on the first page of the home screen - sleep(1) - while !Icon.testRunner.determine(.hittable, timeout: 1) { - springboard.swipeLeft() - } - } - Icon.testRunner.tap() - sleep(1) - UIApplication.shared.open(url) - let openAppConfirmationAlert = Alert(id: "“\(Bundle.main.appName)” wants to open “\(App.shared.name)”", parent: springboard) - if openAppConfirmationAlert.determine(.exists, timeout: 1) { - sleep(1) - openAppConfirmationAlert.actionButton(withID: "Open").tap() - } - } - + } + + /// Opens the specified URL from the test runner app. + /// This means you can use this function for testing deep linking, as well as opening web urls in Safari. + /// This function will first show the Home Screen if necessary, launch the test runner (after finding the correct + /// page with the runner) and then open the URL. + /// + /// It is your responsibility/choice if you want to leave your app in the current state before the test runner + /// opens the URL, or whether you want to completely terminate your app before hand. + /// + /// This leaves you free to test deep linking behaviour from the current state of the app. + /// or a fresh launch of the app. + /// + /// Since you can pass any URL to this function, you could pass an app-specific url like `myapp://deep-link`, or + /// a regular HTTP link like `https://apple.com`. + /// + /// HTTP links are opened in Safari by default, unless you have an app installed that can intercept them using + /// Universal Links. + /// + /// - Parameter url: The URL to open. + func open(_ url: URL) { + springboard.activate() + if !Icon.testRunner.determine(.hittable, timeout: 1) { + XCUIDevice.shared.press(.home) // Ensure we're on the first page of the home screen + sleep(1) + while !Icon.testRunner.determine(.hittable, timeout: 1) { + springboard.swipeLeft() + } + } + Icon.testRunner.tap() + sleep(1) + UIApplication.shared.open(url) + let openAppConfirmationAlert = Alert(id: "“\(Bundle.main.appName)” wants to open “\(App.shared.name)”", parent: springboard) + if openAppConfirmationAlert.determine(.exists, timeout: 1) { + sleep(1) + openAppConfirmationAlert.actionButton(withID: "Open").tap() + } + } + } From 2cda6a9d5573f5314f4fdf2385dbc95241d843aa Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Mon, 3 Aug 2020 11:53:29 +0200 Subject: [PATCH 071/103] Update TABTestKit/Classes/Protocols/Refreshable.swift Co-authored-by: Roger TAN --- TABTestKit/Classes/Protocols/Refreshable.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/TABTestKit/Classes/Protocols/Refreshable.swift b/TABTestKit/Classes/Protocols/Refreshable.swift index d65cf460..40d12792 100644 --- a/TABTestKit/Classes/Protocols/Refreshable.swift +++ b/TABTestKit/Classes/Protocols/Refreshable.swift @@ -12,7 +12,6 @@ import Foundation /// and then perform whatever needs to be performed for a "happy path" for that screen. public protocol Refreshable { - func refresh() + func refresh() } - From d4e6afc76b568f596a99996fbb9d879fcd15419b Mon Sep 17 00:00:00 2001 From: Anna <55500846+annapiktas@users.noreply.github.com> Date: Mon, 3 Aug 2020 11:54:27 +0200 Subject: [PATCH 072/103] Update TABTestKit/Classes/Contexts/NavigationContext.swift Co-authored-by: Roger TAN --- TABTestKit/Classes/Contexts/NavigationContext.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TABTestKit/Classes/Contexts/NavigationContext.swift b/TABTestKit/Classes/Contexts/NavigationContext.swift index a9274566..71c4d5f3 100644 --- a/TABTestKit/Classes/Contexts/NavigationContext.swift +++ b/TABTestKit/Classes/Contexts/NavigationContext.swift @@ -28,7 +28,7 @@ public extension NavigationContext { /// /// - Parameter element: The element to await. func see(_ element: Element) { - element.await(.exists, .visible) + element.await(.exists, .visible) } /// Asserts that an element does not exist, by waiting for it to not exist. From 1cef414902ff43aaec44be11fc036d81159309a6 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 10:58:39 +0100 Subject: [PATCH 073/103] Added SPM to changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dae3feb..3f1fd585 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Pending - Configured Travis to build and test on multiple Xcodes +- Added Swift Package Manager support --- From 13c7cf6ca85946efad373739a60dfe3e269c1b60 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 11:11:24 +0100 Subject: [PATCH 074/103] Updated Template --- PULL_REQUEST_TEMPLATE.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index b0d83aa9..a98b0e2c 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -1,5 +1,15 @@ -- [ ] When adding files, make sure they're added to the right target. If you're adding new files that should be bundled up with Cocoapods etc, they need to be added to the `TABTestKit` target, not `Pods-TABTestKit_Example` etc. -- [ ] Run `pod install` to ensure that the latest changes are in the Example project. Without this, Carthage might not see the latest changes. -- [ ] Added and updated tests where possible. -- [ ] Updated the CHANGELOG. For any changes pending a release, add to the Pending section. For releases, move everything pending to the release section. -- [ ] Updated the README. Add info for any new features, update existing info for anything that's changed or needs extra info. +#### What's in this PR? + +Replace this text with information about what's in your PR. What's changed? Why has it changed? Reference any GitHub issue this PR relates to, etc. + +--- + +#### Pre-merge checklist + +Before merging any PR, please check the following common things that should be done beforehand. These aren't all always required, so just check the box if it doesn't apply. + +- [ ] **When adding files, make sure they're added to the right target**. If you're adding new files that should be bundled up with Cocoapods etc, they need to be added to the `TABTestKit` target, not `Pods-TABTestKit_Example` etc. +- [ ] **Run `pod install` to ensure that the latest changes are in the Example project**. Without this, Carthage might not see the latest changes. +- [ ] **Added and updated tests where possible**. This isn't always possible but try wherever you can. The example app contains UI tests to test many of the TABTestKit features. +- [ ] **Updated the `CHANGELOG`**. For any changes pending a release, add to the Pending section. For releases, move everything pending to the release section. +- [ ] **Updated the `README`**. Add info for any new features, update existing info for anything that's changed or needs extra info. From 5f8d660c5169bbcb115c6ae2c6907ef285dfabb8 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 11:44:58 +0100 Subject: [PATCH 075/103] Ran pod update --- Example/Podfile | 2 +- Example/Podfile.lock | 8 +- Example/Pods/Manifest.lock | 8 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 402 +++++++++--------- .../TABTestKit/TABTestKit-umbrella.h | 2 + 5 files changed, 218 insertions(+), 204 deletions(-) diff --git a/Example/Podfile b/Example/Podfile index 1a8659fe..34434f30 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -1,5 +1,5 @@ use_frameworks! -platform :ios, '10.0' +platform :ios, '12.4' target 'TABTestKit_Example' do diff --git a/Example/Podfile.lock b/Example/Podfile.lock index dc5bc178..ef0667c9 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,8 +1,10 @@ PODS: - - ShowTime (2.5.1) + - ShowTime (2.5.2) - TABTestKit (1.6.1): - TABTestKit/BDD (= 1.6.1) - TABTestKit/Biometrics (= 1.6.1) + - TABTestKit/BDD (1.6.1) + - TABTestKit/Biometrics (1.6.1) DEPENDENCIES: - ShowTime @@ -17,9 +19,9 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - ShowTime: 0d7ad97e415e3228f0e966e025087ea4175f3361 + ShowTime: 5cb2c5314da2983cec44f27123a15473cf29306f TABTestKit: be0324bdf4c6755d878eea5bd2e5a3f8aff4bf65 -PODFILE CHECKSUM: cff5520fee18bc1ac482104a6673ae29b40d9690 +PODFILE CHECKSUM: b6b0b334dee592f181c8d68b62229392f1cd2529 COCOAPODS: 1.9.3 diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index dc5bc178..ef0667c9 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,8 +1,10 @@ PODS: - - ShowTime (2.5.1) + - ShowTime (2.5.2) - TABTestKit (1.6.1): - TABTestKit/BDD (= 1.6.1) - TABTestKit/Biometrics (= 1.6.1) + - TABTestKit/BDD (1.6.1) + - TABTestKit/Biometrics (1.6.1) DEPENDENCIES: - ShowTime @@ -17,9 +19,9 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - ShowTime: 0d7ad97e415e3228f0e966e025087ea4175f3361 + ShowTime: 5cb2c5314da2983cec44f27123a15473cf29306f TABTestKit: be0324bdf4c6755d878eea5bd2e5a3f8aff4bf65 -PODFILE CHECKSUM: cff5520fee18bc1ac482104a6673ae29b40d9690 +PODFILE CHECKSUM: b6b0b334dee592f181c8d68b62229392f1cd2529 COCOAPODS: 1.9.3 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index a1c1673d..7be76f01 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -26,7 +26,7 @@ 265300EF96BAB888DB099885F7266035 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */; }; 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; 2681AF561E209E9349ADEFC141D1D0B8 /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */; }; - 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; 2944710EF5C6C830DB74A9D17DC1656C /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */; }; 2ABFECB772D2BE0AC0070C3A4E18787D /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */; }; @@ -39,8 +39,8 @@ 343D700592AB9FF9DCEDD0796C6A258F /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */; }; 376E2DDB3B8BA4D09CFC9C00A58FB4FA /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */; }; 37EAD2E9ADB46C4F523F45099708CFB7 /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */; }; - 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */; }; 3BF3F80BCBFEF897650BFAE647F2A280 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */; }; + 3C892CB7517172243FF2DA110515208C /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */; }; 3FAB8EBF9F8003C7476DB5F87B760E43 /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */; }; 414813F69596E7C92124C3AE00104567 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; 508F2267AB9D58E2EED019FFFF3540B0 /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */; }; @@ -56,7 +56,6 @@ 7C65B1AD1DD38309227F918C67C6B3EE /* CGVector+Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */; }; 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; 84715F049294F85B91392E9AA16EE230 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */; }; - 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */; }; 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8AF0B1F740CAFDFA8E7148D75048B43B /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */; }; 8C520520B3FEA452BE3BED8C7CE8CA1F /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */; }; @@ -72,6 +71,7 @@ B6A9891FF52E74BA2A1A490DD5B85BC4 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */; }; B6A9F7439F1AF2978211B410356E9D2D /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 297E55F67281B78736519AEE8E50C97B /* Completable.swift */; }; B7024D3885EB76F2AB4FA21989D6BD37 /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BA42C86F6872AC87ADF7110F65920109 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */; }; BB08585A52985192826C66EA51C71625 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A95E743358DB242EF893B17337986A1 /* WebView.swift */; }; C2BC20E24143ABD6F5B9E4CF5FCB7ABE /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */; }; C8A616579C1F5D65CE1FD2BD3402DDB4 /* TABTestKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -157,7 +157,6 @@ 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example.framework; path = "Pods-TABTestKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; 54198552547C73BCFC0216636BFD016C /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example.modulemap"; sourceTree = ""; }; @@ -171,35 +170,34 @@ 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; - 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; + 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-acknowledgements.markdown"; sourceTree = ""; }; 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; - 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Biometrics.m; sourceTree = ""; }; - 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist"; sourceTree = ""; }; 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig"; sourceTree = ""; }; 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m"; sourceTree = ""; }; 9A95E743358DB242EF893B17337986A1 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; - 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-umbrella.h"; sourceTree = ""; }; A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesGeneralScreen.swift; sourceTree = ""; }; - A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; + AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; + AA9FC38AC03409CABA3E4DD246E3CF1C /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; sourceTree = ""; }; AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; + ADB4763ABC911105EE431BA516439FE1 /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.release.xcconfig"; sourceTree = ""; }; B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; @@ -213,21 +211,23 @@ CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; D1B00FF7EA37A73A039336661BD8106A /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; - D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShowTime.swift; sourceTree = ""; }; DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollableScreen.swift; sourceTree = ""; }; + DF441583F13AEDF6DF852C5354F264E1 /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; E4DFAC57077CCE851795E1D054BFA3D3 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; + EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShowTime.swift; path = Sources/ShowTime/ShowTime.swift; sourceTree = ""; }; EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; EC4DD53BBCB1EAFECE7C6B5C0135C9E5 /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-frameworks.sh"; sourceTree = ""; }; EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; - F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; + F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; + FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -268,6 +268,16 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 0EAD851B593C7D383A5B9F66278D5202 /* ShowTime */ = { + isa = PBXGroup; + children = ( + EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */, + 3AD53452E6F9B27B718A63F5668EEEAC /* Support Files */, + ); + name = ShowTime; + path = ShowTime; + sourceTree = ""; + }; 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -322,16 +332,16 @@ path = "Target Support Files/Pods-TABTestKit_Example"; sourceTree = ""; }; - 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */ = { + 3AD53452E6F9B27B718A63F5668EEEAC /* Support Files */ = { isa = PBXGroup; children = ( - 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */, - 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */, - A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */, - 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */, - 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */, - F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */, - 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */, + ADB4763ABC911105EE431BA516439FE1 /* ShowTime.modulemap */, + F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */, + DF441583F13AEDF6DF852C5354F264E1 /* ShowTime-Info.plist */, + AA9FC38AC03409CABA3E4DD246E3CF1C /* ShowTime-prefix.pch */, + 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */, + AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */, + FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/ShowTime"; @@ -404,7 +414,7 @@ 7F9009F1182E3BDED6F366005188C8B5 /* Pods */ = { isa = PBXGroup; children = ( - C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */, + 0EAD851B593C7D383A5B9F66278D5202 /* ShowTime */, ); name = Pods; sourceTree = ""; @@ -488,16 +498,6 @@ path = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; sourceTree = ""; }; - C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */ = { - isa = PBXGroup; - children = ( - D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */, - 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */, - ); - name = ShowTime; - path = ShowTime; - sourceTree = ""; - }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( @@ -661,7 +661,7 @@ buildConfigurationList = 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */; buildPhases = ( CCCD40A3CF98074BF1895442469F632F /* Headers */, - F3EFCCB3C1AE195157628019EC33351E /* Sources */, + A3D1DBE0B97482C7D9E971A0A69C18FE /* Sources */, 03E1BC428CDBAFFCB7A23DC27272A29B /* Frameworks */, 031CA665B29B23A9412E394FBC39639C /* Resources */, ); @@ -845,12 +845,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - F3EFCCB3C1AE195157628019EC33351E /* Sources */ = { + A3D1DBE0B97482C7D9E971A0A69C18FE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */, - 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */, + 3C892CB7517172243FF2DA110515208C /* ShowTime-dummy.m in Sources */, + BA42C86F6872AC87ADF7110F65920109 /* ShowTime.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -878,7 +878,75 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 196DFA3E4A09A28224918543529A1885 /* Debug */ = { + 040B3C23F3536587D5A4EB91C89D63A1 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; + PRODUCT_MODULE_NAME = ShowTime; + PRODUCT_NAME = ShowTime; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 0BFA6A1F08DB617ED88EA69685ABDDE4 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 6410F571BA8C1AEC6A19403F1B61B0B5 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -929,7 +997,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -942,79 +1010,12 @@ }; name = Debug; }; - 20BBE192749698B6FF5488E2D716DC1B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; - PRODUCT_MODULE_NAME = TABTestKit; - PRODUCT_NAME = TABTestKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 43A9EBE61D5CD254BF71D6D2C4946B25 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 98F06A0FF82B22636D978C21C3610096 /* Release */ = { + 7B8B0B183596E59238D618A15FFBF496 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1027,7 +1028,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; @@ -1045,10 +1046,11 @@ }; name = Release; }; - A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */ = { + 9C013AE42837DDBED81C8A67FA1E1264 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */; + baseConfigurationReference = FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1077,73 +1079,7 @@ }; name = Release; }; - AB3028D89F1A9733E9273B202576A7A6 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - ABC2BC2DB619DF51CC04B5FF48CDB383 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; - PRODUCT_MODULE_NAME = TABTestKit; - PRODUCT_NAME = TABTestKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */ = { + A27713CB74E99AF202AADC23200A32F4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1191,7 +1127,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1203,11 +1139,80 @@ }; name = Release; }; - BB20B983018612F88F93316CF971D97A /* Debug */ = { + A878ECCFCE8D1B9E7A880FABD80A87CF /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + C3C3A1E9CBD3ACA59EE6FEB79CB855BF /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + CE151341453F4E20E4C42D1306D5AC47 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1220,7 +1225,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; @@ -1237,10 +1242,12 @@ }; name = Debug; }; - D638E423895A2C1C466433CCA95C495B /* Debug */ = { + FAB674006EC0021CB35DD6D9E24A7A31 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */; + baseConfigurationReference = 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1250,23 +1257,24 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; - PRODUCT_MODULE_NAME = ShowTime; - PRODUCT_NAME = ShowTime; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; /* End XCBuildConfiguration section */ @@ -1274,8 +1282,8 @@ 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - BB20B983018612F88F93316CF971D97A /* Debug */, - 43A9EBE61D5CD254BF71D6D2C4946B25 /* Release */, + CE151341453F4E20E4C42D1306D5AC47 /* Debug */, + 0BFA6A1F08DB617ED88EA69685ABDDE4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1283,8 +1291,8 @@ 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { isa = XCConfigurationList; buildConfigurations = ( - D638E423895A2C1C466433CCA95C495B /* Debug */, - A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */, + 040B3C23F3536587D5A4EB91C89D63A1 /* Debug */, + 9C013AE42837DDBED81C8A67FA1E1264 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1292,8 +1300,8 @@ 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 196DFA3E4A09A28224918543529A1885 /* Debug */, - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, + 6410F571BA8C1AEC6A19403F1B61B0B5 /* Debug */, + A27713CB74E99AF202AADC23200A32F4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1301,8 +1309,8 @@ E366DB8D3786D6BEF7ECF3CC15E4BA06 /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - ABC2BC2DB619DF51CC04B5FF48CDB383 /* Debug */, - 20BBE192749698B6FF5488E2D716DC1B /* Release */, + A878ECCFCE8D1B9E7A880FABD80A87CF /* Debug */, + FAB674006EC0021CB35DD6D9E24A7A31 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1310,8 +1318,8 @@ E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - AB3028D89F1A9733E9273B202576A7A6 /* Debug */, - 98F06A0FF82B22636D978C21C3610096 /* Release */, + C3C3A1E9CBD3ACA59EE6FEB79CB855BF /* Debug */, + 7B8B0B183596E59238D618A15FFBF496 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-umbrella.h b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-umbrella.h index 467419a4..5dd56372 100644 --- a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-umbrella.h +++ b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-umbrella.h @@ -10,6 +10,8 @@ #endif #endif +#import "Biometrics-Bridging-Header.h" +#import "Biometrics.h" #import "Biometrics-Bridging-Header.h" #import "Biometrics.h" From 412dfd963b993ba9dae79da6a7a1a1de29a30818 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Mon, 3 Aug 2020 13:36:07 +0200 Subject: [PATCH 076/103] Updated changelogs --- Example/Podfile.lock | 2 +- Example/Pods/Manifest.lock | 2 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 1326 +++++++++++++++ .../Pods/Pods.xcodeproj/project.pbxproj.orig | 1509 +++++++++++++++++ 4 files changed, 2837 insertions(+), 2 deletions(-) create mode 100644 Example/Pods/Pods.xcodeproj/project.pbxproj create mode 100644 Example/Pods/Pods.xcodeproj/project.pbxproj.orig diff --git a/Example/Podfile.lock b/Example/Podfile.lock index dc5bc178..9fc40281 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -22,4 +22,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: cff5520fee18bc1ac482104a6673ae29b40d9690 -COCOAPODS: 1.9.3 +COCOAPODS: 1.9.1 diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index dc5bc178..9fc40281 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -22,4 +22,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: cff5520fee18bc1ac482104a6673ae29b40d9690 -COCOAPODS: 1.9.3 +COCOAPODS: 1.9.1 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 00000000..a45ce598 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,1326 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 057AD19E80F1F6E17D80CDC554C0E41F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */; }; + 074443E7511027A2E5ED3909C0EA4C9B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 07FDD88F73EA8960D0F9E3C3EF4B6E4E /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BFD6C0764CD43FFB743CE603C9FFD68 /* Button.swift */; }; + 0B68E89B98365D41A7600239B2092EDD /* Picker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07C967D9F11E4E64FCCB0515B63C928 /* Picker.swift */; }; + 0D0CA421CAB8CFB002F3A7958428F87D /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FDC2516655ADE505B015B6C694D2328 /* Sheet.swift */; }; + 1090D87A7D515D6D41D894DD759E7A5F /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9089417F0109865CDB124A2329BDD6FB /* Table.swift */; }; + 11661C36C0918639523AE19766D96ADB /* Springboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE2ACC1384856F32BDEAF0B67C4ABBA6 /* Springboard.swift */; }; + 178C0B2157C033E8875D33BAFCCD1A07 /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; + 1B1415B0B3DB73411748BF869920A0F2 /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B5CC92563CE4BC7DA55A6394BD6A1DA /* TABTestCase.swift */; }; + 1C9C381CC36794C97A0D5856A243AECA /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E69262C4F4A355BF4676D44D72262A23 /* Completable.swift */; }; + 1CAD5E52058606696556F9E164DC8D5D /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2120EE906455FB83E2E09406CEF662C9 /* SegmentedControl.swift */; }; + 208D7E4CF6D5816E2375BD8E79E45004 /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06062B1405E6248957F1FA51ED99AEAE /* Tappable.swift */; }; + 23FED18C864803B6CD493F0DED90E82B /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71BC30DBECCC085046C14F79A51C96FC /* Slider.swift */; }; + 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 280DE7E704E54040AAD99A912D804B1C /* XCUIElement+wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D9D28DCEEADE9294B60676002E5F3AF /* XCUIElement+wait.swift */; }; + 2A7568FFE5FC98F3A8A8C9EC2E6CFBBA /* SecureTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 539E3535E6A4796A5DC1359080B1B388 /* SecureTextField.swift */; }; + 31D832E6B1905EB24BD3914FB9E4E26D /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4168F73CEF3298398FAFE1F3755C496 /* Adjustable.swift */; }; + 31E317402DD57DCD01147DD5A1B03793 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = D62EEF2B33953AEF764BCFFC3597CF30 /* Scenario.swift */; }; + 320CD0432837527FF659853E14CCE0EB /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 233D9F6DE5B7ED9B213DDEE7A60DF4D2 /* Editable.swift */; }; + 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */; }; + 3D53EE53A9983C943A862D0383369B25 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3FFB5CEAF0482B2CC8FA486FAFE32A62 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6980B17C7DE4DADEAE4CC75D703C54AC /* Header.swift */; }; + 4101E143EB6E39F850E73276237625DD /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A44D97A79485D765FFC1885EF486035C /* TextView.swift */; }; + 430AC0E3784C452CA9A861D9E6AC9E46 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ABBEEBD584246EF61D103CF1C923A0E /* BiometricsContext.swift */; }; + 466B4F15E513602A12E004EE0DDC43EE /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4B8A6E15476B0C9F6CBC5F274DE4FC7C /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FD98E1ABC6B6C0E1972A84DF17C5101 /* CellContaining.swift */; }; + 57001A8096851FD8002D6A76EE216715 /* ScrollableScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 029ACEB452A14FC499201FC3B0C4ED34 /* ScrollableScreen.swift */; }; + 57ED8608C9256BFEE6338B4D9C6BA3D2 /* SystemPreferencesResetScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D9B3886BA63D85E95DC7C0E2C41C9C9 /* SystemPreferencesResetScreen.swift */; }; + 58810327410B85FEB119763254AA4B0B /* BaseApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6FEDCB8E835BAD94013EC96B36228F2 /* BaseApp.swift */; }; + 59C61F9D86B646893D50711CC5C6801A /* NavigationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F3EF5E147F848C915D2D095DFA422D /* NavigationContext.swift */; }; + 5B39540A604873FB3180D8B28B8B88FA /* XCUIElement+hasKeyboardFocus.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD112D38CB4A7946791170C90730CC9D /* XCUIElement+hasKeyboardFocus.swift */; }; + 5D7A82AD1AFEF42A0E95D96C466A99E6 /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E4EAF339F88D5CC4828E58D2D044BA /* Attributes.swift */; }; + 63D3C37B825C72FC8B554ECEF6A1C189 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB73F3D5CE27BEFC135A72853A578770 /* View.swift */; }; + 63EA29EA99DA5C624B186F7CD629B14D /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBE7A8817DB54096950BC6C6163FB2C0 /* XCTFatalFail.swift */; }; + 64014F0876F2797A9BA0548CF916D20B /* PageIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BF44A3860DAFA6F569C7C830A6F42C2 /* PageIndicator.swift */; }; + 64BAD1DD1EA45B92B9AFF98CE73A5ED4 /* Alert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63808F52E6B612D9117EA7F81237AAED /* Alert.swift */; }; + 6972944BAF55F67D1613B40566B51B59 /* AlertContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58701D6FE5B0819E5ECE654224188DC0 /* AlertContext.swift */; }; + 6976C71365844907D1C897F35DF571C4 /* CGVector+Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 238D94DB52E866485358E8A0DB1C35AF /* CGVector+Offset.swift */; }; + 6E077301C2429F6C0F506EC83BFCDCB3 /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AC18C8449F986EBB02832E2A07A50F /* NavBar.swift */; }; + 743F40249F12DD773D943A66974214F9 /* NormalizedCoordinate+Locations.swift in Sources */ = {isa = PBXBuildFile; fileRef = E78108E38AC455729C36C4C7EEDE146C /* NormalizedCoordinate+Locations.swift */; }; + 747122308EDDFEF93EF4E728E15CF1F6 /* TABTestKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 987BEA52658B9CB88A6F751D324F13AD /* TABTestKit-dummy.m */; }; + 795BE4C0034613920A5C128A01BB53C7 /* TABTestKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F00418B0925C8A96D09D1986BE6C1B6B /* TABTestKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7BE3CA364825F8CD761A911CA29DEC00 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC8682021049AEAAB3DCD7C150A95FB2 /* ActivitySheet.swift */; }; + 7FC59073193FDD929E3C7DF6C5F7DAC8 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82E2D18AF412B9ED1E41630009454979 /* Step.swift */; }; + 80A3AB6B2D68A0FE6AD65D9E406C0610 /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F91B925F791557160A72CB6C0BA49D45 /* Scrollable.swift */; }; + 84207533D404FF5E0399A8E25C9E54B1 /* SystemPreferencesGeneralScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA36B114B42B335BCF6F8F96ED83733E /* SystemPreferencesGeneralScreen.swift */; }; + 859F328E4ABF338A9987E4A2A835B5D2 /* Stepper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E675701574C76D0C286A4F6FFFFB5E5 /* Stepper.swift */; }; + 863EE3A68BBD9D64B35BD86403CFE347 /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E21D12E79B060EEABD6D9C064FD58DC /* AppContext.swift */; }; + 87219A0833E2C2DB62240B62D31BCB17 /* KeyboardContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9428A8F167FEB42DE18A7EBD813A80A5 /* KeyboardContext.swift */; }; + 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */; }; + 8BB6FAEAAE345666BA4D0339B6512DA6 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0A11CCC52D92B046F8A9FA9AC99AF4F /* Image.swift */; }; + 930BB84CB3CD91D6C3F47344F1E3B716 /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1535CFEC7782CBF5925C8C4087599AF0 /* Dismissable.swift */; }; + 96F4D54DC6D19C2B62038FB29CA14EFC /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4F037B014CEDE4C8F4E39CB25E05DD2 /* Switch.swift */; }; + 9BB4E051EA402E2BFC9EC5D111B197FF /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B6C40BC468C579D69B2CC4CAF320EC /* Label.swift */; }; + A0CB99B9EA85274E99D1FA593199CFE0 /* ValueRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC8E6BB8E22FC1B0C1930A4F8B678E92 /* ValueRepresentable.swift */; }; + A1DEEA086571A976344EACF308E8B05C /* Element+defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD37B9C8E065DD3D17F7204B1B1FBD58 /* Element+defaults.swift */; }; + A42C4B780986976455B79A6DCE9DA9E2 /* systemPreferencesRootScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AEC6A3A9A1E90D3C5F4B4A736C8E946 /* systemPreferencesRootScreen.swift */; }; + A491165E101133259FF943950187B759 /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 609F80835D951294E6054EC34BE7DEAB /* SheetContext.swift */; }; + AE85E79E4A1CB7C55A422C5B8095547F /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = BA5720DEDCE2EE95A4B4F67D967D49EE /* Biometrics.m */; }; + B36FC689297C3EE65EB22BA68CD71863 /* Refreshable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44F9BE5C5077780745214E80112EF7EF /* Refreshable.swift */; }; + B37EC5CB2875EB4529A536911F8660EE /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE536BF6DFF2331078DBAADAAB49035 /* Cell.swift */; }; + B4C82C8ACF0F022053310C472E055B93 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 428C7E1FA710CF3CFD6B1D091E8DA215 /* TextField.swift */; }; + B513DE81DB5A4FF5CB34A166242B6A1B /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DCECBA4EAAE4C07053D26FBE892D78 /* App.swift */; }; + B689E311677718EBC18E8A65181E28D1 /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A6FE0B2CF948C41E54AA50B9A2DBFE6 /* CollectionView.swift */; }; + B7CF969CE6C43590EF1C83A67707912A /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EB66BEA4359AD0F6E58CE8E61A7D651 /* ScrollView.swift */; }; + BB77F7A6807B6E204739EB0881E3B4CA /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 288348B0E48E8832F351BC7B63303777 /* Icon.swift */; }; + BC63BDE0255954A2DA44B3F1D90E30D1 /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F71C696D13A19D07E5810318AA9384 /* XCUIDevice+frame.swift */; }; + BD175ABDA60A025E76859EC888C936CB /* SystemPreferencesContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20F6759CD9CFC4C1F5DA6B78EFFBB609 /* SystemPreferencesContext.swift */; }; + C5CD0C3F1C611A6F4C44A5752E91C2F5 /* InteractionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = E34A4D0E90CA84F5B686ECC33E84720D /* InteractionContext.swift */; }; + C997CEF610E3041E1C3A5E95D08932B7 /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB18014FAD1F5EE5FA9E004624623989 /* Screen.swift */; }; + D0A0967C43C505030195B253B82C5E33 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 825F5BBC95C9AD5A6FEF97516F438976 /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0FD68BBEC62BB6F4DB4D2F58E269A44 /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC56A10DF2C24631522AEF8CBF30B351 /* XCUIElement+isVisible.swift */; }; + D9D0A3DCC7BEB64B8F1602523BA266E4 /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADFBF8A19DAC2594ED4548F1696E8C9 /* SystemPreferences.swift */; }; + DA63C2BDCDFB0A29EF5D49EDF95724BF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + DB455946D47F73E2186787172F680213 /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = 526C28167B8EB919F428D251486F18A3 /* Element.swift */; }; + DCBC7977519A09E364F903C059F52EBF /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 801D065A67CFE384AC907A0A08A80669 /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E434A53EF6A44B1AE884F2B627B29B32 /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A139CE57C53F627624E7B2244D19E74 /* TabBar.swift */; }; + E7FB14F2DBF5C8E23887E8D7E4D0FA33 /* Safari.swift in Sources */ = {isa = PBXBuildFile; fileRef = B10C6E6AABDEF73C8D9E647494F5FFFD /* Safari.swift */; }; + EA26D3491AF4F16202B2F0B5A231CCD8 /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E78188EC60ABEC11AE165500D2CFFCB /* Array+Safe.swift */; }; + EE7661A93B9C6E26F9D8C1D89491F76E /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */; }; + F259DC0C2C71FE4DE5FAAD5C376C0601 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37CD9BB357BD4C98594C6FDB2372E203 /* Keyboard.swift */; }; + F9323849E50840C3CC8D3EA197513D5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + FDA563324A4D72C0C284BEF9380A869C /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B66790D2082BEC84983A6EF4BF5662 /* WebView.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 08A99BEA9208FCFDB1062DADA9B40487 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; + remoteInfo = ShowTime; + }; + 34A9B585AC52D00944BC81029C8F615A /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; + remoteInfo = ShowTime; + }; + F598D08DAB210C6E35AA46DCC7485897 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9C4F771642E79689CC6A0648ABEA808C; + remoteInfo = TABTestKit; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 029ACEB452A14FC499201FC3B0C4ED34 /* ScrollableScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollableScreen.swift; sourceTree = ""; }; + 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 06062B1405E6248957F1FA51ED99AEAE /* Tappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Tappable.swift; sourceTree = ""; }; + 0D9B3886BA63D85E95DC7C0E2C41C9C9 /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; + 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.debug.xcconfig"; sourceTree = ""; }; + 1535CFEC7782CBF5925C8C4087599AF0 /* Dismissable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; + 17AE207B2FD67E1096C542744391C322 /* Pods-TABTestKit_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-acknowledgements.plist"; sourceTree = ""; }; + 17DCECBA4EAAE4C07053D26FBE892D78 /* App.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; + 1A139CE57C53F627624E7B2244D19E74 /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; + 1CB830EB632DA8DED42D4E33C4E59DD9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh"; sourceTree = ""; }; + 1FEECC2891FA9207E48C23F05FA63331 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 20F6759CD9CFC4C1F5DA6B78EFFBB609 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; + 2120EE906455FB83E2E09406CEF662C9 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; + 2139B5533BEBB89B1AAED6BD36926681 /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; + 233D9F6DE5B7ED9B213DDEE7A60DF4D2 /* Editable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; + 238D94DB52E866485358E8A0DB1C35AF /* CGVector+Offset.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; + 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ShowTime.framework; path = ShowTime.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-dummy.m"; sourceTree = ""; }; + 288348B0E48E8832F351BC7B63303777 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; + 2ADFBF8A19DAC2594ED4548F1696E8C9 /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; + 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 2EB66BEA4359AD0F6E58CE8E61A7D651 /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; + 30B66790D2082BEC84983A6EF4BF5662 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; + 34B6C40BC468C579D69B2CC4CAF320EC /* Label.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; + 37CD9BB357BD4C98594C6FDB2372E203 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; + 3A6FE0B2CF948C41E54AA50B9A2DBFE6 /* CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; + 3ABBEEBD584246EF61D103CF1C923A0E /* BiometricsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BiometricsContext.swift; sourceTree = ""; }; + 428C7E1FA710CF3CFD6B1D091E8DA215 /* TextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; + 43D13F1FAF8603F38A44BA21F33C0912 /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 44F9BE5C5077780745214E80112EF7EF /* Refreshable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Refreshable.swift; sourceTree = ""; }; + 48F3EF5E147F848C915D2D095DFA422D /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; + 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example.framework; path = "Pods-TABTestKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 526C28167B8EB919F428D251486F18A3 /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; + 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; + 539E3535E6A4796A5DC1359080B1B388 /* SecureTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SecureTextField.swift; sourceTree = ""; }; + 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example.modulemap"; sourceTree = ""; }; + 58701D6FE5B0819E5ECE654224188DC0 /* AlertContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; + 5B5CC92563CE4BC7DA55A6394BD6A1DA /* TABTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TABTestCase.swift; path = TABTestKit/Classes/TABTestCase.swift; sourceTree = ""; }; + 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = TABTestKit.framework; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5D9D28DCEEADE9294B60676002E5F3AF /* XCUIElement+wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; + 5E21D12E79B060EEABD6D9C064FD58DC /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; + 5EADE617313EDEFAE09DD75B5F7B1B98 /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; + 5EE536BF6DFF2331078DBAADAAB49035 /* Cell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; + 5FD98E1ABC6B6C0E1972A84DF17C5101 /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; + 609F80835D951294E6054EC34BE7DEAB /* SheetContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; + 63808F52E6B612D9117EA7F81237AAED /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; + 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; + 6980B17C7DE4DADEAE4CC75D703C54AC /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; + 6AEC6A3A9A1E90D3C5F4B4A736C8E946 /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; + 6E78188EC60ABEC11AE165500D2CFFCB /* Array+Safe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; + 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-acknowledgements.markdown"; sourceTree = ""; }; + 71AC18C8449F986EBB02832E2A07A50F /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; + 71BC30DBECCC085046C14F79A51C96FC /* Slider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; + 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; + 7E675701574C76D0C286A4F6FFFFB5E5 /* Stepper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; + 7FDC2516655ADE505B015B6C694D2328 /* Sheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sheet.swift; sourceTree = ""; }; + 801D065A67CFE384AC907A0A08A80669 /* Biometrics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; + 825F5BBC95C9AD5A6FEF97516F438976 /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; + 82E2D18AF412B9ED1E41630009454979 /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; + 8A3EB354FF57A4D5DF54965C128B21F6 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 8BF44A3860DAFA6F569C7C830A6F42C2 /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; + 8BFD6C0764CD43FFB743CE603C9FFD68 /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; + 8D4D2A880C74185B385459D0F3ECFC51 /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; + 9089417F0109865CDB124A2329BDD6FB /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; + 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; + 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist"; sourceTree = ""; }; + 9428A8F167FEB42DE18A7EBD813A80A5 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; + 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig"; sourceTree = ""; }; + 96FC8F190C24B476CD216A18EC6FFCF2 /* TABTestKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TABTestKit-Info.plist"; sourceTree = ""; }; + 987BEA52658B9CB88A6F751D324F13AD /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; + 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m"; sourceTree = ""; }; + 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-umbrella.h"; sourceTree = ""; }; + A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; + A44D97A79485D765FFC1885EF486035C /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; + A4F037B014CEDE4C8F4E39CB25E05DD2 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; + A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; + AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; sourceTree = ""; }; + AB73F3D5CE27BEFC135A72853A578770 /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; + AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.release.xcconfig"; sourceTree = ""; }; + B10C6E6AABDEF73C8D9E647494F5FFFD /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; + B6FEDCB8E835BAD94013EC96B36228F2 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; + BA5720DEDCE2EE95A4B4F67D967D49EE /* Biometrics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Biometrics.m; sourceTree = ""; }; + BBE255692AD510B938CB0017AEED4518 /* TABTestKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-prefix.pch"; sourceTree = ""; }; + C0E4EAF339F88D5CC4828E58D2D044BA /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; + C354231844F21D916AF8E0D9E0F587FF /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; sourceTree = ""; }; + C4168F73CEF3298398FAFE1F3755C496 /* Adjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Adjustable.swift; sourceTree = ""; }; + C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h"; sourceTree = ""; }; + CA36B114B42B335BCF6F8F96ED83733E /* SystemPreferencesGeneralScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesGeneralScreen.swift; sourceTree = ""; }; + CBA3199C63C53E992A3F26F5ADCBB639 /* Pods-TABTestKit_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-Info.plist"; sourceTree = ""; }; + CC8682021049AEAAB3DCD7C150A95FB2 /* ActivitySheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; + CD112D38CB4A7946791170C90730CC9D /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; + CD37B9C8E065DD3D17F7204B1B1FBD58 /* Element+defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Element+defaults.swift"; sourceTree = ""; }; + D07C967D9F11E4E64FCCB0515B63C928 /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; + D62EEF2B33953AEF764BCFFC3597CF30 /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; + D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShowTime.swift; sourceTree = ""; }; + D8F71C696D13A19D07E5810318AA9384 /* XCUIDevice+frame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIDevice+frame.swift"; sourceTree = ""; }; + DBE7A8817DB54096950BC6C6163FB2C0 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; + DC8E6BB8E22FC1B0C1930A4F8B678E92 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; + DE2ACC1384856F32BDEAF0B67C4ABBA6 /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; + E0A11CCC52D92B046F8A9FA9AC99AF4F /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; + E34A4D0E90CA84F5B686ECC33E84720D /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; + E69262C4F4A355BF4676D44D72262A23 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; + E78108E38AC455729C36C4C7EEDE146C /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; + EC56A10DF2C24631522AEF8CBF30B351 /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; + EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-frameworks.sh"; sourceTree = ""; }; + F00418B0925C8A96D09D1986BE6C1B6B /* TABTestKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-umbrella.h"; sourceTree = ""; }; + F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; + F91B925F791557160A72CB6C0BA49D45 /* Scrollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; + FB18014FAD1F5EE5FA9E004624623989 /* Screen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; + FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 03E1BC428CDBAFFCB7A23DC27272A29B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C5F45EBFBA89156FDAD636437B27CAAE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 074443E7511027A2E5ED3909C0EA4C9B /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + DA6508EB8D221EE762ADFF8A3478C2C9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + DA63C2BDCDFB0A29EF5D49EDF95724BF /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FE2EECB8103069FC9D094A9453F0E5E4 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F9323849E50840C3CC8D3EA197513D5E /* Foundation.framework in Frameworks */, + 057AD19E80F1F6E17D80CDC554C0E41F /* XCTest.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0B3D003A7C1077A3F04902E11EE2D428 /* Protocols */ = { + isa = PBXGroup; + children = ( + C4168F73CEF3298398FAFE1F3755C496 /* Adjustable.swift */, + 5FD98E1ABC6B6C0E1972A84DF17C5101 /* CellContaining.swift */, + E69262C4F4A355BF4676D44D72262A23 /* Completable.swift */, + 1535CFEC7782CBF5925C8C4087599AF0 /* Dismissable.swift */, + 233D9F6DE5B7ED9B213DDEE7A60DF4D2 /* Editable.swift */, + 526C28167B8EB919F428D251486F18A3 /* Element.swift */, + 44F9BE5C5077780745214E80112EF7EF /* Refreshable.swift */, + FB18014FAD1F5EE5FA9E004624623989 /* Screen.swift */, + F91B925F791557160A72CB6C0BA49D45 /* Scrollable.swift */, + 029ACEB452A14FC499201FC3B0C4ED34 /* ScrollableScreen.swift */, + 06062B1405E6248957F1FA51ED99AEAE /* Tappable.swift */, + DC8E6BB8E22FC1B0C1930A4F8B678E92 /* ValueRepresentable.swift */, + ); + name = Protocols; + path = TABTestKit/Classes/Protocols; + sourceTree = ""; + }; + 13156ED4460199C179A65E78131501C9 /* TABTestKit */ = { + isa = PBXGroup; + children = ( + 5B5CC92563CE4BC7DA55A6394BD6A1DA /* TABTestCase.swift */, + 8872C50C8A2611470A75161595B511D1 /* Apps */, + 868B417AD73B1B721B53EAAD193BB43C /* BDD */, + 3F8ED93EBF60DA466D13FAEA865C7534 /* Biometrics */, + 84077031334557DE7388627A56AB6D8E /* Contexts */, + 7FD44DEFF2C312F744D47FD7616C45B6 /* Elements */, + AD21999C0E45239ADD1FC10D908F2545 /* Extensions */, + 9302C6E69E759D3BC0598249955E45CD /* Pod */, + 0B3D003A7C1077A3F04902E11EE2D428 /* Protocols */, + 93861C173157E253A42A264F81336254 /* Screens */, + ED03717EC67D68756D0CA0452BCCD549 /* Support Files */, + ); + name = TABTestKit; + path = ../..; + sourceTree = ""; + }; + 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 3E285571EF144F8DACCF451128B351DD /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + 18BB3C90BDF1A5F1D336E77B09EBB1F2 /* Development Pods */ = { + isa = PBXGroup; + children = ( + 13156ED4460199C179A65E78131501C9 /* TABTestKit */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + 2C065241B34ABECCB0CE7068DB612DD4 /* Products */ = { + isa = PBXGroup; + children = ( + 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */, + 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */, + 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */, + 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */, + ); + name = Products; + sourceTree = ""; + }; + 2F366F56986BC5DDC447A015305D29D9 /* Pods-TABTestKit_Example */ = { + isa = PBXGroup; + children = ( + 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */, + 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */, + 17AE207B2FD67E1096C542744391C322 /* Pods-TABTestKit_Example-acknowledgements.plist */, + 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */, + EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */, + CBA3199C63C53E992A3F26F5ADCBB639 /* Pods-TABTestKit_Example-Info.plist */, + 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */, + 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */, + AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */, + ); + name = "Pods-TABTestKit_Example"; + path = "Target Support Files/Pods-TABTestKit_Example"; + sourceTree = ""; + }; + 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */ = { + isa = PBXGroup; + children = ( + 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */, + 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */, + A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */, + 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */, + 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */, + F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */, + 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/ShowTime"; + sourceTree = ""; + }; + 3E285571EF144F8DACCF451128B351DD /* iOS */ = { + isa = PBXGroup; + children = ( + 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */, + 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */, + ); + name = iOS; + sourceTree = ""; + }; + 3F8ED93EBF60DA466D13FAEA865C7534 /* Biometrics */ = { + isa = PBXGroup; + children = ( + BA5720DEDCE2EE95A4B4F67D967D49EE /* Biometrics.m */, + E4AB311632441689EE39961281F1DCDF /* include */, + ); + name = Biometrics; + path = TABTestKit/Classes/Biometrics; + sourceTree = ""; + }; + 7F9009F1182E3BDED6F366005188C8B5 /* Pods */ = { + isa = PBXGroup; + children = ( + C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */, + ); + name = Pods; + sourceTree = ""; + }; + 7FD44DEFF2C312F744D47FD7616C45B6 /* Elements */ = { + isa = PBXGroup; + children = ( + CC8682021049AEAAB3DCD7C150A95FB2 /* ActivitySheet.swift */, + 63808F52E6B612D9117EA7F81237AAED /* Alert.swift */, + C0E4EAF339F88D5CC4828E58D2D044BA /* Attributes.swift */, + 8BFD6C0764CD43FFB743CE603C9FFD68 /* Button.swift */, + 5EE536BF6DFF2331078DBAADAAB49035 /* Cell.swift */, + 3A6FE0B2CF948C41E54AA50B9A2DBFE6 /* CollectionView.swift */, + 6980B17C7DE4DADEAE4CC75D703C54AC /* Header.swift */, + 288348B0E48E8832F351BC7B63303777 /* Icon.swift */, + E0A11CCC52D92B046F8A9FA9AC99AF4F /* Image.swift */, + 37CD9BB357BD4C98594C6FDB2372E203 /* Keyboard.swift */, + 34B6C40BC468C579D69B2CC4CAF320EC /* Label.swift */, + 71AC18C8449F986EBB02832E2A07A50F /* NavBar.swift */, + 8BF44A3860DAFA6F569C7C830A6F42C2 /* PageIndicator.swift */, + D07C967D9F11E4E64FCCB0515B63C928 /* Picker.swift */, + 2EB66BEA4359AD0F6E58CE8E61A7D651 /* ScrollView.swift */, + 539E3535E6A4796A5DC1359080B1B388 /* SecureTextField.swift */, + 2120EE906455FB83E2E09406CEF662C9 /* SegmentedControl.swift */, + 7FDC2516655ADE505B015B6C694D2328 /* Sheet.swift */, + 71BC30DBECCC085046C14F79A51C96FC /* Slider.swift */, + 7E675701574C76D0C286A4F6FFFFB5E5 /* Stepper.swift */, + A4F037B014CEDE4C8F4E39CB25E05DD2 /* Switch.swift */, + 1A139CE57C53F627624E7B2244D19E74 /* TabBar.swift */, + 9089417F0109865CDB124A2329BDD6FB /* Table.swift */, + 428C7E1FA710CF3CFD6B1D091E8DA215 /* TextField.swift */, + A44D97A79485D765FFC1885EF486035C /* TextView.swift */, + AB73F3D5CE27BEFC135A72853A578770 /* View.swift */, + 30B66790D2082BEC84983A6EF4BF5662 /* WebView.swift */, + ); + name = Elements; + path = TABTestKit/Classes/Elements; + sourceTree = ""; + }; + 84077031334557DE7388627A56AB6D8E /* Contexts */ = { + isa = PBXGroup; + children = ( + 58701D6FE5B0819E5ECE654224188DC0 /* AlertContext.swift */, + 5E21D12E79B060EEABD6D9C064FD58DC /* AppContext.swift */, + 3ABBEEBD584246EF61D103CF1C923A0E /* BiometricsContext.swift */, + E34A4D0E90CA84F5B686ECC33E84720D /* InteractionContext.swift */, + 9428A8F167FEB42DE18A7EBD813A80A5 /* KeyboardContext.swift */, + 48F3EF5E147F848C915D2D095DFA422D /* NavigationContext.swift */, + 609F80835D951294E6054EC34BE7DEAB /* SheetContext.swift */, + 20F6759CD9CFC4C1F5DA6B78EFFBB609 /* SystemPreferencesContext.swift */, + ); + name = Contexts; + path = TABTestKit/Classes/Contexts; + sourceTree = ""; + }; + 868B417AD73B1B721B53EAAD193BB43C /* BDD */ = { + isa = PBXGroup; + children = ( + D62EEF2B33953AEF764BCFFC3597CF30 /* Scenario.swift */, + 82E2D18AF412B9ED1E41630009454979 /* Step.swift */, + ); + name = BDD; + path = TABTestKit/Classes/BDD; + sourceTree = ""; + }; + 8872C50C8A2611470A75161595B511D1 /* Apps */ = { + isa = PBXGroup; + children = ( + 17DCECBA4EAAE4C07053D26FBE892D78 /* App.swift */, + B6FEDCB8E835BAD94013EC96B36228F2 /* BaseApp.swift */, + B10C6E6AABDEF73C8D9E647494F5FFFD /* Safari.swift */, + DE2ACC1384856F32BDEAF0B67C4ABBA6 /* Springboard.swift */, + 2ADFBF8A19DAC2594ED4548F1696E8C9 /* SystemPreferences.swift */, + ); + name = Apps; + path = TABTestKit/Classes/Apps; + sourceTree = ""; + }; + 9302C6E69E759D3BC0598249955E45CD /* Pod */ = { + isa = PBXGroup; + children = ( + 1FEECC2891FA9207E48C23F05FA63331 /* LICENSE */, + 8A3EB354FF57A4D5DF54965C128B21F6 /* README.md */, + 43D13F1FAF8603F38A44BA21F33C0912 /* TABTestKit.podspec */, + ); + name = Pod; + sourceTree = ""; + }; + 93861C173157E253A42A264F81336254 /* Screens */ = { + isa = PBXGroup; + children = ( + CA36B114B42B335BCF6F8F96ED83733E /* SystemPreferencesGeneralScreen.swift */, + 0D9B3886BA63D85E95DC7C0E2C41C9C9 /* SystemPreferencesResetScreen.swift */, + 6AEC6A3A9A1E90D3C5F4B4A736C8E946 /* systemPreferencesRootScreen.swift */, + ); + name = Screens; + path = TABTestKit/Classes/Screens; + sourceTree = ""; + }; + AD21999C0E45239ADD1FC10D908F2545 /* Extensions */ = { + isa = PBXGroup; + children = ( + 6E78188EC60ABEC11AE165500D2CFFCB /* Array+Safe.swift */, + 238D94DB52E866485358E8A0DB1C35AF /* CGVector+Offset.swift */, + CD37B9C8E065DD3D17F7204B1B1FBD58 /* Element+defaults.swift */, + E78108E38AC455729C36C4C7EEDE146C /* NormalizedCoordinate+Locations.swift */, + DBE7A8817DB54096950BC6C6163FB2C0 /* XCTFatalFail.swift */, + D8F71C696D13A19D07E5810318AA9384 /* XCUIDevice+frame.swift */, + CD112D38CB4A7946791170C90730CC9D /* XCUIElement+hasKeyboardFocus.swift */, + EC56A10DF2C24631522AEF8CBF30B351 /* XCUIElement+isVisible.swift */, + 5D9D28DCEEADE9294B60676002E5F3AF /* XCUIElement+wait.swift */, + ); + name = Extensions; + path = TABTestKit/Classes/Extensions; + sourceTree = ""; + }; + BF4BFAF140349307273B1343616A213B /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { + isa = PBXGroup; + children = ( + C354231844F21D916AF8E0D9E0F587FF /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap */, + A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */, + 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */, + 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */, + 1CB830EB632DA8DED42D4E33C4E59DD9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh */, + AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */, + C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */, + FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */, + 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */, + ); + name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; + path = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; + sourceTree = ""; + }; + C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */ = { + isa = PBXGroup; + children = ( + D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */, + 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */, + ); + name = ShowTime; + path = ShowTime; + sourceTree = ""; + }; + CF1408CF629C7361332E53B88F7BD30C = { + isa = PBXGroup; + children = ( + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 18BB3C90BDF1A5F1D336E77B09EBB1F2 /* Development Pods */, + 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */, + 7F9009F1182E3BDED6F366005188C8B5 /* Pods */, + 2C065241B34ABECCB0CE7068DB612DD4 /* Products */, + F7FD97F3CC6F18F4AAAE10E5DE0D2076 /* Targets Support Files */, + ); + sourceTree = ""; + }; + E4AB311632441689EE39961281F1DCDF /* include */ = { + isa = PBXGroup; + children = ( + 801D065A67CFE384AC907A0A08A80669 /* Biometrics.h */, + 825F5BBC95C9AD5A6FEF97516F438976 /* Biometrics-Bridging-Header.h */, + ); + name = include; + path = include; + sourceTree = ""; + }; + ED03717EC67D68756D0CA0452BCCD549 /* Support Files */ = { + isa = PBXGroup; + children = ( + 8D4D2A880C74185B385459D0F3ECFC51 /* TABTestKit.modulemap */, + 987BEA52658B9CB88A6F751D324F13AD /* TABTestKit-dummy.m */, + 96FC8F190C24B476CD216A18EC6FFCF2 /* TABTestKit-Info.plist */, + BBE255692AD510B938CB0017AEED4518 /* TABTestKit-prefix.pch */, + F00418B0925C8A96D09D1986BE6C1B6B /* TABTestKit-umbrella.h */, + 5EADE617313EDEFAE09DD75B5F7B1B98 /* TABTestKit.debug.xcconfig */, + 2139B5533BEBB89B1AAED6BD36926681 /* TABTestKit.release.xcconfig */, + ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/TABTestKit"; + sourceTree = ""; + }; + F7FD97F3CC6F18F4AAAE10E5DE0D2076 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + 2F366F56986BC5DDC447A015305D29D9 /* Pods-TABTestKit_Example */, + BF4BFAF140349307273B1343616A213B /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 178DFB6B6BAB0C3D7EE913DF5BD7B1F0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 3D53EE53A9983C943A862D0383369B25 /* Pods-TABTestKit_Example-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3F40A637A8ECE6C9BDF8E29F37A0BF86 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D0A0967C43C505030195B253B82C5E33 /* Biometrics-Bridging-Header.h in Headers */, + DCBC7977519A09E364F903C059F52EBF /* Biometrics.h in Headers */, + 795BE4C0034613920A5C128A01BB53C7 /* TABTestKit-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + AB86B7E9D6EAB08392DCE2A1DD93C606 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 466B4F15E513602A12E004EE0DDC43EE /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CCCD40A3CF98074BF1895442469F632F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 874D50CB9D57ED75CCA17B703E811C10 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = D5B2987750CBF4D7AFC2D54182302C16 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */; + buildPhases = ( + AB86B7E9D6EAB08392DCE2A1DD93C606 /* Headers */, + 95ECBCD1734887D7515B9A6948AEC029 /* Sources */, + C5F45EBFBA89156FDAD636437B27CAAE /* Frameworks */, + A7EEE765EE1F67DCB0A455CBABB427F9 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 5881E651165AE9D8ABC7666E58180A86 /* PBXTargetDependency */, + 8E3FBE2043FCE69E094FCA9E048173C7 /* PBXTargetDependency */, + ); + name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; + productName = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; + productReference = 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */; + productType = "com.apple.product-type.framework"; + }; + 97F19241BD426C32C1C3FAF09F17AA80 /* Pods-TABTestKit_Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 79E6F7CF76BD1BE7D1F1F80FC0ED4DFB /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */; + buildPhases = ( + 178DFB6B6BAB0C3D7EE913DF5BD7B1F0 /* Headers */, + 8A4E3CDF39788C8C58AEFDD62DC67535 /* Sources */, + DA6508EB8D221EE762ADFF8A3478C2C9 /* Frameworks */, + E29162AAC217F2B0287889DDF6A6DDDE /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 09312B6A29165575FE9715A639E3078A /* PBXTargetDependency */, + ); + name = "Pods-TABTestKit_Example"; + productName = "Pods-TABTestKit_Example"; + productReference = 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */; + productType = "com.apple.product-type.framework"; + }; + 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */; + buildPhases = ( + CCCD40A3CF98074BF1895442469F632F /* Headers */, + F3EFCCB3C1AE195157628019EC33351E /* Sources */, + 03E1BC428CDBAFFCB7A23DC27272A29B /* Frameworks */, + 031CA665B29B23A9412E394FBC39639C /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ShowTime; + productName = ShowTime; + productReference = 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */; + productType = "com.apple.product-type.framework"; + }; + 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = CCF6C1C87AEA5A4C21DD5400C1FAC792 /* Build configuration list for PBXNativeTarget "TABTestKit" */; + buildPhases = ( + 3F40A637A8ECE6C9BDF8E29F37A0BF86 /* Headers */, + 31A42377726E54269592FA374D7C2BCC /* Sources */, + FE2EECB8103069FC9D094A9453F0E5E4 /* Frameworks */, + B4FE060EE9C101E7883903D02A5DC22F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TABTestKit; + productName = TABTestKit; + productReference = 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1100; + LastUpgradeCheck = 1100; + }; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = 2C065241B34ABECCB0CE7068DB612DD4 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97F19241BD426C32C1C3FAF09F17AA80 /* Pods-TABTestKit_Example */, + 874D50CB9D57ED75CCA17B703E811C10 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */, + 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */, + 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 031CA665B29B23A9412E394FBC39639C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A7EEE765EE1F67DCB0A455CBABB427F9 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B4FE060EE9C101E7883903D02A5DC22F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E29162AAC217F2B0287889DDF6A6DDDE /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 31A42377726E54269592FA374D7C2BCC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7BE3CA364825F8CD761A911CA29DEC00 /* ActivitySheet.swift in Sources */, + 31D832E6B1905EB24BD3914FB9E4E26D /* Adjustable.swift in Sources */, + 64BAD1DD1EA45B92B9AFF98CE73A5ED4 /* Alert.swift in Sources */, + 6972944BAF55F67D1613B40566B51B59 /* AlertContext.swift in Sources */, + B513DE81DB5A4FF5CB34A166242B6A1B /* App.swift in Sources */, + 863EE3A68BBD9D64B35BD86403CFE347 /* AppContext.swift in Sources */, + EA26D3491AF4F16202B2F0B5A231CCD8 /* Array+Safe.swift in Sources */, + 5D7A82AD1AFEF42A0E95D96C466A99E6 /* Attributes.swift in Sources */, + 58810327410B85FEB119763254AA4B0B /* BaseApp.swift in Sources */, + AE85E79E4A1CB7C55A422C5B8095547F /* Biometrics.m in Sources */, + 430AC0E3784C452CA9A861D9E6AC9E46 /* BiometricsContext.swift in Sources */, + 07FDD88F73EA8960D0F9E3C3EF4B6E4E /* Button.swift in Sources */, + B37EC5CB2875EB4529A536911F8660EE /* Cell.swift in Sources */, + 4B8A6E15476B0C9F6CBC5F274DE4FC7C /* CellContaining.swift in Sources */, + 6976C71365844907D1C897F35DF571C4 /* CGVector+Offset.swift in Sources */, + B689E311677718EBC18E8A65181E28D1 /* CollectionView.swift in Sources */, + 1C9C381CC36794C97A0D5856A243AECA /* Completable.swift in Sources */, + 930BB84CB3CD91D6C3F47344F1E3B716 /* Dismissable.swift in Sources */, + 320CD0432837527FF659853E14CCE0EB /* Editable.swift in Sources */, + A1DEEA086571A976344EACF308E8B05C /* Element+defaults.swift in Sources */, + DB455946D47F73E2186787172F680213 /* Element.swift in Sources */, + 3FFB5CEAF0482B2CC8FA486FAFE32A62 /* Header.swift in Sources */, + BB77F7A6807B6E204739EB0881E3B4CA /* Icon.swift in Sources */, + 8BB6FAEAAE345666BA4D0339B6512DA6 /* Image.swift in Sources */, + C5CD0C3F1C611A6F4C44A5752E91C2F5 /* InteractionContext.swift in Sources */, + F259DC0C2C71FE4DE5FAAD5C376C0601 /* Keyboard.swift in Sources */, + 87219A0833E2C2DB62240B62D31BCB17 /* KeyboardContext.swift in Sources */, + 9BB4E051EA402E2BFC9EC5D111B197FF /* Label.swift in Sources */, + 6E077301C2429F6C0F506EC83BFCDCB3 /* NavBar.swift in Sources */, + 59C61F9D86B646893D50711CC5C6801A /* NavigationContext.swift in Sources */, + 743F40249F12DD773D943A66974214F9 /* NormalizedCoordinate+Locations.swift in Sources */, + 64014F0876F2797A9BA0548CF916D20B /* PageIndicator.swift in Sources */, + 0B68E89B98365D41A7600239B2092EDD /* Picker.swift in Sources */, + B36FC689297C3EE65EB22BA68CD71863 /* Refreshable.swift in Sources */, + E7FB14F2DBF5C8E23887E8D7E4D0FA33 /* Safari.swift in Sources */, + 31E317402DD57DCD01147DD5A1B03793 /* Scenario.swift in Sources */, + C997CEF610E3041E1C3A5E95D08932B7 /* Screen.swift in Sources */, + 80A3AB6B2D68A0FE6AD65D9E406C0610 /* Scrollable.swift in Sources */, + 57001A8096851FD8002D6A76EE216715 /* ScrollableScreen.swift in Sources */, + B7CF969CE6C43590EF1C83A67707912A /* ScrollView.swift in Sources */, + 2A7568FFE5FC98F3A8A8C9EC2E6CFBBA /* SecureTextField.swift in Sources */, + 1CAD5E52058606696556F9E164DC8D5D /* SegmentedControl.swift in Sources */, + 0D0CA421CAB8CFB002F3A7958428F87D /* Sheet.swift in Sources */, + A491165E101133259FF943950187B759 /* SheetContext.swift in Sources */, + 23FED18C864803B6CD493F0DED90E82B /* Slider.swift in Sources */, + 11661C36C0918639523AE19766D96ADB /* Springboard.swift in Sources */, + 7FC59073193FDD929E3C7DF6C5F7DAC8 /* Step.swift in Sources */, + 859F328E4ABF338A9987E4A2A835B5D2 /* Stepper.swift in Sources */, + 96F4D54DC6D19C2B62038FB29CA14EFC /* Switch.swift in Sources */, + D9D0A3DCC7BEB64B8F1602523BA266E4 /* SystemPreferences.swift in Sources */, + BD175ABDA60A025E76859EC888C936CB /* SystemPreferencesContext.swift in Sources */, + 84207533D404FF5E0399A8E25C9E54B1 /* SystemPreferencesGeneralScreen.swift in Sources */, + 57ED8608C9256BFEE6338B4D9C6BA3D2 /* SystemPreferencesResetScreen.swift in Sources */, + A42C4B780986976455B79A6DCE9DA9E2 /* systemPreferencesRootScreen.swift in Sources */, + E434A53EF6A44B1AE884F2B627B29B32 /* TabBar.swift in Sources */, + 1090D87A7D515D6D41D894DD759E7A5F /* Table.swift in Sources */, + 1B1415B0B3DB73411748BF869920A0F2 /* TABTestCase.swift in Sources */, + 747122308EDDFEF93EF4E728E15CF1F6 /* TABTestKit-dummy.m in Sources */, + 208D7E4CF6D5816E2375BD8E79E45004 /* Tappable.swift in Sources */, + B4C82C8ACF0F022053310C472E055B93 /* TextField.swift in Sources */, + 4101E143EB6E39F850E73276237625DD /* TextView.swift in Sources */, + A0CB99B9EA85274E99D1FA593199CFE0 /* ValueRepresentable.swift in Sources */, + 63D3C37B825C72FC8B554ECEF6A1C189 /* View.swift in Sources */, + FDA563324A4D72C0C284BEF9380A869C /* WebView.swift in Sources */, + 63EA29EA99DA5C624B186F7CD629B14D /* XCTFatalFail.swift in Sources */, + BC63BDE0255954A2DA44B3F1D90E30D1 /* XCUIDevice+frame.swift in Sources */, + 5B39540A604873FB3180D8B28B8B88FA /* XCUIElement+hasKeyboardFocus.swift in Sources */, + D0FD68BBEC62BB6F4DB4D2F58E269A44 /* XCUIElement+isVisible.swift in Sources */, + 280DE7E704E54040AAD99A912D804B1C /* XCUIElement+wait.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 8A4E3CDF39788C8C58AEFDD62DC67535 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 178C0B2157C033E8875D33BAFCCD1A07 /* Pods-TABTestKit_Example-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 95ECBCD1734887D7515B9A6948AEC029 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + EE7661A93B9C6E26F9D8C1D89491F76E /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F3EFCCB3C1AE195157628019EC33351E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */, + 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 09312B6A29165575FE9715A639E3078A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = ShowTime; + target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; + targetProxy = 08A99BEA9208FCFDB1062DADA9B40487 /* PBXContainerItemProxy */; + }; + 5881E651165AE9D8ABC7666E58180A86 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = ShowTime; + target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; + targetProxy = 34A9B585AC52D00944BC81029C8F615A /* PBXContainerItemProxy */; + }; + 8E3FBE2043FCE69E094FCA9E048173C7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = TABTestKit; + target = 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */; + targetProxy = F598D08DAB210C6E35AA46DCC7485897 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 04AD86BD59E502EB4165D14CE560F1DA /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 196DFA3E4A09A28224918543529A1885 /* 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_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 = ( + "POD_CONFIGURATION_DEBUG=1", + "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 = 10.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 4C51911A1FFA8CA851E657C4B120950C /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2139B5533BEBB89B1AAED6BD36926681 /* TABTestKit.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 9C0A9FDB00AEE995DC0E28A40BE47865 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + A029BD224521BA726B8EBE9B47AA88B2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 5EADE617313EDEFAE09DD75B5F7B1B98 /* TABTestKit.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; + PRODUCT_MODULE_NAME = ShowTime; + PRODUCT_NAME = ShowTime; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + B01D14FDC83DCF9D4BE53066BEA96D05 /* 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_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_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=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 = 10.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + C0F86FFA8B484F56DFC4CD061AFD2E99 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D638E423895A2C1C466433CCA95C495B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; + PRODUCT_MODULE_NAME = ShowTime; + PRODUCT_NAME = ShowTime; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + E562A84BB67EECCC3A64BB37709EF005 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D638E423895A2C1C466433CCA95C495B /* Debug */, + A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 196DFA3E4A09A28224918543529A1885 /* Debug */, + B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 79E6F7CF76BD1BE7D1F1F80FC0ED4DFB /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C0F86FFA8B484F56DFC4CD061AFD2E99 /* Debug */, + E562A84BB67EECCC3A64BB37709EF005 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + CCF6C1C87AEA5A4C21DD5400C1FAC792 /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A029BD224521BA726B8EBE9B47AA88B2 /* Debug */, + 4C51911A1FFA8CA851E657C4B120950C /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D5B2987750CBF4D7AFC2D54182302C16 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 04AD86BD59E502EB4165D14CE560F1DA /* Debug */, + 9C0A9FDB00AEE995DC0E28A40BE47865 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; +} diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj.orig b/Example/Pods/Pods.xcodeproj/project.pbxproj.orig new file mode 100644 index 00000000..d01cddd6 --- /dev/null +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj.orig @@ -0,0 +1,1509 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0289FC8AFC384C6607AFF4BAED6B0EF2 /* NormalizedCoordinate+Locations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46E807E5C37ADDFE704A842DD3EFAA7E /* NormalizedCoordinate+Locations.swift */; }; + 03B034D04E953E6C5F04E6C880D588AE /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1B00FF7EA37A73A039336661BD8106A /* Element.swift */; }; + 048129840F067AC6750F3608B5EA6EB1 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 459930B2C0375709026C8824C2B5BC7D /* TextView.swift */; }; + 07C13F433F48A5948DCE828FD7C84FF3 /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 053B19479828C38D4110FE99134DC778 /* Table.swift */; }; + 0A87384682167E8B2102822DAC6EBB33 /* Springboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54198552547C73BCFC0216636BFD016C /* Springboard.swift */; }; + 0E3BE1B9CE0FEB8934EA4107014F6FDD /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */; }; + 11D912514CCC5588417AC5F3179626DF /* InteractionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */; }; + 155F6FB614546F9AE28C422FC440001F /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 238AF90812F1CD97B79A8399254B58A9 /* CollectionView.swift */; }; + 160F061600313E5870CA5106F8C1F639 /* NavigationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */; }; + 16F9C2B954F613BB9DF95577271980CE /* XCUIElement+wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24BFB32C3C83651B95CB53F5E69A3301 /* XCUIElement+wait.swift */; }; + 1729165E909C3E25F5806886F78ED237 /* Picker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20F58489F4723E0D3E9BB5B322A3D9AB /* Picker.swift */; }; + 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */; }; + 1BE15D7A18C0DD91F4459F136801057E /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */; }; + 20DCE3BEA955E837D61BD1802EF423A4 /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */; }; + 20F75E6ECBE6DD7DCD09F30F4A524FB8 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54DB4AA64F3152E6EECDCB67384B2CCA /* View.swift */; }; + 24D7A664D64F1AA1830EB9F476247473 /* BaseApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */; }; + 265300EF96BAB888DB099885F7266035 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */; }; + 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 2681AF561E209E9349ADEFC141D1D0B8 /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */; }; + 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; +<<<<<<< HEAD + 299D4F6309CC23F31E5C5D95A7E02A33 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63272E25FC5DEBFFD3F137ED371F0D90 /* Header.swift */; }; + 2AF359640A0A777754A7122D53882BD2 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 155E5165E39832CF08C9E5E5D642CD08 /* BiometricsContext.swift */; }; + 2DD2070024CED10B008E65A4 /* Refreshable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD206FF24CED10B008E65A4 /* Refreshable.swift */; }; + 2DDFB2BDB67835155F363681B96D2C2F /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = A17837D9953239F8933ECEE37F0DB79B /* Table.swift */; }; + 37A732C41F0A423218BB88950B8597E5 /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45CCC7C69B41A0DA6942BD8B907F63C4 /* XCTFatalFail.swift */; }; + 385CE3D437C12BCFCF18F14D148A9DBE /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DDACB58E6AB184EFE630C5EAAC305B4 /* XCUIElement+isVisible.swift */; }; + 3AEA2FFC92773D0EFC732CABC0E18C6C /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C73E5A4A0C3A06AA7E4CA248D482990F /* Cell.swift */; }; +======= + 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 2944710EF5C6C830DB74A9D17DC1656C /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */; }; + 2ABFECB772D2BE0AC0070C3A4E18787D /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */; }; + 2BA3833D588F9B589293F4D9DD3624BD /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */; }; + 2E6A459C13067843E9E733B7777D000A /* ScrollableScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */; }; + 2E9B24CA3DD108679F5153006D3FC3CF /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */; }; + 2FD699C493DE16A212BE97242655F7A5 /* SecureTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0DBDEBC520899475A1BB75B00A1EE42 /* SecureTextField.swift */; }; + 30E3E580039B6ACD368053E94CBE704E /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55E96E9766746CA610A94D58B8671EF5 /* Adjustable.swift */; }; + 3401E48E7973EB820670A7FED4276D14 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */; }; + 343D700592AB9FF9DCEDD0796C6A258F /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */; }; + 376E2DDB3B8BA4D09CFC9C00A58FB4FA /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */; }; + 37EAD2E9ADB46C4F523F45099708CFB7 /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */; }; +>>>>>>> develop + 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */; }; + 3BF3F80BCBFEF897650BFAE647F2A280 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */; }; + 3FAB8EBF9F8003C7476DB5F87B760E43 /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */; }; + 414813F69596E7C92124C3AE00104567 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 508F2267AB9D58E2EED019FFFF3540B0 /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */; }; + 522B407CD9F5D799715D4D2869DC01E7 /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */; }; + 5FB769765308A595B0FBEEDCA0335275 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */; }; + 612C506A9BA5B067666BDE960A4D94BA /* TABTestKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */; }; + 66A5B2F5AC59EDC23EB28FD09B338FFE /* AlertContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4351AF11C053255D768C13BE1B7F1B7E /* AlertContext.swift */; }; + 6DCDC8BC367DD132D1113E25A086E259 /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */; }; + 6F64941180F5308FB3A7A5C2577A29A0 /* Safari.swift in Sources */ = {isa = PBXBuildFile; fileRef = E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */; }; + 746DE544070D80A4CD388BA873C85EC0 /* SystemPreferencesContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */; }; + 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 791AD29540724A4E4A97EDD110309C35 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 7C65B1AD1DD38309227F918C67C6B3EE /* CGVector+Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */; }; + 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; + 84715F049294F85B91392E9AA16EE230 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */; }; + 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */; }; + 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8AF0B1F740CAFDFA8E7148D75048B43B /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */; }; + 8C520520B3FEA452BE3BED8C7CE8CA1F /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */; }; + 8E34A8C9143656512A48616367E95230 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */; }; + 924F0FD4C4A04810D33A1159697F7F2F /* systemPreferencesRootScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */; }; + 949BEB4CB87783483E0F4A3C9CB745A1 /* SystemPreferencesResetScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 156706A142EA2D84F38248FBC837F4FE /* SystemPreferencesResetScreen.swift */; }; + 96BBD059D315A8A095D49DAEAC1B6591 /* Stepper.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */; }; + 9BE34F01F1F746E4014941F8AFDA688F /* KeyboardContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B77B8B20CC400E8C375FA1723F7ACC2 /* KeyboardContext.swift */; }; + A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + AB572CAE0B20E64CD7636DB54A3AACE9 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01604192DB1C9CE026013ECDAE320A58 /* ActivitySheet.swift */; }; + AF85FEFAD781B682F9F98A1C255400EE /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F543767EC0E26A318D55F65E6699BED /* TabBar.swift */; }; + B44F6E61DB873B6949B16CA4EC909F88 /* Element+defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A52EF7ABB826DFEC791EB0CB58E7CB /* Element+defaults.swift */; }; + B6A9891FF52E74BA2A1A490DD5B85BC4 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */; }; + B6A9F7439F1AF2978211B410356E9D2D /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 297E55F67281B78736519AEE8E50C97B /* Completable.swift */; }; + B7024D3885EB76F2AB4FA21989D6BD37 /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BB08585A52985192826C66EA51C71625 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A95E743358DB242EF893B17337986A1 /* WebView.swift */; }; + C2BC20E24143ABD6F5B9E4CF5FCB7ABE /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */; }; + C8A616579C1F5D65CE1FD2BD3402DDB4 /* TABTestKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0428F31B465D7152E8F31D53286A279 /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */; }; + D0CB62AABEC1CF3A6880EEFED3632F32 /* ValueRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */; }; + D135CF4B86F1DD96C7BB2F8FDB197271 /* Alert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 580AA2A73E22142A66880CCE7E718F1E /* Alert.swift */; }; + D42ABDAE7912BEF692859F6B2A94B1CE /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3813DBFD98278C34AF4FD1CB869B2C62 /* XCUIDevice+frame.swift */; }; + D5EE336DE563CF9BEDED89ECD25CF710 /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07FE2580ED80E61F8E0A680C80099156 /* CellContaining.swift */; }; + D765018875AB532D3CE38B77D90E146B /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DDA4BC0A68610BD7A49A847F7665332 /* XCTFatalFail.swift */; }; + DAE1EBDCA9285460C9FC349C73297FB1 /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBCF8955D50B0C63BB9D4A1196769CE3 /* Scrollable.swift */; }; + DED5DCD6F065ADED8BCC9EE151996A18 /* XCUIElement+hasKeyboardFocus.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */; }; + E587B0B46DA8AFB7B9B7B59809ECE6BF /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58572699EBECC18BB3625DAD6E0732D1 /* ScrollView.swift */; }; + E88F2BBDD3EF2EEB8375325073C3F5E8 /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ACDC59DF4312A9FC28888A6616FE925 /* Sheet.swift */; }; + F1CBE51E4443204A5E2A6E3601EE7BC1 /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */; }; + F1DE6CD29B77DCD7F725E84CEA902EFB /* SystemPreferencesGeneralScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */; }; + F3E2B0E0851AA5415FB3E610FA5C4E42 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */; }; + F9FCDDA7FC7209C38350C381AF1C2BC0 /* PageIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4422075987AE438F3EA8834B6B4BDC6F /* PageIndicator.swift */; }; + FF137D050D4908DEF2B0F162D58FA346 /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 319333D87D4033A11D3CC144486435AA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; + remoteInfo = ShowTime; + }; + B21E0FCC9F1157FF80390E95CD15A108 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9C4F771642E79689CC6A0648ABEA808C; + remoteInfo = TABTestKit; + }; + F41BBFB7252426070E01EDB3A893D81B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; + remoteInfo = ShowTime; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 01604192DB1C9CE026013ECDAE320A58 /* ActivitySheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; + 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 053B19479828C38D4110FE99134DC778 /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; + 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; + 07FE2580ED80E61F8E0A680C80099156 /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; + 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; + 13A52EF7ABB826DFEC791EB0CB58E7CB /* Element+defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Element+defaults.swift"; sourceTree = ""; }; + 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.debug.xcconfig"; sourceTree = ""; }; + 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; + 156706A142EA2D84F38248FBC837F4FE /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; + 17AE207B2FD67E1096C542744391C322 /* Pods-TABTestKit_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-acknowledgements.plist"; sourceTree = ""; }; + 1906474D57FFF05C71AD048006BF4A91 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Tappable.swift; sourceTree = ""; }; + 1CB830EB632DA8DED42D4E33C4E59DD9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh"; sourceTree = ""; }; +<<<<<<< HEAD + 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ShowTime.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 25F3D68A1C533976A44258E21892AEEA /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; +======= + 1F543767EC0E26A318D55F65E6699BED /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; + 20F58489F4723E0D3E9BB5B322A3D9AB /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; + 238AF90812F1CD97B79A8399254B58A9 /* CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; + 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ShowTime.framework; path = ShowTime.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 24BFB32C3C83651B95CB53F5E69A3301 /* XCUIElement+wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; +>>>>>>> develop + 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-dummy.m"; sourceTree = ""; }; + 297E55F67281B78736519AEE8E50C97B /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; + 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; +<<<<<<< HEAD + 2DD206FF24CED10B008E65A4 /* Refreshable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Refreshable.swift; sourceTree = ""; }; + 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3237DEBB9F9F00BA6ADAD8AB37692BCA /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + 34EA09ECE216F225AA7DF4026825C436 /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; + 366F78B316A5AB871D08711543B5D327 /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; + 375B8CB1A95AB6606CEED0785F6133B5 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; + 37920B45A37AC84496A9227EEE614B1C /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; + 37E7367E2677A52235FB4AFB9EF1C14A /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; + 3840AEBC3E328CF44392723CF4428C0A /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 45CCC7C69B41A0DA6942BD8B907F63C4 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; + 4624ECFF75E5BD892DE3EF61A198D4A2 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; + 4724B710F05C3626A7EE8C13C0599AF9 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; + 49A38A5986EC7A2C2950A75F7523E23D /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; + 506797A95FEFB2CBA340B84C537418A3 /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; + 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TABTestKit_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 51E047AEE74B13C86C26E25A3CF9801A /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; + 52A5B8061DFF2E15F95CC4EB659E58FC /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; +======= + 2DDFA47CFD600B77CF9344816ED2E83B /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; + 3813DBFD98278C34AF4FD1CB869B2C62 /* XCUIDevice+frame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIDevice+frame.swift"; sourceTree = ""; }; + 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BiometricsContext.swift; sourceTree = ""; }; + 3F258240A3EEB5A3C1226EE2AC25DD2E /* TABTestKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TABTestKit-Info.plist"; sourceTree = ""; }; + 401F9F79A790590558175201067C5039 /* TABTestKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-prefix.pch"; sourceTree = ""; }; + 4351AF11C053255D768C13BE1B7F1B7E /* AlertContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; + 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TABTestCase.swift; path = TABTestKit/Classes/TABTestCase.swift; sourceTree = ""; }; + 4422075987AE438F3EA8834B6B4BDC6F /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; + 459930B2C0375709026C8824C2B5BC7D /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; + 46E807E5C37ADDFE704A842DD3EFAA7E /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; + 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-umbrella.h"; sourceTree = ""; }; + 4DDA4BC0A68610BD7A49A847F7665332 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; + 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; + 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; + 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; + 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example.framework; path = "Pods-TABTestKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; +>>>>>>> develop + 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; + 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; + 54198552547C73BCFC0216636BFD016C /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; + 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example.modulemap"; sourceTree = ""; }; +<<<<<<< HEAD + 54D053F37E69CDA613BBBA1569E253DA /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; + 569BA595F08DF86F9182E5974B5DB830 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; + 58F3C0B870A0CAD771B2D53933977162 /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; + 593642291D278E7C793517C981CCCDDD /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; + 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5EA7DCE018C6D76F961CB21C8379D955 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; + 61E92431E861AC13BB1E0BBF9C1C9705 /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; + 63183B1C42462E5C8F1ED91AF4E9322C /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; + 63272E25FC5DEBFFD3F137ED371F0D90 /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; + 66A57DA22EEDCBCFC8E9B9BC17B27034 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; + 66C30B5E7EE69CEACEC323870FACB249 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; + 67A3CC02DF62577AA1EEB6718605C238 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; +======= + 54DB4AA64F3152E6EECDCB67384B2CCA /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; + 55E96E9766746CA610A94D58B8671EF5 /* Adjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Adjustable.swift; sourceTree = ""; }; + 580AA2A73E22142A66880CCE7E718F1E /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; + 58572699EBECC18BB3625DAD6E0732D1 /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; + 5ACDC59DF4312A9FC28888A6616FE925 /* Sheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sheet.swift; sourceTree = ""; }; + 5B77B8B20CC400E8C375FA1723F7ACC2 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; + 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = TABTestKit.framework; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; + 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; + 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; +>>>>>>> develop + 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; + 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; + 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; + 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; + 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-acknowledgements.markdown"; sourceTree = ""; }; + 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; + 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; + 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; + 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; + 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; + 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; + 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; + 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Biometrics.m; sourceTree = ""; }; + 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; + 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist"; sourceTree = ""; }; + 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig"; sourceTree = ""; }; + 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; + 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m"; sourceTree = ""; }; + 9A95E743358DB242EF893B17337986A1 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; + 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; +<<<<<<< HEAD + 9C6654B57C87D13720D1868CC9ACA277 /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; +======= + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; +>>>>>>> develop + 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-umbrella.h"; sourceTree = ""; }; + A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; + A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; + A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; + A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesGeneralScreen.swift; sourceTree = ""; }; + A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; + AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; sourceTree = ""; }; + AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; + AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; + AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.release.xcconfig"; sourceTree = ""; }; + B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; + BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; + BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; + C0DBDEBC520899475A1BB75B00A1EE42 /* SecureTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SecureTextField.swift; sourceTree = ""; }; + C354231844F21D916AF8E0D9E0F587FF /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; sourceTree = ""; }; + C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h"; sourceTree = ""; }; + CBA3199C63C53E992A3F26F5ADCBB639 /* Pods-TABTestKit_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-Info.plist"; sourceTree = ""; }; + CBCF8955D50B0C63BB9D4A1196769CE3 /* Scrollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; + CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; + D1B00FF7EA37A73A039336661BD8106A /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; + D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; + D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShowTime.swift; sourceTree = ""; }; +<<<<<<< HEAD + DE9E0BDEE013BB9D26DB57DBAC454B7C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; + E3A5EF924372D0BF1C9337CD6E3F256D /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; + E488FF0E641054C5E47F83DF51B566A8 /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; + E82689663AAEB700A8CB02F848ABF64A /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; + E88254D430C1C00EF22D4602CE3C351C /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; + E98EB900B16631526C95047EF703D60D /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; +======= + DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; + DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; + DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; + DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollableScreen.swift; sourceTree = ""; }; + E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; + E4DFAC57077CCE851795E1D054BFA3D3 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; + EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; + EC4DD53BBCB1EAFECE7C6B5C0135C9E5 /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; +>>>>>>> develop + EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-frameworks.sh"; sourceTree = ""; }; + EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; + F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; + F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; + F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; + FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 03E1BC428CDBAFFCB7A23DC27272A29B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B8F9CA0F89FDB831D0384478BB7D95AF /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 791AD29540724A4E4A97EDD110309C35 /* Foundation.framework in Frameworks */, + F3E2B0E0851AA5415FB3E610FA5C4E42 /* XCTest.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 3E285571EF144F8DACCF451128B351DD /* iOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + 18BB3C90BDF1A5F1D336E77B09EBB1F2 /* Development Pods */ = { + isa = PBXGroup; + children = ( + B313054B8570ADCDF85576D19AF73B58 /* TABTestKit */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + 2A5BD5A98C0B9DAC647830914CAF61DD /* Biometrics */ = { + isa = PBXGroup; + children = ( + 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */, + D60ED239C5FD4AFD0961BB24833B2BFB /* include */, + ); + name = Biometrics; + path = TABTestKit/Classes/Biometrics; + sourceTree = ""; + }; + 2C065241B34ABECCB0CE7068DB612DD4 /* Products */ = { + isa = PBXGroup; + children = ( + 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */, + 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */, + 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */, + 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */, + ); + name = Products; + sourceTree = ""; + }; + 2F366F56986BC5DDC447A015305D29D9 /* Pods-TABTestKit_Example */ = { + isa = PBXGroup; + children = ( + 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */, + 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */, + 17AE207B2FD67E1096C542744391C322 /* Pods-TABTestKit_Example-acknowledgements.plist */, + 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */, + EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */, + CBA3199C63C53E992A3F26F5ADCBB639 /* Pods-TABTestKit_Example-Info.plist */, + 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */, + 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */, + AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */, + ); + name = "Pods-TABTestKit_Example"; + path = "Target Support Files/Pods-TABTestKit_Example"; + sourceTree = ""; + }; + 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */ = { + isa = PBXGroup; + children = ( + 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */, + 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */, + A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */, + 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */, + 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */, + F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */, + 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */, + ); + name = "Support Files"; + path = "../Target Support Files/ShowTime"; + sourceTree = ""; + }; + 3E285571EF144F8DACCF451128B351DD /* iOS */ = { + isa = PBXGroup; + children = ( + 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */, + 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */, + ); + name = iOS; + sourceTree = ""; + }; + 6937532B19EE71331E44DC5431F1B4A1 /* BDD */ = { + isa = PBXGroup; + children = ( + A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */, + 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */, + ); + name = BDD; + path = TABTestKit/Classes/BDD; + sourceTree = ""; + }; + 7087410A6A9C169B66AD942DE1953F36 /* Elements */ = { + isa = PBXGroup; + children = ( + 01604192DB1C9CE026013ECDAE320A58 /* ActivitySheet.swift */, + 580AA2A73E22142A66880CCE7E718F1E /* Alert.swift */, + AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */, + 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */, + 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */, + 238AF90812F1CD97B79A8399254B58A9 /* CollectionView.swift */, + BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */, + EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */, + D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */, + EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */, + 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */, + 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */, + 4422075987AE438F3EA8834B6B4BDC6F /* PageIndicator.swift */, + 20F58489F4723E0D3E9BB5B322A3D9AB /* Picker.swift */, + 58572699EBECC18BB3625DAD6E0732D1 /* ScrollView.swift */, + C0DBDEBC520899475A1BB75B00A1EE42 /* SecureTextField.swift */, + DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */, + 5ACDC59DF4312A9FC28888A6616FE925 /* Sheet.swift */, + 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */, + DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */, + 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */, + 1F543767EC0E26A318D55F65E6699BED /* TabBar.swift */, + 053B19479828C38D4110FE99134DC778 /* Table.swift */, + 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */, + 459930B2C0375709026C8824C2B5BC7D /* TextView.swift */, + 54DB4AA64F3152E6EECDCB67384B2CCA /* View.swift */, + 9A95E743358DB242EF893B17337986A1 /* WebView.swift */, + ); + name = Elements; + path = TABTestKit/Classes/Elements; + sourceTree = ""; + }; + 733B241CBCD0A8E78459E444EB42B5BA /* Pod */ = { + isa = PBXGroup; + children = ( + 1906474D57FFF05C71AD048006BF4A91 /* LICENSE */, + E4DFAC57077CCE851795E1D054BFA3D3 /* README.md */, + 2DDFA47CFD600B77CF9344816ED2E83B /* TABTestKit.podspec */, + ); + name = Pod; + sourceTree = ""; + }; + 7F9009F1182E3BDED6F366005188C8B5 /* Pods */ = { + isa = PBXGroup; + children = ( + C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */, + ); + name = Pods; + sourceTree = ""; + }; + B01CBF1913615D7654E143DCCFED270F /* Screens */ = { + isa = PBXGroup; + children = ( + A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */, + 156706A142EA2D84F38248FBC837F4FE /* SystemPreferencesResetScreen.swift */, + 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */, + ); + name = Screens; + path = TABTestKit/Classes/Screens; + sourceTree = ""; + }; + B1DA7F371F6B9C02670204C70F0BF97D /* Protocols */ = { + isa = PBXGroup; + children = ( + 55E96E9766746CA610A94D58B8671EF5 /* Adjustable.swift */, + 07FE2580ED80E61F8E0A680C80099156 /* CellContaining.swift */, + 297E55F67281B78736519AEE8E50C97B /* Completable.swift */, + 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */, + F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */, + D1B00FF7EA37A73A039336661BD8106A /* Element.swift */, + DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */, + CBCF8955D50B0C63BB9D4A1196769CE3 /* Scrollable.swift */, + DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */, + 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */, + A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */, + ); + name = Protocols; + path = TABTestKit/Classes/Protocols; + sourceTree = ""; + }; + B2F6A36F3FCADAA61F68F73E6DEF3A05 /* Apps */ = { + isa = PBXGroup; + children = ( + 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */, + 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */, + E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */, + 54198552547C73BCFC0216636BFD016C /* Springboard.swift */, + 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */, + ); + name = Apps; + path = TABTestKit/Classes/Apps; + sourceTree = ""; + }; + B313054B8570ADCDF85576D19AF73B58 /* TABTestKit */ = { + isa = PBXGroup; + children = ( + 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */, + B2F6A36F3FCADAA61F68F73E6DEF3A05 /* Apps */, + 6937532B19EE71331E44DC5431F1B4A1 /* BDD */, + 2A5BD5A98C0B9DAC647830914CAF61DD /* Biometrics */, + FD3760C34CF992B341A77A2BF3F60CD2 /* Contexts */, + 7087410A6A9C169B66AD942DE1953F36 /* Elements */, + D71D1ED83737E27BC90A82770C3F61B1 /* Extensions */, + 733B241CBCD0A8E78459E444EB42B5BA /* Pod */, + B1DA7F371F6B9C02670204C70F0BF97D /* Protocols */, + B01CBF1913615D7654E143DCCFED270F /* Screens */, + FA2375C834D09C4EC1DF3C99006DCEA2 /* Support Files */, + ); + name = TABTestKit; + path = ../..; + sourceTree = ""; + }; + BF4BFAF140349307273B1343616A213B /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { + isa = PBXGroup; + children = ( + C354231844F21D916AF8E0D9E0F587FF /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap */, + A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */, + 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */, + 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */, + 1CB830EB632DA8DED42D4E33C4E59DD9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh */, + AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */, + C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */, + FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */, + 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */, + ); + name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; + path = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; + sourceTree = ""; + }; + C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */ = { + isa = PBXGroup; + children = ( + D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */, + 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */, + ); + path = ShowTime; + sourceTree = ""; + }; + CF1408CF629C7361332E53B88F7BD30C = { + isa = PBXGroup; + children = ( + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 18BB3C90BDF1A5F1D336E77B09EBB1F2 /* Development Pods */, + 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */, + 7F9009F1182E3BDED6F366005188C8B5 /* Pods */, + 2C065241B34ABECCB0CE7068DB612DD4 /* Products */, + F7FD97F3CC6F18F4AAAE10E5DE0D2076 /* Targets Support Files */, + ); + sourceTree = ""; + }; + D60ED239C5FD4AFD0961BB24833B2BFB /* include */ = { + isa = PBXGroup; + children = ( +<<<<<<< HEAD + 6ACB9E5AF7C5D4D722B8CC766BAB1FBA /* Adjustable.swift */, + 593642291D278E7C793517C981CCCDDD /* CellContaining.swift */, + 37E7367E2677A52235FB4AFB9EF1C14A /* Completable.swift */, + D46E26BF860B4679BAC97AC87E4252C0 /* Dismissable.swift */, + C5A16F13BFBEC8758A169A96F7DCB0A5 /* Editable.swift */, + 6C1D2F317F03EEAABA532C9B5135951B /* Element.swift */, + 2DD206FF24CED10B008E65A4 /* Refreshable.swift */, + 886869886B1BAE50408F5B03064FF0A5 /* Screen.swift */, + 79866312168D65F43B4E475D950F5658 /* Scrollable.swift */, + 9962737325D2EE2B37C76F72FC176DC8 /* ScrollableScreen.swift */, + CE4BB950FDDD5545AA0C374895FCA183 /* Tappable.swift */, + 5EA7DCE018C6D76F961CB21C8379D955 /* ValueRepresentable.swift */, +======= + 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */, + 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */, +>>>>>>> develop + ); + name = include; + path = include; + sourceTree = ""; + }; + D71D1ED83737E27BC90A82770C3F61B1 /* Extensions */ = { + isa = PBXGroup; + children = ( + 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */, + EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */, + 13A52EF7ABB826DFEC791EB0CB58E7CB /* Element+defaults.swift */, + 46E807E5C37ADDFE704A842DD3EFAA7E /* NormalizedCoordinate+Locations.swift */, + 4DDA4BC0A68610BD7A49A847F7665332 /* XCTFatalFail.swift */, + 3813DBFD98278C34AF4FD1CB869B2C62 /* XCUIDevice+frame.swift */, + CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */, + F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */, + 24BFB32C3C83651B95CB53F5E69A3301 /* XCUIElement+wait.swift */, + ); + name = Extensions; + path = TABTestKit/Classes/Extensions; + sourceTree = ""; + }; + F7FD97F3CC6F18F4AAAE10E5DE0D2076 /* Targets Support Files */ = { + isa = PBXGroup; + children = ( + 2F366F56986BC5DDC447A015305D29D9 /* Pods-TABTestKit_Example */, + BF4BFAF140349307273B1343616A213B /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */, + ); + name = "Targets Support Files"; + sourceTree = ""; + }; + FA2375C834D09C4EC1DF3C99006DCEA2 /* Support Files */ = { + isa = PBXGroup; + children = ( + EC4DD53BBCB1EAFECE7C6B5C0135C9E5 /* TABTestKit.modulemap */, + 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */, + 3F258240A3EEB5A3C1226EE2AC25DD2E /* TABTestKit-Info.plist */, + 401F9F79A790590558175201067C5039 /* TABTestKit-prefix.pch */, + 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */, + 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */, + 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */, + ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/TABTestKit"; + sourceTree = ""; + }; + FD3760C34CF992B341A77A2BF3F60CD2 /* Contexts */ = { + isa = PBXGroup; + children = ( + 4351AF11C053255D768C13BE1B7F1B7E /* AlertContext.swift */, + AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */, + 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */, + 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */, + 5B77B8B20CC400E8C375FA1723F7ACC2 /* KeyboardContext.swift */, + B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */, + BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */, + 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */, + ); + name = Contexts; + path = TABTestKit/Classes/Contexts; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 1546A71728D546C8D2A345948964F954 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A42B7353448BA3A32CB7E6407B908E88 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + B147649CC3E57641AEAD3EFABD4E8601 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 414813F69596E7C92124C3AE00104567 /* Biometrics-Bridging-Header.h in Headers */, + B7024D3885EB76F2AB4FA21989D6BD37 /* Biometrics.h in Headers */, + C8A616579C1F5D65CE1FD2BD3402DDB4 /* TABTestKit-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + CCCD40A3CF98074BF1895442469F632F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 874D50CB9D57ED75CCA17B703E811C10 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */; + buildPhases = ( + 1546A71728D546C8D2A345948964F954 /* Headers */, + 00CECBBC3E664D03D81137415A0472A9 /* Sources */, + 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */, + C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ED1616B28D516FE2EAEBF45079FC7D0D /* PBXTargetDependency */, + 08A0B6359659B5BF0FD2497214BB7C85 /* PBXTargetDependency */, + ); + name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; + productName = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; + productReference = 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */; + productType = "com.apple.product-type.framework"; + }; + 97F19241BD426C32C1C3FAF09F17AA80 /* Pods-TABTestKit_Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */; + buildPhases = ( + A42B7353448BA3A32CB7E6407B908E88 /* Headers */, + 9D50542E455CC3979D6826F7F6B472DE /* Sources */, + 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */, + F6CF63D106363A9CAB47BB8733EBE934 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + A1F7EAEC6E5BF84C0A9AA629558DA8DC /* PBXTargetDependency */, + ); + name = "Pods-TABTestKit_Example"; + productName = "Pods-TABTestKit_Example"; + productReference = 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */; + productType = "com.apple.product-type.framework"; + }; + 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */; + buildPhases = ( + CCCD40A3CF98074BF1895442469F632F /* Headers */, + F3EFCCB3C1AE195157628019EC33351E /* Sources */, + 03E1BC428CDBAFFCB7A23DC27272A29B /* Frameworks */, + 031CA665B29B23A9412E394FBC39639C /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ShowTime; + productName = ShowTime; + productReference = 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */; + productType = "com.apple.product-type.framework"; + }; + 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = E366DB8D3786D6BEF7ECF3CC15E4BA06 /* Build configuration list for PBXNativeTarget "TABTestKit" */; + buildPhases = ( + B147649CC3E57641AEAD3EFABD4E8601 /* Headers */, + 126C93D1AAB3DC21D9459114A7AB82B8 /* Sources */, + B8F9CA0F89FDB831D0384478BB7D95AF /* Frameworks */, + 5BDC499E1F3F2089B50D646806807A6A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = TABTestKit; + productName = TABTestKit; + productReference = 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */; + productType = "com.apple.product-type.framework"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1100; + LastUpgradeCheck = 1100; + }; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = 2C065241B34ABECCB0CE7068DB612DD4 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97F19241BD426C32C1C3FAF09F17AA80 /* Pods-TABTestKit_Example */, + 874D50CB9D57ED75CCA17B703E811C10 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */, + 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */, + 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 031CA665B29B23A9412E394FBC39639C /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5BDC499E1F3F2089B50D646806807A6A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F6CF63D106363A9CAB47BB8733EBE934 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 00CECBBC3E664D03D81137415A0472A9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( +<<<<<<< HEAD + BE915A5E64291CDE949DB23640B93639 /* ActivitySheet.swift in Sources */, + 8A26761254A6E9D56F9A6FC19B5D3CDF /* Adjustable.swift in Sources */, + D144C0F2DAD0215282FFDC23B9C51816 /* Alert.swift in Sources */, + 40B297D608B287AB0D9A5CA8D61244C5 /* AlertContext.swift in Sources */, + 1F7F325246D5E7E04E36448552889AAC /* App.swift in Sources */, + 0122DDA489DC7B492E8E990DB755179A /* AppContext.swift in Sources */, + 8822DAE29FB984B65B1EB4A38613919A /* Array+Safe.swift in Sources */, + 88F7619E0A32A61071208059FDABF353 /* Attributes.swift in Sources */, + 1AB935836BE18762D6458997DE60D48A /* BaseApp.swift in Sources */, + 1DADB79D353FFAB2A77F1BCF4A837FFB /* Biometrics.m in Sources */, + 2AF359640A0A777754A7122D53882BD2 /* BiometricsContext.swift in Sources */, + A6B7FB493C8F488D44D14634485B3035 /* Button.swift in Sources */, + 3AEA2FFC92773D0EFC732CABC0E18C6C /* Cell.swift in Sources */, + C0C20915AACF568D40CC98CF23F36929 /* CellContaining.swift in Sources */, + CB65968054732200BD36575DCE6A2DAC /* CGVector+Offset.swift in Sources */, + A310A568875D600282688D84861811AA /* CollectionView.swift in Sources */, + 2316A192914F78C02267AF2CA39430D8 /* Completable.swift in Sources */, + AD90BD422CA4EA2C9A1BE0A9FE5FC8B2 /* Dismissable.swift in Sources */, + 500956630E608335D5C517D60CBE8B98 /* Editable.swift in Sources */, + 17A8E8B06586ED15CE292350563FC0B0 /* Element+defaults.swift in Sources */, + 0CA3C186D251796C4D951EE90108A1B6 /* Element.swift in Sources */, + 299D4F6309CC23F31E5C5D95A7E02A33 /* Header.swift in Sources */, + EB07BD7B218EF378C347B2A6632CB7E0 /* Icon.swift in Sources */, + 0574A88B6171E5AC1A2FD4A50B162645 /* InteractionContext.swift in Sources */, + 26B29BD67B11E99F5980BF54164758C4 /* Keyboard.swift in Sources */, + 563454A482C3F3164A29D86E5A0401C9 /* KeyboardContext.swift in Sources */, + A1B3F36E0EEE1BDC7A741349A679969B /* Label.swift in Sources */, + C93C85055CD7C2C187223967534ABF2E /* NavBar.swift in Sources */, + 4711063A5D424D3F1C6F4B2C3F908CF9 /* NavigationContext.swift in Sources */, + 15A7BFB719F25690E6055C6FC883269D /* NormalizedCoordinate+Locations.swift in Sources */, + C333804EE3B8A149349F4610CECEC57A /* PageIndicator.swift in Sources */, + 42B05AC65B8E1DD3CF49401A9828257E /* Picker.swift in Sources */, + BABF2FE6F19DD036B177606A876D7649 /* Safari.swift in Sources */, + 5C0D078BFF799A5D1948F42CB322E450 /* Scenario.swift in Sources */, + 918CA9288BB549120A5E82A2AB05D92B /* Screen.swift in Sources */, + 4A4823D97F1C603E6E916F6AB8394C79 /* Scrollable.swift in Sources */, + 504271A237775675F1D30EB706BA4B17 /* ScrollableScreen.swift in Sources */, + 58706B337ED14D46E6C40E8657BB4AD0 /* ScrollView.swift in Sources */, + 688A664853F54967B7FA8EB3E218E5C5 /* SecureTextField.swift in Sources */, + D4B4A44C5ECC306EBBD38880B531273B /* SegmentedControl.swift in Sources */, + 0088B9A63F4DF5B1A4C7F38503158A1A /* Sheet.swift in Sources */, + D6E5507372C88FF68394A027AE0CC019 /* SheetContext.swift in Sources */, + 2045E7F7058CE185110A87722D9D8219 /* Slider.swift in Sources */, + 89105B6B18158942616CEFBD48F023C3 /* Springboard.swift in Sources */, + 65D2AF0A336F7C68908F83548A0A9BD9 /* Step.swift in Sources */, + 70D185F324A60A5E004FCB3C /* Image.swift in Sources */, + 0BEC70C054F420D1765994BACDE4029F /* Stepper.swift in Sources */, + 6C2FBEC740A3B92DDC9BC64AD72F95DE /* Switch.swift in Sources */, + 42C8C82E5BB15D0DC327465D2DD5F7CB /* SystemPreferences.swift in Sources */, + 405AF3459DB943FFCD3476BB813B0054 /* SystemPreferencesContext.swift in Sources */, + 0974040D4775D24A132FB5594C6BBDE5 /* SystemPreferencesGeneralScreen.swift in Sources */, + 448350DED9B8E147225037105109EE88 /* SystemPreferencesResetScreen.swift in Sources */, + 5E0C5F15D7EFC37BB1524E6C3B03D29C /* systemPreferencesRootScreen.swift in Sources */, + 14102D5429DDC1D12638AA0B4B457FE8 /* TabBar.swift in Sources */, + 2DDFB2BDB67835155F363681B96D2C2F /* Table.swift in Sources */, + 62B6BF67E74E645C90049BBE1E230A12 /* TABTestCase.swift in Sources */, + 92143C49FB13517B228D2A13C020BD89 /* TABTestKit-dummy.m in Sources */, + 2DD2070024CED10B008E65A4 /* Refreshable.swift in Sources */, + A9808686B93329E6FCF3ED520D55A6F8 /* Tappable.swift in Sources */, + F0B8A40FDBAE033E0558E32C1E0AC593 /* TextField.swift in Sources */, + A262B0D22D6E0B9F7AC7F4E5E1C55383 /* TextView.swift in Sources */, + E977590FD11E4927D24838F78C95A1D2 /* ValueRepresentable.swift in Sources */, + 139AB57FDE6DC66526D631E5C25D62C7 /* View.swift in Sources */, + 62060ABF006B5A82D5AD5F8E11359961 /* WebView.swift in Sources */, + 37A732C41F0A423218BB88950B8597E5 /* XCTFatalFail.swift in Sources */, + DBD259F00DCEBF8B47FAF1C891B2C92E /* XCUIDevice+frame.swift in Sources */, + 14A710FCDBF579DADE8E065FFB02DCA8 /* XCUIElement+hasKeyboardFocus.swift in Sources */, + 385CE3D437C12BCFCF18F14D148A9DBE /* XCUIElement+isVisible.swift in Sources */, + 67EAC080A1EAA18C812E324A0EF30BA5 /* XCUIElement+wait.swift in Sources */, +======= + 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */, +>>>>>>> develop + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 126C93D1AAB3DC21D9459114A7AB82B8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AB572CAE0B20E64CD7636DB54A3AACE9 /* ActivitySheet.swift in Sources */, + 30E3E580039B6ACD368053E94CBE704E /* Adjustable.swift in Sources */, + D135CF4B86F1DD96C7BB2F8FDB197271 /* Alert.swift in Sources */, + 66A5B2F5AC59EDC23EB28FD09B338FFE /* AlertContext.swift in Sources */, + 8E34A8C9143656512A48616367E95230 /* App.swift in Sources */, + 20DCE3BEA955E837D61BD1802EF423A4 /* AppContext.swift in Sources */, + 508F2267AB9D58E2EED019FFFF3540B0 /* Array+Safe.swift in Sources */, + 8C520520B3FEA452BE3BED8C7CE8CA1F /* Attributes.swift in Sources */, + 24D7A664D64F1AA1830EB9F476247473 /* BaseApp.swift in Sources */, + F1CBE51E4443204A5E2A6E3601EE7BC1 /* Biometrics.m in Sources */, + B6A9891FF52E74BA2A1A490DD5B85BC4 /* BiometricsContext.swift in Sources */, + 2BA3833D588F9B589293F4D9DD3624BD /* Button.swift in Sources */, + 3401E48E7973EB820670A7FED4276D14 /* Cell.swift in Sources */, + D5EE336DE563CF9BEDED89ECD25CF710 /* CellContaining.swift in Sources */, + 7C65B1AD1DD38309227F918C67C6B3EE /* CGVector+Offset.swift in Sources */, + 155F6FB614546F9AE28C422FC440001F /* CollectionView.swift in Sources */, + B6A9F7439F1AF2978211B410356E9D2D /* Completable.swift in Sources */, + 3FAB8EBF9F8003C7476DB5F87B760E43 /* Dismissable.swift in Sources */, + 2681AF561E209E9349ADEFC141D1D0B8 /* Editable.swift in Sources */, + B44F6E61DB873B6949B16CA4EC909F88 /* Element+defaults.swift in Sources */, + 03B034D04E953E6C5F04E6C880D588AE /* Element.swift in Sources */, + 3BF3F80BCBFEF897650BFAE647F2A280 /* Header.swift in Sources */, + 8AF0B1F740CAFDFA8E7148D75048B43B /* Icon.swift in Sources */, + 1BE15D7A18C0DD91F4459F136801057E /* Image.swift in Sources */, + 11D912514CCC5588417AC5F3179626DF /* InteractionContext.swift in Sources */, + 5FB769765308A595B0FBEEDCA0335275 /* Keyboard.swift in Sources */, + 9BE34F01F1F746E4014941F8AFDA688F /* KeyboardContext.swift in Sources */, + FF137D050D4908DEF2B0F162D58FA346 /* Label.swift in Sources */, + D0428F31B465D7152E8F31D53286A279 /* NavBar.swift in Sources */, + 160F061600313E5870CA5106F8C1F639 /* NavigationContext.swift in Sources */, + 0289FC8AFC384C6607AFF4BAED6B0EF2 /* NormalizedCoordinate+Locations.swift in Sources */, + F9FCDDA7FC7209C38350C381AF1C2BC0 /* PageIndicator.swift in Sources */, + 1729165E909C3E25F5806886F78ED237 /* Picker.swift in Sources */, + 6F64941180F5308FB3A7A5C2577A29A0 /* Safari.swift in Sources */, + 265300EF96BAB888DB099885F7266035 /* Scenario.swift in Sources */, + 2E9B24CA3DD108679F5153006D3FC3CF /* Screen.swift in Sources */, + DAE1EBDCA9285460C9FC349C73297FB1 /* Scrollable.swift in Sources */, + 2E6A459C13067843E9E733B7777D000A /* ScrollableScreen.swift in Sources */, + E587B0B46DA8AFB7B9B7B59809ECE6BF /* ScrollView.swift in Sources */, + 2FD699C493DE16A212BE97242655F7A5 /* SecureTextField.swift in Sources */, + 522B407CD9F5D799715D4D2869DC01E7 /* SegmentedControl.swift in Sources */, + E88F2BBDD3EF2EEB8375325073C3F5E8 /* Sheet.swift in Sources */, + 376E2DDB3B8BA4D09CFC9C00A58FB4FA /* SheetContext.swift in Sources */, + 0E3BE1B9CE0FEB8934EA4107014F6FDD /* Slider.swift in Sources */, + 0A87384682167E8B2102822DAC6EBB33 /* Springboard.swift in Sources */, + 84715F049294F85B91392E9AA16EE230 /* Step.swift in Sources */, + 96BBD059D315A8A095D49DAEAC1B6591 /* Stepper.swift in Sources */, + 2944710EF5C6C830DB74A9D17DC1656C /* Switch.swift in Sources */, + 2ABFECB772D2BE0AC0070C3A4E18787D /* SystemPreferences.swift in Sources */, + 746DE544070D80A4CD388BA873C85EC0 /* SystemPreferencesContext.swift in Sources */, + F1DE6CD29B77DCD7F725E84CEA902EFB /* SystemPreferencesGeneralScreen.swift in Sources */, + 949BEB4CB87783483E0F4A3C9CB745A1 /* SystemPreferencesResetScreen.swift in Sources */, + 924F0FD4C4A04810D33A1159697F7F2F /* systemPreferencesRootScreen.swift in Sources */, + AF85FEFAD781B682F9F98A1C255400EE /* TabBar.swift in Sources */, + 07C13F433F48A5948DCE828FD7C84FF3 /* Table.swift in Sources */, + 37EAD2E9ADB46C4F523F45099708CFB7 /* TABTestCase.swift in Sources */, + 612C506A9BA5B067666BDE960A4D94BA /* TABTestKit-dummy.m in Sources */, + 343D700592AB9FF9DCEDD0796C6A258F /* Tappable.swift in Sources */, + C2BC20E24143ABD6F5B9E4CF5FCB7ABE /* TextField.swift in Sources */, + 048129840F067AC6750F3608B5EA6EB1 /* TextView.swift in Sources */, + D0CB62AABEC1CF3A6880EEFED3632F32 /* ValueRepresentable.swift in Sources */, + 20F75E6ECBE6DD7DCD09F30F4A524FB8 /* View.swift in Sources */, + BB08585A52985192826C66EA51C71625 /* WebView.swift in Sources */, + D765018875AB532D3CE38B77D90E146B /* XCTFatalFail.swift in Sources */, + D42ABDAE7912BEF692859F6B2A94B1CE /* XCUIDevice+frame.swift in Sources */, + DED5DCD6F065ADED8BCC9EE151996A18 /* XCUIElement+hasKeyboardFocus.swift in Sources */, + 6DCDC8BC367DD132D1113E25A086E259 /* XCUIElement+isVisible.swift in Sources */, + 16F9C2B954F613BB9DF95577271980CE /* XCUIElement+wait.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D50542E455CC3979D6826F7F6B472DE /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + F3EFCCB3C1AE195157628019EC33351E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */, + 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 08A0B6359659B5BF0FD2497214BB7C85 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = TABTestKit; + target = 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */; + targetProxy = B21E0FCC9F1157FF80390E95CD15A108 /* PBXContainerItemProxy */; + }; + A1F7EAEC6E5BF84C0A9AA629558DA8DC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = ShowTime; + target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; + targetProxy = F41BBFB7252426070E01EDB3A893D81B /* PBXContainerItemProxy */; + }; + ED1616B28D516FE2EAEBF45079FC7D0D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = ShowTime; + target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; + targetProxy = 319333D87D4033A11D3CC144486435AA /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ +<<<<<<< HEAD + 04AD86BD59E502EB4165D14CE560F1DA /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; +======= +>>>>>>> develop + 196DFA3E4A09A28224918543529A1885 /* 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_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 = ( + "POD_CONFIGURATION_DEBUG=1", + "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 = 10.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; + 20BBE192749698B6FF5488E2D716DC1B /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 43A9EBE61D5CD254BF71D6D2C4946B25 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + 98F06A0FF82B22636D978C21C3610096 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; + PRODUCT_MODULE_NAME = ShowTime; + PRODUCT_NAME = ShowTime; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + AB3028D89F1A9733E9273B202576A7A6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + ABC2BC2DB619DF51CC04B5FF48CDB383 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */; + buildSettings = { + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + B01D14FDC83DCF9D4BE53066BEA96D05 /* 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_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_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_RELEASE=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 = 10.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Release; + }; + BB20B983018612F88F93316CF971D97A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D638E423895A2C1C466433CCA95C495B /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; + PRODUCT_MODULE_NAME = ShowTime; + PRODUCT_NAME = ShowTime; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BB20B983018612F88F93316CF971D97A /* Debug */, + 43A9EBE61D5CD254BF71D6D2C4946B25 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D638E423895A2C1C466433CCA95C495B /* Debug */, + A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 196DFA3E4A09A28224918543529A1885 /* Debug */, + B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E366DB8D3786D6BEF7ECF3CC15E4BA06 /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + ABC2BC2DB619DF51CC04B5FF48CDB383 /* Debug */, + 20BBE192749698B6FF5488E2D716DC1B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AB3028D89F1A9733E9273B202576A7A6 /* Debug */, + 98F06A0FF82B22636D978C21C3610096 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; +} From 81528941e2a2bc05519c143fa79d3d7e602c58c0 Mon Sep 17 00:00:00 2001 From: Anna Piktas Date: Mon, 3 Aug 2020 13:38:01 +0200 Subject: [PATCH 077/103] Updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dae3feb..a945bc48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Pending - Configured Travis to build and test on multiple Xcodes +- Added a `Refreshable` protocol so for each element/screen that conforms to protocol `refresh` function can be defined --- From eebe753edec664bc0591aa3e95b71c06c6698895 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 15:04:15 +0100 Subject: [PATCH 078/103] Ran pod update again --- Example/Podfile.lock | 2 +- Example/Pods/Manifest.lock | 2 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 430 ++++++++++---------- 3 files changed, 221 insertions(+), 213 deletions(-) diff --git a/Example/Podfile.lock b/Example/Podfile.lock index fa4d8d72..ef0667c9 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -24,4 +24,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: b6b0b334dee592f181c8d68b62229392f1cd2529 -COCOAPODS: 1.9.1 +COCOAPODS: 1.9.3 diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index fa4d8d72..ef0667c9 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -24,4 +24,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: b6b0b334dee592f181c8d68b62229392f1cd2529 -COCOAPODS: 1.9.1 +COCOAPODS: 1.9.3 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index a45ce598..888c61b7 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -8,31 +8,29 @@ /* Begin PBXBuildFile section */ 057AD19E80F1F6E17D80CDC554C0E41F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */; }; - 074443E7511027A2E5ED3909C0EA4C9B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; 07FDD88F73EA8960D0F9E3C3EF4B6E4E /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BFD6C0764CD43FFB743CE603C9FFD68 /* Button.swift */; }; 0B68E89B98365D41A7600239B2092EDD /* Picker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07C967D9F11E4E64FCCB0515B63C928 /* Picker.swift */; }; 0D0CA421CAB8CFB002F3A7958428F87D /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FDC2516655ADE505B015B6C694D2328 /* Sheet.swift */; }; 1090D87A7D515D6D41D894DD759E7A5F /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9089417F0109865CDB124A2329BDD6FB /* Table.swift */; }; 11661C36C0918639523AE19766D96ADB /* Springboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE2ACC1384856F32BDEAF0B67C4ABBA6 /* Springboard.swift */; }; - 178C0B2157C033E8875D33BAFCCD1A07 /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; + 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */; }; 1B1415B0B3DB73411748BF869920A0F2 /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B5CC92563CE4BC7DA55A6394BD6A1DA /* TABTestCase.swift */; }; 1C9C381CC36794C97A0D5856A243AECA /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E69262C4F4A355BF4676D44D72262A23 /* Completable.swift */; }; 1CAD5E52058606696556F9E164DC8D5D /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2120EE906455FB83E2E09406CEF662C9 /* SegmentedControl.swift */; }; 208D7E4CF6D5816E2375BD8E79E45004 /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06062B1405E6248957F1FA51ED99AEAE /* Tappable.swift */; }; 23FED18C864803B6CD493F0DED90E82B /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71BC30DBECCC085046C14F79A51C96FC /* Slider.swift */; }; 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 280DE7E704E54040AAD99A912D804B1C /* XCUIElement+wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D9D28DCEEADE9294B60676002E5F3AF /* XCUIElement+wait.swift */; }; + 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; 2A7568FFE5FC98F3A8A8C9EC2E6CFBBA /* SecureTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 539E3535E6A4796A5DC1359080B1B388 /* SecureTextField.swift */; }; 31D832E6B1905EB24BD3914FB9E4E26D /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4168F73CEF3298398FAFE1F3755C496 /* Adjustable.swift */; }; 31E317402DD57DCD01147DD5A1B03793 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = D62EEF2B33953AEF764BCFFC3597CF30 /* Scenario.swift */; }; 320CD0432837527FF659853E14CCE0EB /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 233D9F6DE5B7ED9B213DDEE7A60DF4D2 /* Editable.swift */; }; - 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */; }; - 3D53EE53A9983C943A862D0383369B25 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3C892CB7517172243FF2DA110515208C /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */; }; 3FFB5CEAF0482B2CC8FA486FAFE32A62 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6980B17C7DE4DADEAE4CC75D703C54AC /* Header.swift */; }; 4101E143EB6E39F850E73276237625DD /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A44D97A79485D765FFC1885EF486035C /* TextView.swift */; }; 430AC0E3784C452CA9A861D9E6AC9E46 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ABBEEBD584246EF61D103CF1C923A0E /* BiometricsContext.swift */; }; - 466B4F15E513602A12E004EE0DDC43EE /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 4B8A6E15476B0C9F6CBC5F274DE4FC7C /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FD98E1ABC6B6C0E1972A84DF17C5101 /* CellContaining.swift */; }; 57001A8096851FD8002D6A76EE216715 /* ScrollableScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 029ACEB452A14FC499201FC3B0C4ED34 /* ScrollableScreen.swift */; }; 57ED8608C9256BFEE6338B4D9C6BA3D2 /* SystemPreferencesResetScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D9B3886BA63D85E95DC7C0E2C41C9C9 /* SystemPreferencesResetScreen.swift */; }; @@ -49,21 +47,24 @@ 6E077301C2429F6C0F506EC83BFCDCB3 /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AC18C8449F986EBB02832E2A07A50F /* NavBar.swift */; }; 743F40249F12DD773D943A66974214F9 /* NormalizedCoordinate+Locations.swift in Sources */ = {isa = PBXBuildFile; fileRef = E78108E38AC455729C36C4C7EEDE146C /* NormalizedCoordinate+Locations.swift */; }; 747122308EDDFEF93EF4E728E15CF1F6 /* TABTestKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 987BEA52658B9CB88A6F751D324F13AD /* TABTestKit-dummy.m */; }; + 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 795BE4C0034613920A5C128A01BB53C7 /* TABTestKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F00418B0925C8A96D09D1986BE6C1B6B /* TABTestKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 7BE3CA364825F8CD761A911CA29DEC00 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC8682021049AEAAB3DCD7C150A95FB2 /* ActivitySheet.swift */; }; + 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; 7FC59073193FDD929E3C7DF6C5F7DAC8 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82E2D18AF412B9ED1E41630009454979 /* Step.swift */; }; 80A3AB6B2D68A0FE6AD65D9E406C0610 /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F91B925F791557160A72CB6C0BA49D45 /* Scrollable.swift */; }; 84207533D404FF5E0399A8E25C9E54B1 /* SystemPreferencesGeneralScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA36B114B42B335BCF6F8F96ED83733E /* SystemPreferencesGeneralScreen.swift */; }; 859F328E4ABF338A9987E4A2A835B5D2 /* Stepper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E675701574C76D0C286A4F6FFFFB5E5 /* Stepper.swift */; }; 863EE3A68BBD9D64B35BD86403CFE347 /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E21D12E79B060EEABD6D9C064FD58DC /* AppContext.swift */; }; 87219A0833E2C2DB62240B62D31BCB17 /* KeyboardContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9428A8F167FEB42DE18A7EBD813A80A5 /* KeyboardContext.swift */; }; - 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */; }; + 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 8BB6FAEAAE345666BA4D0339B6512DA6 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0A11CCC52D92B046F8A9FA9AC99AF4F /* Image.swift */; }; 930BB84CB3CD91D6C3F47344F1E3B716 /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1535CFEC7782CBF5925C8C4087599AF0 /* Dismissable.swift */; }; 96F4D54DC6D19C2B62038FB29CA14EFC /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4F037B014CEDE4C8F4E39CB25E05DD2 /* Switch.swift */; }; 9BB4E051EA402E2BFC9EC5D111B197FF /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B6C40BC468C579D69B2CC4CAF320EC /* Label.swift */; }; A0CB99B9EA85274E99D1FA593199CFE0 /* ValueRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC8E6BB8E22FC1B0C1930A4F8B678E92 /* ValueRepresentable.swift */; }; A1DEEA086571A976344EACF308E8B05C /* Element+defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD37B9C8E065DD3D17F7204B1B1FBD58 /* Element+defaults.swift */; }; + A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; A42C4B780986976455B79A6DCE9DA9E2 /* systemPreferencesRootScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AEC6A3A9A1E90D3C5F4B4A736C8E946 /* systemPreferencesRootScreen.swift */; }; A491165E101133259FF943950187B759 /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 609F80835D951294E6054EC34BE7DEAB /* SheetContext.swift */; }; AE85E79E4A1CB7C55A422C5B8095547F /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = BA5720DEDCE2EE95A4B4F67D967D49EE /* Biometrics.m */; }; @@ -73,6 +74,7 @@ B513DE81DB5A4FF5CB34A166242B6A1B /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DCECBA4EAAE4C07053D26FBE892D78 /* App.swift */; }; B689E311677718EBC18E8A65181E28D1 /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A6FE0B2CF948C41E54AA50B9A2DBFE6 /* CollectionView.swift */; }; B7CF969CE6C43590EF1C83A67707912A /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EB66BEA4359AD0F6E58CE8E61A7D651 /* ScrollView.swift */; }; + BA42C86F6872AC87ADF7110F65920109 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */; }; BB77F7A6807B6E204739EB0881E3B4CA /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 288348B0E48E8832F351BC7B63303777 /* Icon.swift */; }; BC63BDE0255954A2DA44B3F1D90E30D1 /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F71C696D13A19D07E5810318AA9384 /* XCUIDevice+frame.swift */; }; BD175ABDA60A025E76859EC888C936CB /* SystemPreferencesContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20F6759CD9CFC4C1F5DA6B78EFFBB609 /* SystemPreferencesContext.swift */; }; @@ -81,39 +83,37 @@ D0A0967C43C505030195B253B82C5E33 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 825F5BBC95C9AD5A6FEF97516F438976 /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; D0FD68BBEC62BB6F4DB4D2F58E269A44 /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC56A10DF2C24631522AEF8CBF30B351 /* XCUIElement+isVisible.swift */; }; D9D0A3DCC7BEB64B8F1602523BA266E4 /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADFBF8A19DAC2594ED4548F1696E8C9 /* SystemPreferences.swift */; }; - DA63C2BDCDFB0A29EF5D49EDF95724BF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; DB455946D47F73E2186787172F680213 /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = 526C28167B8EB919F428D251486F18A3 /* Element.swift */; }; DCBC7977519A09E364F903C059F52EBF /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 801D065A67CFE384AC907A0A08A80669 /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; E434A53EF6A44B1AE884F2B627B29B32 /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A139CE57C53F627624E7B2244D19E74 /* TabBar.swift */; }; E7FB14F2DBF5C8E23887E8D7E4D0FA33 /* Safari.swift in Sources */ = {isa = PBXBuildFile; fileRef = B10C6E6AABDEF73C8D9E647494F5FFFD /* Safari.swift */; }; EA26D3491AF4F16202B2F0B5A231CCD8 /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E78188EC60ABEC11AE165500D2CFFCB /* Array+Safe.swift */; }; - EE7661A93B9C6E26F9D8C1D89491F76E /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */; }; F259DC0C2C71FE4DE5FAAD5C376C0601 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37CD9BB357BD4C98594C6FDB2372E203 /* Keyboard.swift */; }; F9323849E50840C3CC8D3EA197513D5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; FDA563324A4D72C0C284BEF9380A869C /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B66790D2082BEC84983A6EF4BF5662 /* WebView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 08A99BEA9208FCFDB1062DADA9B40487 /* PBXContainerItemProxy */ = { + 04C0ED95764AD70BF43EFA78B032313B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; - remoteInfo = ShowTime; + remoteGlobalIDString = 9C4F771642E79689CC6A0648ABEA808C; + remoteInfo = TABTestKit; }; - 34A9B585AC52D00944BC81029C8F615A /* PBXContainerItemProxy */ = { + 0BF10D5355C2C44AED2A9D0480F98BF0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; remoteInfo = ShowTime; }; - F598D08DAB210C6E35AA46DCC7485897 /* PBXContainerItemProxy */ = { + 5E46CC12080B1A9E37FBD7588D02584F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9C4F771642E79689CC6A0648ABEA808C; - remoteInfo = TABTestKit; + remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; + remoteInfo = ShowTime; }; /* End PBXContainerItemProxy section */ @@ -152,7 +152,6 @@ 48F3EF5E147F848C915D2D095DFA422D /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example.framework; path = "Pods-TABTestKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 526C28167B8EB919F428D251486F18A3 /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; - 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; 539E3535E6A4796A5DC1359080B1B388 /* SecureTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SecureTextField.swift; sourceTree = ""; }; 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example.modulemap"; sourceTree = ""; }; 58701D6FE5B0819E5ECE654224188DC0 /* AlertContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; @@ -165,14 +164,13 @@ 5FD98E1ABC6B6C0E1972A84DF17C5101 /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; 609F80835D951294E6054EC34BE7DEAB /* SheetContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; 63808F52E6B612D9117EA7F81237AAED /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; - 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; + 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; 6980B17C7DE4DADEAE4CC75D703C54AC /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; 6AEC6A3A9A1E90D3C5F4B4A736C8E946 /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; 6E78188EC60ABEC11AE165500D2CFFCB /* Array+Safe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-acknowledgements.markdown"; sourceTree = ""; }; 71AC18C8449F986EBB02832E2A07A50F /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; 71BC30DBECCC085046C14F79A51C96FC /* Slider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; - 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; 7E675701574C76D0C286A4F6FFFFB5E5 /* Stepper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; 7FDC2516655ADE505B015B6C694D2328 /* Sheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sheet.swift; sourceTree = ""; }; 801D065A67CFE384AC907A0A08A80669 /* Biometrics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; @@ -183,22 +181,22 @@ 8BFD6C0764CD43FFB743CE603C9FFD68 /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; 8D4D2A880C74185B385459D0F3ECFC51 /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; 9089417F0109865CDB124A2329BDD6FB /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; - 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist"; sourceTree = ""; }; 9428A8F167FEB42DE18A7EBD813A80A5 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig"; sourceTree = ""; }; 96FC8F190C24B476CD216A18EC6FFCF2 /* TABTestKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TABTestKit-Info.plist"; sourceTree = ""; }; 987BEA52658B9CB88A6F751D324F13AD /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m"; sourceTree = ""; }; - 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-umbrella.h"; sourceTree = ""; }; A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; A44D97A79485D765FFC1885EF486035C /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; A4F037B014CEDE4C8F4E39CB25E05DD2 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; - A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; + AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; + AA9FC38AC03409CABA3E4DD246E3CF1C /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; sourceTree = ""; }; AB73F3D5CE27BEFC135A72853A578770 /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; + ADB4763ABC911105EE431BA516439FE1 /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.release.xcconfig"; sourceTree = ""; }; B10C6E6AABDEF73C8D9E647494F5FFFD /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; B6FEDCB8E835BAD94013EC96B36228F2 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; @@ -215,21 +213,23 @@ CD37B9C8E065DD3D17F7204B1B1FBD58 /* Element+defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Element+defaults.swift"; sourceTree = ""; }; D07C967D9F11E4E64FCCB0515B63C928 /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; D62EEF2B33953AEF764BCFFC3597CF30 /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; - D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShowTime.swift; sourceTree = ""; }; D8F71C696D13A19D07E5810318AA9384 /* XCUIDevice+frame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIDevice+frame.swift"; sourceTree = ""; }; DBE7A8817DB54096950BC6C6163FB2C0 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; DC8E6BB8E22FC1B0C1930A4F8B678E92 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; DE2ACC1384856F32BDEAF0B67C4ABBA6 /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; + DF441583F13AEDF6DF852C5354F264E1 /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; E0A11CCC52D92B046F8A9FA9AC99AF4F /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; E34A4D0E90CA84F5B686ECC33E84720D /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; E69262C4F4A355BF4676D44D72262A23 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; E78108E38AC455729C36C4C7EEDE146C /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; + EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShowTime.swift; path = Sources/ShowTime/ShowTime.swift; sourceTree = ""; }; EC56A10DF2C24631522AEF8CBF30B351 /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-frameworks.sh"; sourceTree = ""; }; F00418B0925C8A96D09D1986BE6C1B6B /* TABTestKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-umbrella.h"; sourceTree = ""; }; - F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; + F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; F91B925F791557160A72CB6C0BA49D45 /* Scrollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; FB18014FAD1F5EE5FA9E004624623989 /* Screen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; + FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -242,19 +242,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C5F45EBFBA89156FDAD636437B27CAAE /* Frameworks */ = { + 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 074443E7511027A2E5ED3909C0EA4C9B /* Foundation.framework in Frameworks */, + A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DA6508EB8D221EE762ADFF8A3478C2C9 /* Frameworks */ = { + 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DA63C2BDCDFB0A29EF5D49EDF95724BF /* Foundation.framework in Frameworks */, + 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -290,6 +290,16 @@ path = TABTestKit/Classes/Protocols; sourceTree = ""; }; + 0EAD851B593C7D383A5B9F66278D5202 /* ShowTime */ = { + isa = PBXGroup; + children = ( + EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */, + 3AD53452E6F9B27B718A63F5668EEEAC /* Support Files */, + ); + name = ShowTime; + path = ShowTime; + sourceTree = ""; + }; 13156ED4460199C179A65E78131501C9 /* TABTestKit */ = { isa = PBXGroup; children = ( @@ -353,16 +363,16 @@ path = "Target Support Files/Pods-TABTestKit_Example"; sourceTree = ""; }; - 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */ = { + 3AD53452E6F9B27B718A63F5668EEEAC /* Support Files */ = { isa = PBXGroup; children = ( - 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */, - 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */, - A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */, - 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */, - 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */, - F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */, - 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */, + ADB4763ABC911105EE431BA516439FE1 /* ShowTime.modulemap */, + F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */, + DF441583F13AEDF6DF852C5354F264E1 /* ShowTime-Info.plist */, + AA9FC38AC03409CABA3E4DD246E3CF1C /* ShowTime-prefix.pch */, + 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */, + AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */, + FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */, ); name = "Support Files"; path = "../Target Support Files/ShowTime"; @@ -390,7 +400,7 @@ 7F9009F1182E3BDED6F366005188C8B5 /* Pods */ = { isa = PBXGroup; children = ( - C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */, + 0EAD851B593C7D383A5B9F66278D5202 /* ShowTime */, ); name = Pods; sourceTree = ""; @@ -524,16 +534,6 @@ path = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; sourceTree = ""; }; - C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */ = { - isa = PBXGroup; - children = ( - D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */, - 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */, - ); - name = ShowTime; - path = ShowTime; - sourceTree = ""; - }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( @@ -583,11 +583,11 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 178DFB6B6BAB0C3D7EE913DF5BD7B1F0 /* Headers */ = { + 1546A71728D546C8D2A345948964F954 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 3D53EE53A9983C943A862D0383369B25 /* Pods-TABTestKit_Example-umbrella.h in Headers */, + 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -601,11 +601,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - AB86B7E9D6EAB08392DCE2A1DD93C606 /* Headers */ = { + A42B7353448BA3A32CB7E6407B908E88 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 466B4F15E513602A12E004EE0DDC43EE /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */, + 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -622,18 +622,18 @@ /* Begin PBXNativeTarget section */ 874D50CB9D57ED75CCA17B703E811C10 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = D5B2987750CBF4D7AFC2D54182302C16 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */; + buildConfigurationList = 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */; buildPhases = ( - AB86B7E9D6EAB08392DCE2A1DD93C606 /* Headers */, - 95ECBCD1734887D7515B9A6948AEC029 /* Sources */, - C5F45EBFBA89156FDAD636437B27CAAE /* Frameworks */, - A7EEE765EE1F67DCB0A455CBABB427F9 /* Resources */, + 1546A71728D546C8D2A345948964F954 /* Headers */, + 00CECBBC3E664D03D81137415A0472A9 /* Sources */, + 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */, + C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */, ); buildRules = ( ); dependencies = ( - 5881E651165AE9D8ABC7666E58180A86 /* PBXTargetDependency */, - 8E3FBE2043FCE69E094FCA9E048173C7 /* PBXTargetDependency */, + 29B54EBCF6BDA764E6C123A87DB15DE3 /* PBXTargetDependency */, + 0075D2073966C32030BEC69EF0AB521A /* PBXTargetDependency */, ); name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; productName = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; @@ -642,17 +642,17 @@ }; 97F19241BD426C32C1C3FAF09F17AA80 /* Pods-TABTestKit_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 79E6F7CF76BD1BE7D1F1F80FC0ED4DFB /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */; + buildConfigurationList = E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */; buildPhases = ( - 178DFB6B6BAB0C3D7EE913DF5BD7B1F0 /* Headers */, - 8A4E3CDF39788C8C58AEFDD62DC67535 /* Sources */, - DA6508EB8D221EE762ADFF8A3478C2C9 /* Frameworks */, - E29162AAC217F2B0287889DDF6A6DDDE /* Resources */, + A42B7353448BA3A32CB7E6407B908E88 /* Headers */, + 9D50542E455CC3979D6826F7F6B472DE /* Sources */, + 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */, + F6CF63D106363A9CAB47BB8733EBE934 /* Resources */, ); buildRules = ( ); dependencies = ( - 09312B6A29165575FE9715A639E3078A /* PBXTargetDependency */, + AD551C5862D47EE380A48110BB924316 /* PBXTargetDependency */, ); name = "Pods-TABTestKit_Example"; productName = "Pods-TABTestKit_Example"; @@ -664,7 +664,7 @@ buildConfigurationList = 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */; buildPhases = ( CCCD40A3CF98074BF1895442469F632F /* Headers */, - F3EFCCB3C1AE195157628019EC33351E /* Sources */, + A3D1DBE0B97482C7D9E971A0A69C18FE /* Sources */, 03E1BC428CDBAFFCB7A23DC27272A29B /* Frameworks */, 031CA665B29B23A9412E394FBC39639C /* Resources */, ); @@ -733,21 +733,21 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A7EEE765EE1F67DCB0A455CBABB427F9 /* Resources */ = { + B4FE060EE9C101E7883903D02A5DC22F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - B4FE060EE9C101E7883903D02A5DC22F /* Resources */ = { + C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - E29162AAC217F2B0287889DDF6A6DDDE /* Resources */ = { + F6CF63D106363A9CAB47BB8733EBE934 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -757,6 +757,14 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 00CECBBC3E664D03D81137415A0472A9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 31A42377726E54269592FA374D7C2BCC /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -833,60 +841,85 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8A4E3CDF39788C8C58AEFDD62DC67535 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 178C0B2157C033E8875D33BAFCCD1A07 /* Pods-TABTestKit_Example-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 95ECBCD1734887D7515B9A6948AEC029 /* Sources */ = { + 9D50542E455CC3979D6826F7F6B472DE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EE7661A93B9C6E26F9D8C1D89491F76E /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */, + 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - F3EFCCB3C1AE195157628019EC33351E /* Sources */ = { + A3D1DBE0B97482C7D9E971A0A69C18FE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */, - 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */, + 3C892CB7517172243FF2DA110515208C /* ShowTime-dummy.m in Sources */, + BA42C86F6872AC87ADF7110F65920109 /* ShowTime.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 09312B6A29165575FE9715A639E3078A /* PBXTargetDependency */ = { + 0075D2073966C32030BEC69EF0AB521A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = ShowTime; - target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; - targetProxy = 08A99BEA9208FCFDB1062DADA9B40487 /* PBXContainerItemProxy */; + name = TABTestKit; + target = 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */; + targetProxy = 04C0ED95764AD70BF43EFA78B032313B /* PBXContainerItemProxy */; }; - 5881E651165AE9D8ABC7666E58180A86 /* PBXTargetDependency */ = { + 29B54EBCF6BDA764E6C123A87DB15DE3 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ShowTime; target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; - targetProxy = 34A9B585AC52D00944BC81029C8F615A /* PBXContainerItemProxy */; + targetProxy = 0BF10D5355C2C44AED2A9D0480F98BF0 /* PBXContainerItemProxy */; }; - 8E3FBE2043FCE69E094FCA9E048173C7 /* PBXTargetDependency */ = { + AD551C5862D47EE380A48110BB924316 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = TABTestKit; - target = 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */; - targetProxy = F598D08DAB210C6E35AA46DCC7485897 /* PBXContainerItemProxy */; + name = ShowTime; + target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; + targetProxy = 5E46CC12080B1A9E37FBD7588D02584F /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 04AD86BD59E502EB4165D14CE560F1DA /* Debug */ = { + 040B3C23F3536587D5A4EB91C89D63A1 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; + baseConfigurationReference = AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; + PRODUCT_MODULE_NAME = ShowTime; + PRODUCT_NAME = ShowTime; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 0BFA6A1F08DB617ED88EA69685ABDDE4 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -899,7 +932,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; @@ -911,12 +944,13 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 196DFA3E4A09A28224918543529A1885 /* Debug */ = { + 6410F571BA8C1AEC6A19403F1B61B0B5 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -967,7 +1001,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -980,44 +1014,12 @@ }; name = Debug; }; - 4C51911A1FFA8CA851E657C4B120950C /* Release */ = { + 7B8B0B183596E59238D618A15FFBF496 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2139B5533BEBB89B1AAED6BD36926681 /* TABTestKit.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; - PRODUCT_MODULE_NAME = TABTestKit; - PRODUCT_NAME = TABTestKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 9C0A9FDB00AEE995DC0E28A40BE47865 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; + baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1028,12 +1030,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1048,42 +1050,11 @@ }; name = Release; }; - A029BD224521BA726B8EBE9B47AA88B2 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5EADE617313EDEFAE09DD75B5F7B1B98 /* TABTestKit.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; - PRODUCT_MODULE_NAME = TABTestKit; - PRODUCT_NAME = TABTestKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */ = { + 9C013AE42837DDBED81C8A67FA1E1264 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */; + baseConfigurationReference = FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1112,7 +1083,7 @@ }; name = Release; }; - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */ = { + A27713CB74E99AF202AADC23200A32F4 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1160,7 +1131,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1172,11 +1143,46 @@ }; name = Release; }; - C0F86FFA8B484F56DFC4CD061AFD2E99 /* Debug */ = { + A6CE0683F803CFA02777A77FDC2CA534 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 2139B5533BEBB89B1AAED6BD36926681 /* TABTestKit.release.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + C3C3A1E9CBD3ACA59EE6FEB79CB855BF /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1189,7 +1195,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; @@ -1206,10 +1212,13 @@ }; name = Debug; }; - D638E423895A2C1C466433CCA95C495B /* Debug */ = { + CE151341453F4E20E4C42D1306D5AC47 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */; + baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1219,29 +1228,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; - PRODUCT_MODULE_NAME = ShowTime; - PRODUCT_NAME = ShowTime; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - E562A84BB67EECCC3A64BB37709EF005 /* Release */ = { + DE5ABB1E367ED2B2430D53D7693DB72A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; + baseConfigurationReference = 5EADE617313EDEFAE09DD75B5F7B1B98 /* TABTestKit.debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1252,52 +1262,50 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { + 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - D638E423895A2C1C466433CCA95C495B /* Debug */, - A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */, + CE151341453F4E20E4C42D1306D5AC47 /* Debug */, + 0BFA6A1F08DB617ED88EA69685ABDDE4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { + 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { isa = XCConfigurationList; buildConfigurations = ( - 196DFA3E4A09A28224918543529A1885 /* Debug */, - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, + 040B3C23F3536587D5A4EB91C89D63A1 /* Debug */, + 9C013AE42837DDBED81C8A67FA1E1264 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 79E6F7CF76BD1BE7D1F1F80FC0ED4DFB /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - C0F86FFA8B484F56DFC4CD061AFD2E99 /* Debug */, - E562A84BB67EECCC3A64BB37709EF005 /* Release */, + 6410F571BA8C1AEC6A19403F1B61B0B5 /* Debug */, + A27713CB74E99AF202AADC23200A32F4 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1305,17 +1313,17 @@ CCF6C1C87AEA5A4C21DD5400C1FAC792 /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - A029BD224521BA726B8EBE9B47AA88B2 /* Debug */, - 4C51911A1FFA8CA851E657C4B120950C /* Release */, + DE5ABB1E367ED2B2430D53D7693DB72A /* Debug */, + A6CE0683F803CFA02777A77FDC2CA534 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D5B2987750CBF4D7AFC2D54182302C16 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { + E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 04AD86BD59E502EB4165D14CE560F1DA /* Debug */, - 9C0A9FDB00AEE995DC0E28A40BE47865 /* Release */, + C3C3A1E9CBD3ACA59EE6FEB79CB855BF /* Debug */, + 7B8B0B183596E59238D618A15FFBF496 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; From c19823a26cca1bb9e0a0384b6db5397601dc6cc1 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 15:18:57 +0100 Subject: [PATCH 079/103] Create manual.yml --- .github/workflows/manual.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/manual.yml diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml new file mode 100644 index 00000000..47f24e11 --- /dev/null +++ b/.github/workflows/manual.yml @@ -0,0 +1,30 @@ +# This is a basic workflow that is manually triggered + +name: Manual workflow + +# Controls when the action will run. Workflow runs when manually triggered using the UI +# or API. +on: + workflow_dispatch: + # Inputs the workflow accepts. + inputs: + name: + # Friendly description to be shown in the UI instead of 'name' + description: 'Person to greet' + # Default value if no value is explicitly provided + default: 'World' + # Input has to be provided for the workflow to run + required: true + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "greet" + greet: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Runs a single command using the runners shell + - name: Send greeting + run: echo "Hello ${{ github.event.inputs.name }}" From f79ddcaeef19444397c8a7c71c9e864b271f8b21 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 15:44:45 +0100 Subject: [PATCH 080/103] Update manual.yml --- .github/workflows/manual.yml | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 47f24e11..838526cf 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -2,29 +2,17 @@ name: Manual workflow -# Controls when the action will run. Workflow runs when manually triggered using the UI -# or API. on: workflow_dispatch: - # Inputs the workflow accepts. - inputs: - name: - # Friendly description to be shown in the UI instead of 'name' - description: 'Person to greet' - # Default value if no value is explicitly provided - default: 'World' - # Input has to be provided for the workflow to run - required: true -# A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "greet" - greet: - # The type of runner that the job will run on - runs-on: ubuntu-latest + run_tests: + runs-on: macOS-latest - # Steps represent a sequence of tasks that will be executed as part of the job steps: - # Runs a single command using the runners shell - - name: Send greeting - run: echo "Hello ${{ github.event.inputs.name }}" + - name: Set Xcode + run: sudo xcode-select -switch /Applications/Xcode_11.6.app + - name: Run tests + run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' + - name: Test iPhone 11 + run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.1' From 18937c300cf6719ce6447d48fb9ada9ca613f952 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 15:53:55 +0100 Subject: [PATCH 081/103] Update manual.yml --- .github/workflows/manual.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 838526cf..2fe1849b 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -10,9 +10,11 @@ jobs: runs-on: macOS-latest steps: - - name: Set Xcode + - name: Checkout + uses: actions/checkout@v1 + - name: Set Xcode version run: sudo xcode-select -switch /Applications/Xcode_11.6.app - - name: Run tests + - name: Build for testing run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' - - name: Test iPhone 11 + - name: Test on iPhone 11 run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.1' From 418a90f6355416ee795e2f1f5ff61dd5d38e64fa Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 16:07:17 +0100 Subject: [PATCH 082/103] Update manual.yml --- .github/workflows/manual.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 2fe1849b..6dccb906 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -8,13 +8,16 @@ on: jobs: run_tests: runs-on: macOS-latest + env: + XCODE_VERSION: 11.6 + IOS_VERSION: 13.6 steps: - name: Checkout uses: actions/checkout@v1 - name: Set Xcode version - run: sudo xcode-select -switch /Applications/Xcode_11.6.app + run: sudo xcode-select -switch /Applications/Xcode_$XCODE_VERSION.app - name: Build for testing - run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' + run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=$IOS_VERSION' - name: Test on iPhone 11 - run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.1' + run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=$IOS_VERSION' From 166706920c5c59245452313c0fed9ff5c52a3598 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 16:12:38 +0100 Subject: [PATCH 083/103] Update manual.yml --- .github/workflows/manual.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 6dccb906..df357da3 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -8,16 +8,13 @@ on: jobs: run_tests: runs-on: macOS-latest - env: - XCODE_VERSION: 11.6 - IOS_VERSION: 13.6 steps: - name: Checkout uses: actions/checkout@v1 - name: Set Xcode version - run: sudo xcode-select -switch /Applications/Xcode_$XCODE_VERSION.app + run: sudo xcode-select -switch /Applications/Xcode_11.6.app - name: Build for testing - run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=$IOS_VERSION' + run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' - name: Test on iPhone 11 - run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=$IOS_VERSION' + run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' From 58ab0be4f8b0ad3cb3c501bf03aa0d41c2e37af6 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 17:15:50 +0100 Subject: [PATCH 084/103] Added new action to hopefully be called from the other action --- .github/workflows/manual.yml | 1 - .github/workflows/run_tests.yml | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/run_tests.yml diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index df357da3..12fb9e21 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -1,4 +1,3 @@ -# This is a basic workflow that is manually triggered name: Manual workflow diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml new file mode 100644 index 00000000..08e1d100 --- /dev/null +++ b/.github/workflows/run_tests.yml @@ -0,0 +1,18 @@ +name: Run tests on Xcode + +on: + workflow_dispatch: + +jobs: + run_tests: + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: Set Xcode version + run: sudo xcode-select -switch /Applications/Xcode_11.6.app + - name: Build for testing + run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' + - name: Test on iPhone 11 + run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' From 076180b413aea3e79a4ad0e96af0194ab38d4de5 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 17:49:25 +0100 Subject: [PATCH 085/103] Update manual.yml --- .github/workflows/manual.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 12fb9e21..fc81a392 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -11,9 +11,5 @@ jobs: steps: - name: Checkout uses: actions/checkout@v1 - - name: Set Xcode version - run: sudo xcode-select -switch /Applications/Xcode_11.6.app - - name: Build for testing - run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' - - name: Test on iPhone 11 - run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' + - name: Run tests on Xcode 11 + run: ./.github/actions/run_tests.yml From 7aa75cf3a25beed06b81316b66ff6d92035ff13c Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 17:54:11 +0100 Subject: [PATCH 086/103] Changed path --- .github/workflows/manual.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index fc81a392..e5a46a48 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -12,4 +12,4 @@ jobs: - name: Checkout uses: actions/checkout@v1 - name: Run tests on Xcode 11 - run: ./.github/actions/run_tests.yml + run: ./.github/workflows/run_tests.yml From e0dc1450f11772bf94ae263722bc3b18ec378721 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Mon, 3 Aug 2020 18:04:16 +0100 Subject: [PATCH 087/103] Updated steps --- .github/workflows/manual.yml | 23 ++++++++++++++++++++--- .github/workflows/run_tests.yml | 18 ------------------ 2 files changed, 20 insertions(+), 21 deletions(-) delete mode 100644 .github/workflows/run_tests.yml diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index e5a46a48..e7d23001 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -5,11 +5,28 @@ on: workflow_dispatch: jobs: - run_tests: + test_xcode10_ios12: runs-on: macOS-latest steps: - name: Checkout uses: actions/checkout@v1 - - name: Run tests on Xcode 11 - run: ./.github/workflows/run_tests.yml + - name: Set Xcode version + run: sudo xcode-select -switch /Applications/Xcode_10.3.app + - name: Build for testing + run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone Xs,OS=12.4' + - name: Test on iPhone Xs + run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone Xs,OS=12.4' + + test_xcode11_ios13: + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: Set Xcode version + run: sudo xcode-select -switch /Applications/Xcode_11.6.app + - name: Build for testing + run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' + - name: Test on iPhone 11 + run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' diff --git a/.github/workflows/run_tests.yml b/.github/workflows/run_tests.yml deleted file mode 100644 index 08e1d100..00000000 --- a/.github/workflows/run_tests.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Run tests on Xcode - -on: - workflow_dispatch: - -jobs: - run_tests: - runs-on: macOS-latest - - steps: - - name: Checkout - uses: actions/checkout@v1 - - name: Set Xcode version - run: sudo xcode-select -switch /Applications/Xcode_11.6.app - - name: Build for testing - run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' - - name: Test on iPhone 11 - run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' From 5ee5d039aef0af27cde26829fc2fe02b0cdcede7 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Tue, 4 Aug 2020 09:18:54 +0100 Subject: [PATCH 088/103] Removed Travis file --- .travis.yml | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 493757e5..00000000 --- a/.travis.yml +++ /dev/null @@ -1,28 +0,0 @@ -language: swift - -os: - - osx - -matrix: - fast_finish: true - include: - - osx_image: xcode10.3 - env: IPHONE_SIMULATOR_SDK='iphonesimulator12.4' OS_VERSION='12.4' IPHONE_NAME='iPhone Xs' - - osx_image: xcode11.6 - env: IPHONE_SIMULATOR_SDK='iphonesimulator13.6' OS_VERSION='13.6' IPHONE_NAME='iPhone 11 Pro' - - -addons: - homebrew: - brewfile: true - update: false - -script: - # Ensure SPM builds. SPM is only supported for Xcode 11 and newer, so we'll ignore this step if trying to build for iOS 12 (Xcode 10) - - if [ $OS_VERSION != '12.4' ]; then set -o pipefail && xcodebuild -workspace package.xcworkspace -scheme TABTestKit -sdk $IPHONE_SIMULATOR_SDK | xcpretty; fi - # Ensure Carthage builds - - carthage build --archive - # Ensure Cocoapods builds - - pod lib lint --verbose - # Ensure tests pass - - set -o pipefail && xcodebuild test -enableCodeCoverage YES -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -sdk $IPHONE_SIMULATOR_SDK -destination "OS=$OS_VERSION,name=$IPHONE_NAME" | xcpretty From 87927830d59d1669c70931fd5272b854d5f2c1c2 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Tue, 4 Aug 2020 09:27:47 +0100 Subject: [PATCH 089/103] Added more jobs --- .github/workflows/manual.yml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index e7d23001..effd3be7 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -30,3 +30,36 @@ jobs: run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' - name: Test on iPhone 11 run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' + + build_spm: + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: Set Xcode version + run: sudo xcode-select -switch /Applications/Xcode_11.6.app + - name: Build Swift Package Manager + run: xcodebuild -workspace package.xcworkspace -scheme TABTestKit -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' + + build_carthage: + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: Set Xcode version + run: sudo xcode-select -switch /Applications/Xcode_11.6.app + - name: Build Carthage + run: carthage build --archive + + build_cocoapods: + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@v1 + - name: Set Xcode version + run: sudo xcode-select -switch /Applications/Xcode_11.6.app + - name: Build Cocoapods + run: pod lib lint --verbose From 04938fdf771ce8f7d7fef66dd91215d0f6c1b2db Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Tue, 4 Aug 2020 09:52:44 +0100 Subject: [PATCH 090/103] Added pull_request trigger --- .github/workflows/manual.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index effd3be7..79aad268 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -1,8 +1,10 @@ -name: Manual workflow +name: TABTestKit CI on: workflow_dispatch: + pull_request: + branches: [ '*' ] jobs: test_xcode10_ios12: From 1913abc334581c366f1a32a76cf893ab1b91b0d7 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Tue, 4 Aug 2020 10:00:44 +0100 Subject: [PATCH 091/103] Added more descriptive names and more xcode versions to build on --- .github/workflows/manual.yml | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 79aad268..ab1dba91 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -8,12 +8,13 @@ on: jobs: test_xcode10_ios12: + name: Run tests on Xcode 10 and iOS 12 runs-on: macOS-latest steps: - name: Checkout uses: actions/checkout@v1 - - name: Set Xcode version + - name: Set Xcode version to 10.3 run: sudo xcode-select -switch /Applications/Xcode_10.3.app - name: Build for testing run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone Xs,OS=12.4' @@ -21,12 +22,13 @@ jobs: run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone Xs,OS=12.4' test_xcode11_ios13: + name: Run tests on Xcode 11 and iOS 13 runs-on: macOS-latest steps: - name: Checkout uses: actions/checkout@v1 - - name: Set Xcode version + - name: Set Xcode version to 11.6 run: sudo xcode-select -switch /Applications/Xcode_11.6.app - name: Build for testing run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' @@ -34,34 +36,45 @@ jobs: run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' build_spm: + name: Ensure Swift Package Manager builds runs-on: macOS-latest steps: - name: Checkout uses: actions/checkout@v1 - - name: Set Xcode version + - name: Set Xcode version to 11.6 run: sudo xcode-select -switch /Applications/Xcode_11.6.app - name: Build Swift Package Manager run: xcodebuild -workspace package.xcworkspace -scheme TABTestKit -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' build_carthage: + name: Ensure Carthage builds runs-on: macOS-latest steps: - name: Checkout uses: actions/checkout@v1 - - name: Set Xcode version + - name: Set Xcode version to 10.3 + run: sudo xcode-select -switch /Applications/Xcode_10.3.app + - name: Build Carthage + run: carthage build --archive + - name: Set Xcode version to 11.6 run: sudo xcode-select -switch /Applications/Xcode_11.6.app - name: Build Carthage run: carthage build --archive build_cocoapods: + name: Ensure Cocoapods builds runs-on: macOS-latest steps: - name: Checkout uses: actions/checkout@v1 - - name: Set Xcode version + - name: Set Xcode version to 10.3 + run: sudo xcode-select -switch /Applications/Xcode_10.3.app + - name: Build Cocoapods + run: pod lib lint --verbose + - name: Set Xcode version to 11.6 run: sudo xcode-select -switch /Applications/Xcode_11.6.app - name: Build Cocoapods run: pod lib lint --verbose From 551f60f6d7f0ee6240b0c918564741bde65e4cb2 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Tue, 4 Aug 2020 10:02:04 +0100 Subject: [PATCH 092/103] Added some helpful comments --- .github/workflows/manual.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index ab1dba91..61b5cc43 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -2,9 +2,9 @@ name: TABTestKit CI on: - workflow_dispatch: + workflow_dispatch: # This allows you to manually run the workflow from GitHub's web UI pull_request: - branches: [ '*' ] + branches: [ '*' ] # This means this workflow will run when any PR is created or any changes are pushed to a PR, on any branch jobs: test_xcode10_ios12: From 6c205452e07cf0aa25b6cd1a7e24410db557893f Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Tue, 4 Aug 2020 10:18:36 +0100 Subject: [PATCH 093/103] Renamed file to be less misleading --- .github/workflows/{manual.yml => ci.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{manual.yml => ci.yml} (100%) diff --git a/.github/workflows/manual.yml b/.github/workflows/ci.yml similarity index 100% rename from .github/workflows/manual.yml rename to .github/workflows/ci.yml From c9bad6b004402fdad619ecf86e4bb4fa9056c053 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Tue, 4 Aug 2020 10:43:32 +0100 Subject: [PATCH 094/103] Purposefully break Package.swift to check CI fails as expected --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index e625c3cb..93ecdeb1 100644 --- a/Package.swift +++ b/Package.swift @@ -12,7 +12,7 @@ let supportedPlatforms: [SupportedPlatform] = [.iOS(.v12)] let biometricsTarget: Target = .target(name: "Biometrics", path: "TABTestKit/Classes/Biometrics/") /// The main TTK target. this has a dependency on the biometrics target. Having two targets means we can have a mixed-language package, which is otherwise not supported. -let mainTarget: Target = .target(name: name, dependencies: [.target(name: biometricsTarget.name)], path: "TABTestKit/Classes/", exclude: ["Biometrics/"]) +let mainTarget: Target = .target(name: name, dependencies: [.target(name: biometricsTarget.name)], path: "TABTestKit/Classes/", exclude: ["Biometric/"]) /// The final product, using all of the above. let product: Product = .library(name: name, type: .dynamic, targets: [mainTarget.name]) From fae3b11ebb5beeab4005fc078d1c6941446c7aa3 Mon Sep 17 00:00:00 2001 From: Kane Cheshire Date: Tue, 4 Aug 2020 10:48:19 +0100 Subject: [PATCH 095/103] Fixed package file --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 93ecdeb1..e625c3cb 100644 --- a/Package.swift +++ b/Package.swift @@ -12,7 +12,7 @@ let supportedPlatforms: [SupportedPlatform] = [.iOS(.v12)] let biometricsTarget: Target = .target(name: "Biometrics", path: "TABTestKit/Classes/Biometrics/") /// The main TTK target. this has a dependency on the biometrics target. Having two targets means we can have a mixed-language package, which is otherwise not supported. -let mainTarget: Target = .target(name: name, dependencies: [.target(name: biometricsTarget.name)], path: "TABTestKit/Classes/", exclude: ["Biometric/"]) +let mainTarget: Target = .target(name: name, dependencies: [.target(name: biometricsTarget.name)], path: "TABTestKit/Classes/", exclude: ["Biometrics/"]) /// The final product, using all of the above. let product: Product = .library(name: name, type: .dynamic, targets: [mainTarget.name]) From 5efbabae4e38aaf284a26f465b296dd4d4431fff Mon Sep 17 00:00:00 2001 From: Roger TAN Date: Fri, 14 Aug 2020 13:48:57 +0200 Subject: [PATCH 096/103] Supports DatePicker element (#128) * Supports DatePicker element * Put the time in UTC +00 instead of UTC +01 * Make Xcode always running in UTC time * Fix issue for Xcode 10 * Put time to UTC * Update Changelog --- CHANGELOG.md | 3 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 1008 +++++++++-------- .../xcschemes/TABTestKit-Example.xcscheme | 7 + Example/TABTestKit/Base.lproj/Main.storyboard | 34 +- .../TABTestKit/OtherElementsController.swift | 17 +- .../OtherElementsScreen.swift | 4 + .../OtherElementsTests.swift | 91 +- README.md | 30 + TABTestKit.xcodeproj/project.pbxproj | 4 + TABTestKit/Classes/Elements/DatePicker.swift | 63 ++ 10 files changed, 753 insertions(+), 508 deletions(-) create mode 100644 TABTestKit/Classes/Elements/DatePicker.swift diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fa70041..518e0837 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,8 @@ - Added support for double tapping, long pressing and two finger tapping, with default implementations for any Elements that conform to Tappable. (issue #88) - Configured Travis to build and test on multiple Xcodes - Added Swift Package Manager support -- Added a `Refreshable` protocol so for each element/screen that conforms to protocol `refresh` function can be defined +- Added a `Refreshable` protocol so for each element/screen that conforms to protocol `refresh` function can be defined +- Added a `DatePicker` element. (issue #55) --- diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 888c61b7..c263b759 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,228 +7,230 @@ objects = { /* Begin PBXBuildFile section */ - 057AD19E80F1F6E17D80CDC554C0E41F /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */; }; - 07FDD88F73EA8960D0F9E3C3EF4B6E4E /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BFD6C0764CD43FFB743CE603C9FFD68 /* Button.swift */; }; - 0B68E89B98365D41A7600239B2092EDD /* Picker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D07C967D9F11E4E64FCCB0515B63C928 /* Picker.swift */; }; - 0D0CA421CAB8CFB002F3A7958428F87D /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FDC2516655ADE505B015B6C694D2328 /* Sheet.swift */; }; - 1090D87A7D515D6D41D894DD759E7A5F /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9089417F0109865CDB124A2329BDD6FB /* Table.swift */; }; - 11661C36C0918639523AE19766D96ADB /* Springboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE2ACC1384856F32BDEAF0B67C4ABBA6 /* Springboard.swift */; }; - 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */; }; - 1B1415B0B3DB73411748BF869920A0F2 /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B5CC92563CE4BC7DA55A6394BD6A1DA /* TABTestCase.swift */; }; - 1C9C381CC36794C97A0D5856A243AECA /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E69262C4F4A355BF4676D44D72262A23 /* Completable.swift */; }; - 1CAD5E52058606696556F9E164DC8D5D /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2120EE906455FB83E2E09406CEF662C9 /* SegmentedControl.swift */; }; - 208D7E4CF6D5816E2375BD8E79E45004 /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06062B1405E6248957F1FA51ED99AEAE /* Tappable.swift */; }; - 23FED18C864803B6CD493F0DED90E82B /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71BC30DBECCC085046C14F79A51C96FC /* Slider.swift */; }; + 030C8476D8BE89065E5328E67EF56752 /* DatePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5A869D57AC8EDD0ED0BC6DA6BD96660 /* DatePicker.swift */; }; + 037438E458F376D3ED3311C9C9C424D1 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = EF3CF5B9ABEEA0EDC977AFA1D3653700 /* ActivitySheet.swift */; }; + 06F0BA93FE06A8B562D3D88F82D1FF43 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 76351B41B9C4CCADF915B35D11C74EAC /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 073BB799FC643900737132A1DAC712C1 /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5D608343740CFA224AF053B57F66F67 /* Editable.swift */; }; + 074443E7511027A2E5ED3909C0EA4C9B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 0E61D42891FE5FEC32F4F79B64A0A31A /* SystemPreferencesContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = C886680EDE8E68E288F0B0967127256D /* SystemPreferencesContext.swift */; }; + 11278B65581A09C350D0FE282C241B2F /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B82B2F93A1BE5B4C63A8A4CB66E2BE9 /* SegmentedControl.swift */; }; + 145EF16BC9E3275A3BE2EA2E24CCC25B /* SystemPreferencesResetScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21A5843633E4D75EE8E1556F939DB746 /* SystemPreferencesResetScreen.swift */; }; + 1769E66936A8148901759A505D1134D8 /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7EECF51F8060F5B8BFA4281A38586E83 /* Screen.swift */; }; + 178C0B2157C033E8875D33BAFCCD1A07 /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; + 1CF73984D3297083B164E8AFDFB68A9D /* KeyboardContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34195E62CE6D4325A0363AF69BD0FB9 /* KeyboardContext.swift */; }; + 1EEECE824542B4516057559E98B80E1C /* Alert.swift in Sources */ = {isa = PBXBuildFile; fileRef = E59DB98EC39EB118496B12CB4BE9C95C /* Alert.swift */; }; + 1F4FEC3156C65D28F6B9458BD75E2F88 /* NavigationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2F76C444323B6EB045D04A8CE4B6F18 /* NavigationContext.swift */; }; + 1FDB0E9D01FF2441B2C4BFDB3367E927 /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = B906394D23C1F041CA4124C3B1FFF2F3 /* Button.swift */; }; + 205F7DF3026977DA94FAC59A3D0B9F32 /* InteractionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91666C6805484361A8042FE298F3C08 /* InteractionContext.swift */; }; + 214C5AC2BEB372773B81A89E3CA9649E /* systemPreferencesRootScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = E8D0C69508B528128406927836573B67 /* systemPreferencesRootScreen.swift */; }; + 22824B0B33B4C8170ED1DE4ABC96A61A /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5109E1F024CAEEB532DC9DC19512FF1 /* XCUIDevice+frame.swift */; }; + 22AB496E63075EE106F9BA6B4D5CA93A /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = FBA47936DBE7936C98F0EC94B9E8CEAC /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 232838548112A58B1405F1649A3C8D5A /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 833F3150E7163B9CDD9DC3F6667D24AE /* Switch.swift */; }; + 24D51ED262D69888D4892E35D4B296B1 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = D633AFB6915D96D516CD0872E60E2415 /* App.swift */; }; + 25CB8336A1F82DDC9CD5005EFBB7F29B /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = B99BC68F60289EE3D2B827C55151ED07 /* Icon.swift */; }; 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 280DE7E704E54040AAD99A912D804B1C /* XCUIElement+wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5D9D28DCEEADE9294B60676002E5F3AF /* XCUIElement+wait.swift */; }; - 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - 2A7568FFE5FC98F3A8A8C9EC2E6CFBBA /* SecureTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 539E3535E6A4796A5DC1359080B1B388 /* SecureTextField.swift */; }; - 31D832E6B1905EB24BD3914FB9E4E26D /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4168F73CEF3298398FAFE1F3755C496 /* Adjustable.swift */; }; - 31E317402DD57DCD01147DD5A1B03793 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = D62EEF2B33953AEF764BCFFC3597CF30 /* Scenario.swift */; }; - 320CD0432837527FF659853E14CCE0EB /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 233D9F6DE5B7ED9B213DDEE7A60DF4D2 /* Editable.swift */; }; + 297A89E5D9EA42B0F082560478BD138D /* ScrollableScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D132E7F63ED7978B99EF4975197150F /* ScrollableScreen.swift */; }; + 33A0126A9943D162EDCC4DE493D8A168 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */; }; 3C892CB7517172243FF2DA110515208C /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */; }; - 3FFB5CEAF0482B2CC8FA486FAFE32A62 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6980B17C7DE4DADEAE4CC75D703C54AC /* Header.swift */; }; - 4101E143EB6E39F850E73276237625DD /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A44D97A79485D765FFC1885EF486035C /* TextView.swift */; }; - 430AC0E3784C452CA9A861D9E6AC9E46 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3ABBEEBD584246EF61D103CF1C923A0E /* BiometricsContext.swift */; }; - 4B8A6E15476B0C9F6CBC5F274DE4FC7C /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FD98E1ABC6B6C0E1972A84DF17C5101 /* CellContaining.swift */; }; - 57001A8096851FD8002D6A76EE216715 /* ScrollableScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 029ACEB452A14FC499201FC3B0C4ED34 /* ScrollableScreen.swift */; }; - 57ED8608C9256BFEE6338B4D9C6BA3D2 /* SystemPreferencesResetScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D9B3886BA63D85E95DC7C0E2C41C9C9 /* SystemPreferencesResetScreen.swift */; }; - 58810327410B85FEB119763254AA4B0B /* BaseApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = B6FEDCB8E835BAD94013EC96B36228F2 /* BaseApp.swift */; }; - 59C61F9D86B646893D50711CC5C6801A /* NavigationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F3EF5E147F848C915D2D095DFA422D /* NavigationContext.swift */; }; - 5B39540A604873FB3180D8B28B8B88FA /* XCUIElement+hasKeyboardFocus.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD112D38CB4A7946791170C90730CC9D /* XCUIElement+hasKeyboardFocus.swift */; }; - 5D7A82AD1AFEF42A0E95D96C466A99E6 /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E4EAF339F88D5CC4828E58D2D044BA /* Attributes.swift */; }; - 63D3C37B825C72FC8B554ECEF6A1C189 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = AB73F3D5CE27BEFC135A72853A578770 /* View.swift */; }; - 63EA29EA99DA5C624B186F7CD629B14D /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = DBE7A8817DB54096950BC6C6163FB2C0 /* XCTFatalFail.swift */; }; - 64014F0876F2797A9BA0548CF916D20B /* PageIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BF44A3860DAFA6F569C7C830A6F42C2 /* PageIndicator.swift */; }; - 64BAD1DD1EA45B92B9AFF98CE73A5ED4 /* Alert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63808F52E6B612D9117EA7F81237AAED /* Alert.swift */; }; - 6972944BAF55F67D1613B40566B51B59 /* AlertContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58701D6FE5B0819E5ECE654224188DC0 /* AlertContext.swift */; }; - 6976C71365844907D1C897F35DF571C4 /* CGVector+Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 238D94DB52E866485358E8A0DB1C35AF /* CGVector+Offset.swift */; }; - 6E077301C2429F6C0F506EC83BFCDCB3 /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 71AC18C8449F986EBB02832E2A07A50F /* NavBar.swift */; }; - 743F40249F12DD773D943A66974214F9 /* NormalizedCoordinate+Locations.swift in Sources */ = {isa = PBXBuildFile; fileRef = E78108E38AC455729C36C4C7EEDE146C /* NormalizedCoordinate+Locations.swift */; }; - 747122308EDDFEF93EF4E728E15CF1F6 /* TABTestKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 987BEA52658B9CB88A6F751D324F13AD /* TABTestKit-dummy.m */; }; - 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 795BE4C0034613920A5C128A01BB53C7 /* TABTestKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F00418B0925C8A96D09D1986BE6C1B6B /* TABTestKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7BE3CA364825F8CD761A911CA29DEC00 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC8682021049AEAAB3DCD7C150A95FB2 /* ActivitySheet.swift */; }; - 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; - 7FC59073193FDD929E3C7DF6C5F7DAC8 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82E2D18AF412B9ED1E41630009454979 /* Step.swift */; }; - 80A3AB6B2D68A0FE6AD65D9E406C0610 /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F91B925F791557160A72CB6C0BA49D45 /* Scrollable.swift */; }; - 84207533D404FF5E0399A8E25C9E54B1 /* SystemPreferencesGeneralScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA36B114B42B335BCF6F8F96ED83733E /* SystemPreferencesGeneralScreen.swift */; }; - 859F328E4ABF338A9987E4A2A835B5D2 /* Stepper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E675701574C76D0C286A4F6FFFFB5E5 /* Stepper.swift */; }; - 863EE3A68BBD9D64B35BD86403CFE347 /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E21D12E79B060EEABD6D9C064FD58DC /* AppContext.swift */; }; - 87219A0833E2C2DB62240B62D31BCB17 /* KeyboardContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9428A8F167FEB42DE18A7EBD813A80A5 /* KeyboardContext.swift */; }; - 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8BB6FAEAAE345666BA4D0339B6512DA6 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0A11CCC52D92B046F8A9FA9AC99AF4F /* Image.swift */; }; - 930BB84CB3CD91D6C3F47344F1E3B716 /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1535CFEC7782CBF5925C8C4087599AF0 /* Dismissable.swift */; }; - 96F4D54DC6D19C2B62038FB29CA14EFC /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = A4F037B014CEDE4C8F4E39CB25E05DD2 /* Switch.swift */; }; - 9BB4E051EA402E2BFC9EC5D111B197FF /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34B6C40BC468C579D69B2CC4CAF320EC /* Label.swift */; }; - A0CB99B9EA85274E99D1FA593199CFE0 /* ValueRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC8E6BB8E22FC1B0C1930A4F8B678E92 /* ValueRepresentable.swift */; }; - A1DEEA086571A976344EACF308E8B05C /* Element+defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD37B9C8E065DD3D17F7204B1B1FBD58 /* Element+defaults.swift */; }; - A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - A42C4B780986976455B79A6DCE9DA9E2 /* systemPreferencesRootScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AEC6A3A9A1E90D3C5F4B4A736C8E946 /* systemPreferencesRootScreen.swift */; }; - A491165E101133259FF943950187B759 /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 609F80835D951294E6054EC34BE7DEAB /* SheetContext.swift */; }; - AE85E79E4A1CB7C55A422C5B8095547F /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = BA5720DEDCE2EE95A4B4F67D967D49EE /* Biometrics.m */; }; - B36FC689297C3EE65EB22BA68CD71863 /* Refreshable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44F9BE5C5077780745214E80112EF7EF /* Refreshable.swift */; }; - B37EC5CB2875EB4529A536911F8660EE /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE536BF6DFF2331078DBAADAAB49035 /* Cell.swift */; }; - B4C82C8ACF0F022053310C472E055B93 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 428C7E1FA710CF3CFD6B1D091E8DA215 /* TextField.swift */; }; - B513DE81DB5A4FF5CB34A166242B6A1B /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17DCECBA4EAAE4C07053D26FBE892D78 /* App.swift */; }; - B689E311677718EBC18E8A65181E28D1 /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A6FE0B2CF948C41E54AA50B9A2DBFE6 /* CollectionView.swift */; }; - B7CF969CE6C43590EF1C83A67707912A /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EB66BEA4359AD0F6E58CE8E61A7D651 /* ScrollView.swift */; }; + 3D53EE53A9983C943A862D0383369B25 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3DDA18D51471D4B5A53CA30FB7A4800E /* TABTestKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 39F10CDF64864F18B3EEAAE5618F2993 /* TABTestKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 466B4F15E513602A12E004EE0DDC43EE /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 481F82DB88069C6B92FF1778580B39F6 /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 97B6600289CF1454BB2B7A95FE5523AB /* Slider.swift */; }; + 4CF2489EF04BC5D95D8CC7B883F8F136 /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = E4508197147D357E5AC5F92B14089EC1 /* SystemPreferences.swift */; }; + 4D991C4CAEF57EB28E0F107BCBCC5464 /* XCUIElement+wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58185D0DA6046583EA0F3992B136C18F /* XCUIElement+wait.swift */; }; + 4DF904622DBED25D617FB92185ACCAF7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + 56D50EAF7965D5AE0E5181A61398C2FE /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = EDF4947C9E27BB97B30F06939F64E9E0 /* CellContaining.swift */; }; + 6693CC10486D411C5AEE771A4DED0AB4 /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = E846D1B6D74DE542E5CA9527BD39F15F /* Tappable.swift */; }; + 672CCDA6A5E3879637348218DCC4A967 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = A361D13461D8EC6C08FFF31BDF8D1806 /* BiometricsContext.swift */; }; + 67BDAF48BC71ADD6FFBD9BC3F60CC489 /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13B5D2EB83CCADFD7A1E0058D8A2B609 /* Attributes.swift */; }; + 697DDFCEB90BB157DB000D322CD19D5C /* PageIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1146247962F18FFC769B180EB17B0A5D /* PageIndicator.swift */; }; + 6BEE0D6E2E2AB96DD64F04F9B4C33B2D /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EFFE450A2ED2E1A13F6291EF95C4F19 /* Header.swift */; }; + 6D14253BA9582C897106391DA95677C5 /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3EE8B1C53D5F26ACBFF010AEABAE28B /* Dismissable.swift */; }; + 6FB96E7AE7560CFFE96A83D5A2B9FFC9 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8889DDD0297F197C953F944C127449C /* WebView.swift */; }; + 707000A4026440BF85F559F095DEB890 /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 733C9EB16F7A1DF6E9E333F54B511D02 /* Completable.swift */; }; + 723BE432EFB0A62753F492943A3A67B4 /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9017D3505D12281FD18FE6120B0A5DE /* TABTestCase.swift */; }; + 74FE7D271C05B5F5CF16CD40289ED053 /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 31BB533F397C5D4FD9F1F0910B521877 /* NavBar.swift */; }; + 7E50C1883D363FEBF04C6B1F0D12E834 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B0AB1F764B8B3C263215AFEFC01143A /* Cell.swift */; }; + 7FF9CA487AB366CCB8F77DD7B22AB8F4 /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 270FD9B498764D8FEA3F42DB3007EE80 /* Sheet.swift */; }; + 84B1885DB2D83AFD090C3CCCA8472C4E /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DB84493C64353132E6F27571A43A3F6 /* CollectionView.swift */; }; + 8722F7FE01B09905CE43F5FE2F84E4AB /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0930640B9F785B2533E020EBE1A83252 /* Table.swift */; }; + 94D870EB04EAD571F26204DFA1DE5BF8 /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E1A9256A8DD33C89BAAB57A235F2804 /* Adjustable.swift */; }; + 965F572E8A4577F5564E718B08CA0DEC /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = B62E07EF0C9BE6DEF51F0BE719EFEB9E /* AppContext.swift */; }; + 96CF87699933D48A91FDD92BBBBD3A96 /* SystemPreferencesGeneralScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = EFE83F853FC56745500A916FBFE0BD09 /* SystemPreferencesGeneralScreen.swift */; }; + 981319D676A5ECFF485A539211C464A2 /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3B5FEA5DCDCA2D582C00DE6B76CDC0B /* ScrollView.swift */; }; + 9914EC8EA7D7B376F4F8046D2F5A8380 /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00B178BBB394C26212D58AE9F1A3376E /* XCUIElement+isVisible.swift */; }; + 9D1D06B968FEF34BEFBC5DA3B5F211A3 /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 28FC2FFEC625B0FA3CD74A1DA0360038 /* XCTFatalFail.swift */; }; + A41B5CCF42789157090E258FE089586C /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = 99645CE216E89A6655EC66E732CECD38 /* Element.swift */; }; + AE182ECBB0181991D6E601FF083869A3 /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD2E454FE7393A49B62A15ECF95C55AF /* SheetContext.swift */; }; + B169B20C039E782186565E2E52ACB787 /* AlertContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44D3D373915DB3F443D51C091A399226 /* AlertContext.swift */; }; + B355BFBF02732C2EFDFCC79CE84DBEEF /* Picker.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8F3ADBAFBD856493872E3528629CE26 /* Picker.swift */; }; + B390F02F5BF0E704C2530E6B864C8DA4 /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 525F300EF39DA23BCE9573EFDF316426 /* TabBar.swift */; }; + B3F91A927D31FD30CAE8C721D3CDD916 /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 11F2A3A2A26E9B32CC1F97EE09E1F276 /* Scrollable.swift */; }; + B958E7CE0D4615F3F9D93D4E33F4DF36 /* TABTestKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 76218D3926FC14AD26D4F85F24A78116 /* TABTestKit-dummy.m */; }; BA42C86F6872AC87ADF7110F65920109 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */; }; - BB77F7A6807B6E204739EB0881E3B4CA /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 288348B0E48E8832F351BC7B63303777 /* Icon.swift */; }; - BC63BDE0255954A2DA44B3F1D90E30D1 /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F71C696D13A19D07E5810318AA9384 /* XCUIDevice+frame.swift */; }; - BD175ABDA60A025E76859EC888C936CB /* SystemPreferencesContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20F6759CD9CFC4C1F5DA6B78EFFBB609 /* SystemPreferencesContext.swift */; }; - C5CD0C3F1C611A6F4C44A5752E91C2F5 /* InteractionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = E34A4D0E90CA84F5B686ECC33E84720D /* InteractionContext.swift */; }; - C997CEF610E3041E1C3A5E95D08932B7 /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = FB18014FAD1F5EE5FA9E004624623989 /* Screen.swift */; }; - D0A0967C43C505030195B253B82C5E33 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 825F5BBC95C9AD5A6FEF97516F438976 /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D0FD68BBEC62BB6F4DB4D2F58E269A44 /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC56A10DF2C24631522AEF8CBF30B351 /* XCUIElement+isVisible.swift */; }; - D9D0A3DCC7BEB64B8F1602523BA266E4 /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2ADFBF8A19DAC2594ED4548F1696E8C9 /* SystemPreferences.swift */; }; - DB455946D47F73E2186787172F680213 /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = 526C28167B8EB919F428D251486F18A3 /* Element.swift */; }; - DCBC7977519A09E364F903C059F52EBF /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 801D065A67CFE384AC907A0A08A80669 /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E434A53EF6A44B1AE884F2B627B29B32 /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A139CE57C53F627624E7B2244D19E74 /* TabBar.swift */; }; - E7FB14F2DBF5C8E23887E8D7E4D0FA33 /* Safari.swift in Sources */ = {isa = PBXBuildFile; fileRef = B10C6E6AABDEF73C8D9E647494F5FFFD /* Safari.swift */; }; - EA26D3491AF4F16202B2F0B5A231CCD8 /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E78188EC60ABEC11AE165500D2CFFCB /* Array+Safe.swift */; }; - F259DC0C2C71FE4DE5FAAD5C376C0601 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37CD9BB357BD4C98594C6FDB2372E203 /* Keyboard.swift */; }; - F9323849E50840C3CC8D3EA197513D5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - FDA563324A4D72C0C284BEF9380A869C /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 30B66790D2082BEC84983A6EF4BF5662 /* WebView.swift */; }; + C28393A7BA4949E7EC11BA68290E0A89 /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = 516FEC36F601143A1A7D9C4483043E02 /* Biometrics.m */; }; + C45F1CA24939CFC0EA011576B184E517 /* BaseApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 063860976CBFED0CEABD0E3213F93A8E /* BaseApp.swift */; }; + C5E46852D59375EE4308956FD7ACADE6 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E96D37C7B544B5D3F8FABFDB3A65DFD /* TextField.swift */; }; + C9939C0BDAD41AA1F33BE52342C396FB /* Refreshable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C38F549CCB18E20A90695795AEC5AC6 /* Refreshable.swift */; }; + CE96ADAED2FDB8BB47A327A08562475C /* SecureTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 26E0C2DB87953FDF97B668A8BE0A744E /* SecureTextField.swift */; }; + D83B7250A5C7CDFE4F64E0EEDD639892 /* Safari.swift in Sources */ = {isa = PBXBuildFile; fileRef = 378BEB1C3B86DE939F26118388E95363 /* Safari.swift */; }; + D86774E04E3EAF51A19C123A7D21000A /* XCUIElement+hasKeyboardFocus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2729792DB920A36618545DE30B46AA58 /* XCUIElement+hasKeyboardFocus.swift */; }; + D8771E317705B1A18BFDE9E3C391EF7F /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = B16CB0412D2D22CA01914F6BAE91169D /* Step.swift */; }; + DA63C2BDCDFB0A29EF5D49EDF95724BF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; + DA63CBAA1FD4B0B8D56B351BC7B277F4 /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = 288D4CA144C64E07905184F6CBAAE867 /* Label.swift */; }; + E09FEFAFFD39157648FFABB51E2EB3EA /* NormalizedCoordinate+Locations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C79CDE470DD3341A0A34BD1C052A973 /* NormalizedCoordinate+Locations.swift */; }; + E11FF4E3610B51833B5B25BFEC9439EB /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44A8EB04ABAA59D35775222D7010AA51 /* Array+Safe.swift */; }; + E3AA3BD0B36A8D7D0DDADCA23C123130 /* Stepper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 996EB6D6F78C53D2C9B5D4FBC4C13D84 /* Stepper.swift */; }; + E558577851F19778E543AE6D7DCFF30A /* Springboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A9E2EEC134947F1BCADD81AFCF32A5B /* Springboard.swift */; }; + E87367920E610653998714517B01869C /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3343170286ADD343A663D64B81BB398B /* View.swift */; }; + E9BA1D90C07B623069A2D6BB1686441B /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2BEC99316035011631C40BFCF3197901 /* TextView.swift */; }; + EBD37C76644005FA6D30F6FCAA57EA58 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB2B8E3108E83AEF1A861292D5E667A5 /* Keyboard.swift */; }; + EE7661A93B9C6E26F9D8C1D89491F76E /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */; }; + F19E657512049CDD2FD1414E408073C8 /* CGVector+Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = 409D0012B0FB4B730BAB1D8F54421886 /* CGVector+Offset.swift */; }; + F566D30798059D2B906BF3245752870F /* ValueRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42287AC46DDDC0D1AA7184E181C68C89 /* ValueRepresentable.swift */; }; + F67B7C7FDE9074CDCFA68E004947AA92 /* Element+defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AE3694A3ADDFDB10E97129C26B4C12F /* Element+defaults.swift */; }; + FB0F482C6EC685FC996684E7E0C58A81 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1AB2E805D93F75BF37BD873B9BF6585 /* Scenario.swift */; }; + FB1E11C5834A94EA4E92203A824C7712 /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 310D0511477295F4E8D3A2CECA4D953A /* Image.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 04C0ED95764AD70BF43EFA78B032313B /* PBXContainerItemProxy */ = { + 08A99BEA9208FCFDB1062DADA9B40487 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9C4F771642E79689CC6A0648ABEA808C; - remoteInfo = TABTestKit; + remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; + remoteInfo = ShowTime; }; - 0BF10D5355C2C44AED2A9D0480F98BF0 /* PBXContainerItemProxy */ = { + 34A9B585AC52D00944BC81029C8F615A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; remoteInfo = ShowTime; }; - 5E46CC12080B1A9E37FBD7588D02584F /* PBXContainerItemProxy */ = { + F598D08DAB210C6E35AA46DCC7485897 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; - remoteInfo = ShowTime; + remoteGlobalIDString = 9C4F771642E79689CC6A0648ABEA808C; + remoteInfo = TABTestKit; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 029ACEB452A14FC499201FC3B0C4ED34 /* ScrollableScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollableScreen.swift; sourceTree = ""; }; + 00B178BBB394C26212D58AE9F1A3376E /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 06062B1405E6248957F1FA51ED99AEAE /* Tappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Tappable.swift; sourceTree = ""; }; - 0D9B3886BA63D85E95DC7C0E2C41C9C9 /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; + 063860976CBFED0CEABD0E3213F93A8E /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; + 0930640B9F785B2533E020EBE1A83252 /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; + 0AE3694A3ADDFDB10E97129C26B4C12F /* Element+defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Element+defaults.swift"; sourceTree = ""; }; + 0AF0A2E0D69C6A4EF1AB4402DB0A38EA /* TABTestKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TABTestKit-Info.plist"; sourceTree = ""; }; + 0C38F549CCB18E20A90695795AEC5AC6 /* Refreshable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Refreshable.swift; sourceTree = ""; }; + 10B1611A1B50B1DA5565DB251CBF81F4 /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; + 1146247962F18FFC769B180EB17B0A5D /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; + 11F2A3A2A26E9B32CC1F97EE09E1F276 /* Scrollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; + 13B5D2EB83CCADFD7A1E0058D8A2B609 /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; + 13BA1BD868EA98BFAF1291D67025BC2E /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.debug.xcconfig"; sourceTree = ""; }; - 1535CFEC7782CBF5925C8C4087599AF0 /* Dismissable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; 17AE207B2FD67E1096C542744391C322 /* Pods-TABTestKit_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-acknowledgements.plist"; sourceTree = ""; }; - 17DCECBA4EAAE4C07053D26FBE892D78 /* App.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; - 1A139CE57C53F627624E7B2244D19E74 /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; + 1B0AB1F764B8B3C263215AFEFC01143A /* Cell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; 1CB830EB632DA8DED42D4E33C4E59DD9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh"; sourceTree = ""; }; - 1FEECC2891FA9207E48C23F05FA63331 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 20F6759CD9CFC4C1F5DA6B78EFFBB609 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; - 2120EE906455FB83E2E09406CEF662C9 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; - 2139B5533BEBB89B1AAED6BD36926681 /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; - 233D9F6DE5B7ED9B213DDEE7A60DF4D2 /* Editable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; - 238D94DB52E866485358E8A0DB1C35AF /* CGVector+Offset.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; + 21A5843633E4D75EE8E1556F939DB746 /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ShowTime.framework; path = ShowTime.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 26E0C2DB87953FDF97B668A8BE0A744E /* SecureTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SecureTextField.swift; sourceTree = ""; }; + 270FD9B498764D8FEA3F42DB3007EE80 /* Sheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sheet.swift; sourceTree = ""; }; + 2729792DB920A36618545DE30B46AA58 /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-dummy.m"; sourceTree = ""; }; - 288348B0E48E8832F351BC7B63303777 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; - 2ADFBF8A19DAC2594ED4548F1696E8C9 /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; + 288D4CA144C64E07905184F6CBAAE867 /* Label.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; + 28FC2FFEC625B0FA3CD74A1DA0360038 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; + 2BEC99316035011631C40BFCF3197901 /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 2E96D37C7B544B5D3F8FABFDB3A65DFD /* TextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2EB66BEA4359AD0F6E58CE8E61A7D651 /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; - 30B66790D2082BEC84983A6EF4BF5662 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; - 34B6C40BC468C579D69B2CC4CAF320EC /* Label.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; - 37CD9BB357BD4C98594C6FDB2372E203 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; - 3A6FE0B2CF948C41E54AA50B9A2DBFE6 /* CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; - 3ABBEEBD584246EF61D103CF1C923A0E /* BiometricsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BiometricsContext.swift; sourceTree = ""; }; - 428C7E1FA710CF3CFD6B1D091E8DA215 /* TextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; - 43D13F1FAF8603F38A44BA21F33C0912 /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 44F9BE5C5077780745214E80112EF7EF /* Refreshable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Refreshable.swift; sourceTree = ""; }; - 48F3EF5E147F848C915D2D095DFA422D /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; + 310D0511477295F4E8D3A2CECA4D953A /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; + 31BB533F397C5D4FD9F1F0910B521877 /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; + 3343170286ADD343A663D64B81BB398B /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; + 378BEB1C3B86DE939F26118388E95363 /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; + 39F10CDF64864F18B3EEAAE5618F2993 /* TABTestKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-umbrella.h"; sourceTree = ""; }; + 409D0012B0FB4B730BAB1D8F54421886 /* CGVector+Offset.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; + 42287AC46DDDC0D1AA7184E181C68C89 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; + 44A8EB04ABAA59D35775222D7010AA51 /* Array+Safe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; + 44D3D373915DB3F443D51C091A399226 /* AlertContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; + 4A9E2EEC134947F1BCADD81AFCF32A5B /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; + 5029125F64A9A19889E338765CD0299E /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example.framework; path = "Pods-TABTestKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 526C28167B8EB919F428D251486F18A3 /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; - 539E3535E6A4796A5DC1359080B1B388 /* SecureTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SecureTextField.swift; sourceTree = ""; }; + 516FEC36F601143A1A7D9C4483043E02 /* Biometrics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Biometrics.m; sourceTree = ""; }; + 525F300EF39DA23BCE9573EFDF316426 /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example.modulemap"; sourceTree = ""; }; - 58701D6FE5B0819E5ECE654224188DC0 /* AlertContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; - 5B5CC92563CE4BC7DA55A6394BD6A1DA /* TABTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TABTestCase.swift; path = TABTestKit/Classes/TABTestCase.swift; sourceTree = ""; }; + 58185D0DA6046583EA0F3992B136C18F /* XCUIElement+wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = TABTestKit.framework; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5D9D28DCEEADE9294B60676002E5F3AF /* XCUIElement+wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; - 5E21D12E79B060EEABD6D9C064FD58DC /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; - 5EADE617313EDEFAE09DD75B5F7B1B98 /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; - 5EE536BF6DFF2331078DBAADAAB49035 /* Cell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; - 5FD98E1ABC6B6C0E1972A84DF17C5101 /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; - 609F80835D951294E6054EC34BE7DEAB /* SheetContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; - 63808F52E6B612D9117EA7F81237AAED /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; + 5E1A9256A8DD33C89BAAB57A235F2804 /* Adjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Adjustable.swift; sourceTree = ""; }; + 5EFFE450A2ED2E1A13F6291EF95C4F19 /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; 69152FFA4489AC24B45BCE5208B3B41A /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; - 6980B17C7DE4DADEAE4CC75D703C54AC /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; - 6AEC6A3A9A1E90D3C5F4B4A736C8E946 /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; - 6E78188EC60ABEC11AE165500D2CFFCB /* Array+Safe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; + 6B82B2F93A1BE5B4C63A8A4CB66E2BE9 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-acknowledgements.markdown"; sourceTree = ""; }; - 71AC18C8449F986EBB02832E2A07A50F /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; - 71BC30DBECCC085046C14F79A51C96FC /* Slider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; - 7E675701574C76D0C286A4F6FFFFB5E5 /* Stepper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; - 7FDC2516655ADE505B015B6C694D2328 /* Sheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sheet.swift; sourceTree = ""; }; - 801D065A67CFE384AC907A0A08A80669 /* Biometrics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; - 825F5BBC95C9AD5A6FEF97516F438976 /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; - 82E2D18AF412B9ED1E41630009454979 /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; - 8A3EB354FF57A4D5DF54965C128B21F6 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - 8BF44A3860DAFA6F569C7C830A6F42C2 /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; - 8BFD6C0764CD43FFB743CE603C9FFD68 /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; - 8D4D2A880C74185B385459D0F3ECFC51 /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; - 9089417F0109865CDB124A2329BDD6FB /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; + 733C9EB16F7A1DF6E9E333F54B511D02 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; + 76218D3926FC14AD26D4F85F24A78116 /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; + 76351B41B9C4CCADF915B35D11C74EAC /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; + 7EECF51F8060F5B8BFA4281A38586E83 /* Screen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; + 833F3150E7163B9CDD9DC3F6667D24AE /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist"; sourceTree = ""; }; - 9428A8F167FEB42DE18A7EBD813A80A5 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; + 9636ED3E95A98C45C798682289AABB5A /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig"; sourceTree = ""; }; - 96FC8F190C24B476CD216A18EC6FFCF2 /* TABTestKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TABTestKit-Info.plist"; sourceTree = ""; }; - 987BEA52658B9CB88A6F751D324F13AD /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; + 97B6600289CF1454BB2B7A95FE5523AB /* Slider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; + 99645CE216E89A6655EC66E732CECD38 /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; + 996EB6D6F78C53D2C9B5D4FBC4C13D84 /* Stepper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m"; sourceTree = ""; }; + 9C79CDE470DD3341A0A34BD1C052A973 /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; + 9D132E7F63ED7978B99EF4975197150F /* ScrollableScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollableScreen.swift; sourceTree = ""; }; 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9DB84493C64353132E6F27571A43A3F6 /* CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-umbrella.h"; sourceTree = ""; }; + A361D13461D8EC6C08FFF31BDF8D1806 /* BiometricsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BiometricsContext.swift; sourceTree = ""; }; + A3EE8B1C53D5F26ACBFF010AEABAE28B /* Dismissable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; - A44D97A79485D765FFC1885EF486035C /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; - A4F037B014CEDE4C8F4E39CB25E05DD2 /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; AA47AB426A72CF612E6CDF50B0E91C8F /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; AA9FC38AC03409CABA3E4DD246E3CF1C /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; sourceTree = ""; }; - AB73F3D5CE27BEFC135A72853A578770 /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; ADB4763ABC911105EE431BA516439FE1 /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.release.xcconfig"; sourceTree = ""; }; - B10C6E6AABDEF73C8D9E647494F5FFFD /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; - B6FEDCB8E835BAD94013EC96B36228F2 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; - BA5720DEDCE2EE95A4B4F67D967D49EE /* Biometrics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Biometrics.m; sourceTree = ""; }; - BBE255692AD510B938CB0017AEED4518 /* TABTestKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-prefix.pch"; sourceTree = ""; }; - C0E4EAF339F88D5CC4828E58D2D044BA /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; + B16CB0412D2D22CA01914F6BAE91169D /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; + B34195E62CE6D4325A0363AF69BD0FB9 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; + B62E07EF0C9BE6DEF51F0BE719EFEB9E /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; + B8889DDD0297F197C953F944C127449C /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; + B8F3ADBAFBD856493872E3528629CE26 /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; + B906394D23C1F041CA4124C3B1FFF2F3 /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; + B99BC68F60289EE3D2B827C55151ED07 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; + BD2E454FE7393A49B62A15ECF95C55AF /* SheetContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; C354231844F21D916AF8E0D9E0F587FF /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; sourceTree = ""; }; - C4168F73CEF3298398FAFE1F3755C496 /* Adjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Adjustable.swift; sourceTree = ""; }; C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h"; sourceTree = ""; }; - CA36B114B42B335BCF6F8F96ED83733E /* SystemPreferencesGeneralScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesGeneralScreen.swift; sourceTree = ""; }; + C886680EDE8E68E288F0B0967127256D /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; + C9017D3505D12281FD18FE6120B0A5DE /* TABTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TABTestCase.swift; path = TABTestKit/Classes/TABTestCase.swift; sourceTree = ""; }; + CB2B8E3108E83AEF1A861292D5E667A5 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; CBA3199C63C53E992A3F26F5ADCBB639 /* Pods-TABTestKit_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-Info.plist"; sourceTree = ""; }; - CC8682021049AEAAB3DCD7C150A95FB2 /* ActivitySheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; - CD112D38CB4A7946791170C90730CC9D /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; - CD37B9C8E065DD3D17F7204B1B1FBD58 /* Element+defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Element+defaults.swift"; sourceTree = ""; }; - D07C967D9F11E4E64FCCB0515B63C928 /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; - D62EEF2B33953AEF764BCFFC3597CF30 /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; - D8F71C696D13A19D07E5810318AA9384 /* XCUIDevice+frame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIDevice+frame.swift"; sourceTree = ""; }; - DBE7A8817DB54096950BC6C6163FB2C0 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; - DC8E6BB8E22FC1B0C1930A4F8B678E92 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; - DE2ACC1384856F32BDEAF0B67C4ABBA6 /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; + D1AB2E805D93F75BF37BD873B9BF6585 /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; + D3B5FEA5DCDCA2D582C00DE6B76CDC0B /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; + D5A869D57AC8EDD0ED0BC6DA6BD96660 /* DatePicker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = DatePicker.swift; sourceTree = ""; }; + D633AFB6915D96D516CD0872E60E2415 /* App.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; + D87AACBC58E2252912FEC4132CF481CE /* TABTestKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-prefix.pch"; sourceTree = ""; }; + D91666C6805484361A8042FE298F3C08 /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; DF441583F13AEDF6DF852C5354F264E1 /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; - E0A11CCC52D92B046F8A9FA9AC99AF4F /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; - E34A4D0E90CA84F5B686ECC33E84720D /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; - E69262C4F4A355BF4676D44D72262A23 /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; - E78108E38AC455729C36C4C7EEDE146C /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; + E4508197147D357E5AC5F92B14089EC1 /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; + E59DB98EC39EB118496B12CB4BE9C95C /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; + E846D1B6D74DE542E5CA9527BD39F15F /* Tappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Tappable.swift; sourceTree = ""; }; + E8D0C69508B528128406927836573B67 /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; + E97F64AF467C08D1FB58F73CF59C7EB4 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; EAF2F2B8E583A5D847949453BAC20C6B /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ShowTime.swift; path = Sources/ShowTime/ShowTime.swift; sourceTree = ""; }; - EC56A10DF2C24631522AEF8CBF30B351 /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-frameworks.sh"; sourceTree = ""; }; - F00418B0925C8A96D09D1986BE6C1B6B /* TABTestKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-umbrella.h"; sourceTree = ""; }; + EDF4947C9E27BB97B30F06939F64E9E0 /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; + EF3CF5B9ABEEA0EDC977AFA1D3653700 /* ActivitySheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; + EFE83F853FC56745500A916FBFE0BD09 /* SystemPreferencesGeneralScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesGeneralScreen.swift; sourceTree = ""; }; F094F44DD0301CC76E1365673D3FCF9C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; - F91B925F791557160A72CB6C0BA49D45 /* Scrollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; - FB18014FAD1F5EE5FA9E004624623989 /* Screen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; + F2F76C444323B6EB045D04A8CE4B6F18 /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; + F3F8FE35B25F667403E340317EA9F9FD /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; + F5109E1F024CAEEB532DC9DC19512FF1 /* XCUIDevice+frame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIDevice+frame.swift"; sourceTree = ""; }; + F5D608343740CFA224AF053B57F66F67 /* Editable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; + FBA47936DBE7936C98F0EC94B9E8CEAC /* Biometrics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; FD03AA75DD58014781A38E023C12CD42 /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -242,52 +244,48 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */ = { + 4898BC30FDFD419F968119FDEDDF05A7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */, + 4DF904622DBED25D617FB92185ACCAF7 /* Foundation.framework in Frameworks */, + 33A0126A9943D162EDCC4DE493D8A168 /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */ = { + C5F45EBFBA89156FDAD636437B27CAAE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */, + 074443E7511027A2E5ED3909C0EA4C9B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - FE2EECB8103069FC9D094A9453F0E5E4 /* Frameworks */ = { + DA6508EB8D221EE762ADFF8A3478C2C9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F9323849E50840C3CC8D3EA197513D5E /* Foundation.framework in Frameworks */, - 057AD19E80F1F6E17D80CDC554C0E41F /* XCTest.framework in Frameworks */, + DA63C2BDCDFB0A29EF5D49EDF95724BF /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0B3D003A7C1077A3F04902E11EE2D428 /* Protocols */ = { + 09D33B2E9C4207D5883730B1CC953ACA /* Contexts */ = { isa = PBXGroup; children = ( - C4168F73CEF3298398FAFE1F3755C496 /* Adjustable.swift */, - 5FD98E1ABC6B6C0E1972A84DF17C5101 /* CellContaining.swift */, - E69262C4F4A355BF4676D44D72262A23 /* Completable.swift */, - 1535CFEC7782CBF5925C8C4087599AF0 /* Dismissable.swift */, - 233D9F6DE5B7ED9B213DDEE7A60DF4D2 /* Editable.swift */, - 526C28167B8EB919F428D251486F18A3 /* Element.swift */, - 44F9BE5C5077780745214E80112EF7EF /* Refreshable.swift */, - FB18014FAD1F5EE5FA9E004624623989 /* Screen.swift */, - F91B925F791557160A72CB6C0BA49D45 /* Scrollable.swift */, - 029ACEB452A14FC499201FC3B0C4ED34 /* ScrollableScreen.swift */, - 06062B1405E6248957F1FA51ED99AEAE /* Tappable.swift */, - DC8E6BB8E22FC1B0C1930A4F8B678E92 /* ValueRepresentable.swift */, + 44D3D373915DB3F443D51C091A399226 /* AlertContext.swift */, + B62E07EF0C9BE6DEF51F0BE719EFEB9E /* AppContext.swift */, + A361D13461D8EC6C08FFF31BDF8D1806 /* BiometricsContext.swift */, + D91666C6805484361A8042FE298F3C08 /* InteractionContext.swift */, + B34195E62CE6D4325A0363AF69BD0FB9 /* KeyboardContext.swift */, + F2F76C444323B6EB045D04A8CE4B6F18 /* NavigationContext.swift */, + BD2E454FE7393A49B62A15ECF95C55AF /* SheetContext.swift */, + C886680EDE8E68E288F0B0967127256D /* SystemPreferencesContext.swift */, ); - name = Protocols; - path = TABTestKit/Classes/Protocols; + name = Contexts; + path = TABTestKit/Classes/Contexts; sourceTree = ""; }; 0EAD851B593C7D383A5B9F66278D5202 /* ShowTime */ = { @@ -300,25 +298,6 @@ path = ShowTime; sourceTree = ""; }; - 13156ED4460199C179A65E78131501C9 /* TABTestKit */ = { - isa = PBXGroup; - children = ( - 5B5CC92563CE4BC7DA55A6394BD6A1DA /* TABTestCase.swift */, - 8872C50C8A2611470A75161595B511D1 /* Apps */, - 868B417AD73B1B721B53EAAD193BB43C /* BDD */, - 3F8ED93EBF60DA466D13FAEA865C7534 /* Biometrics */, - 84077031334557DE7388627A56AB6D8E /* Contexts */, - 7FD44DEFF2C312F744D47FD7616C45B6 /* Elements */, - AD21999C0E45239ADD1FC10D908F2545 /* Extensions */, - 9302C6E69E759D3BC0598249955E45CD /* Pod */, - 0B3D003A7C1077A3F04902E11EE2D428 /* Protocols */, - 93861C173157E253A42A264F81336254 /* Screens */, - ED03717EC67D68756D0CA0452BCCD549 /* Support Files */, - ); - name = TABTestKit; - path = ../..; - sourceTree = ""; - }; 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -330,7 +309,7 @@ 18BB3C90BDF1A5F1D336E77B09EBB1F2 /* Development Pods */ = { isa = PBXGroup; children = ( - 13156ED4460199C179A65E78131501C9 /* TABTestKit */, + F6B926016CF4E01F84A53067AEAFC3D1 /* TABTestKit */, ); name = "Development Pods"; sourceTree = ""; @@ -363,6 +342,33 @@ path = "Target Support Files/Pods-TABTestKit_Example"; sourceTree = ""; }; + 2FA8FCAA9775EF55974403A605D05230 /* Extensions */ = { + isa = PBXGroup; + children = ( + 44A8EB04ABAA59D35775222D7010AA51 /* Array+Safe.swift */, + 409D0012B0FB4B730BAB1D8F54421886 /* CGVector+Offset.swift */, + 0AE3694A3ADDFDB10E97129C26B4C12F /* Element+defaults.swift */, + 9C79CDE470DD3341A0A34BD1C052A973 /* NormalizedCoordinate+Locations.swift */, + 28FC2FFEC625B0FA3CD74A1DA0360038 /* XCTFatalFail.swift */, + F5109E1F024CAEEB532DC9DC19512FF1 /* XCUIDevice+frame.swift */, + 2729792DB920A36618545DE30B46AA58 /* XCUIElement+hasKeyboardFocus.swift */, + 00B178BBB394C26212D58AE9F1A3376E /* XCUIElement+isVisible.swift */, + 58185D0DA6046583EA0F3992B136C18F /* XCUIElement+wait.swift */, + ); + name = Extensions; + path = TABTestKit/Classes/Extensions; + sourceTree = ""; + }; + 351F0940FBB3A7248B16461D572961DD /* BDD */ = { + isa = PBXGroup; + children = ( + D1AB2E805D93F75BF37BD873B9BF6585 /* Scenario.swift */, + B16CB0412D2D22CA01914F6BAE91169D /* Step.swift */, + ); + name = BDD; + path = TABTestKit/Classes/BDD; + sourceTree = ""; + }; 3AD53452E6F9B27B718A63F5668EEEAC /* Support Files */ = { isa = PBXGroup; children = ( @@ -387,134 +393,111 @@ name = iOS; sourceTree = ""; }; - 3F8ED93EBF60DA466D13FAEA865C7534 /* Biometrics */ = { + 456C8615377475D12A602BADDD74F8AC /* Elements */ = { isa = PBXGroup; children = ( - BA5720DEDCE2EE95A4B4F67D967D49EE /* Biometrics.m */, - E4AB311632441689EE39961281F1DCDF /* include */, - ); - name = Biometrics; - path = TABTestKit/Classes/Biometrics; - sourceTree = ""; - }; - 7F9009F1182E3BDED6F366005188C8B5 /* Pods */ = { - isa = PBXGroup; - children = ( - 0EAD851B593C7D383A5B9F66278D5202 /* ShowTime */, - ); - name = Pods; - sourceTree = ""; - }; - 7FD44DEFF2C312F744D47FD7616C45B6 /* Elements */ = { - isa = PBXGroup; - children = ( - CC8682021049AEAAB3DCD7C150A95FB2 /* ActivitySheet.swift */, - 63808F52E6B612D9117EA7F81237AAED /* Alert.swift */, - C0E4EAF339F88D5CC4828E58D2D044BA /* Attributes.swift */, - 8BFD6C0764CD43FFB743CE603C9FFD68 /* Button.swift */, - 5EE536BF6DFF2331078DBAADAAB49035 /* Cell.swift */, - 3A6FE0B2CF948C41E54AA50B9A2DBFE6 /* CollectionView.swift */, - 6980B17C7DE4DADEAE4CC75D703C54AC /* Header.swift */, - 288348B0E48E8832F351BC7B63303777 /* Icon.swift */, - E0A11CCC52D92B046F8A9FA9AC99AF4F /* Image.swift */, - 37CD9BB357BD4C98594C6FDB2372E203 /* Keyboard.swift */, - 34B6C40BC468C579D69B2CC4CAF320EC /* Label.swift */, - 71AC18C8449F986EBB02832E2A07A50F /* NavBar.swift */, - 8BF44A3860DAFA6F569C7C830A6F42C2 /* PageIndicator.swift */, - D07C967D9F11E4E64FCCB0515B63C928 /* Picker.swift */, - 2EB66BEA4359AD0F6E58CE8E61A7D651 /* ScrollView.swift */, - 539E3535E6A4796A5DC1359080B1B388 /* SecureTextField.swift */, - 2120EE906455FB83E2E09406CEF662C9 /* SegmentedControl.swift */, - 7FDC2516655ADE505B015B6C694D2328 /* Sheet.swift */, - 71BC30DBECCC085046C14F79A51C96FC /* Slider.swift */, - 7E675701574C76D0C286A4F6FFFFB5E5 /* Stepper.swift */, - A4F037B014CEDE4C8F4E39CB25E05DD2 /* Switch.swift */, - 1A139CE57C53F627624E7B2244D19E74 /* TabBar.swift */, - 9089417F0109865CDB124A2329BDD6FB /* Table.swift */, - 428C7E1FA710CF3CFD6B1D091E8DA215 /* TextField.swift */, - A44D97A79485D765FFC1885EF486035C /* TextView.swift */, - AB73F3D5CE27BEFC135A72853A578770 /* View.swift */, - 30B66790D2082BEC84983A6EF4BF5662 /* WebView.swift */, + EF3CF5B9ABEEA0EDC977AFA1D3653700 /* ActivitySheet.swift */, + E59DB98EC39EB118496B12CB4BE9C95C /* Alert.swift */, + 13B5D2EB83CCADFD7A1E0058D8A2B609 /* Attributes.swift */, + B906394D23C1F041CA4124C3B1FFF2F3 /* Button.swift */, + 1B0AB1F764B8B3C263215AFEFC01143A /* Cell.swift */, + 9DB84493C64353132E6F27571A43A3F6 /* CollectionView.swift */, + D5A869D57AC8EDD0ED0BC6DA6BD96660 /* DatePicker.swift */, + 5EFFE450A2ED2E1A13F6291EF95C4F19 /* Header.swift */, + B99BC68F60289EE3D2B827C55151ED07 /* Icon.swift */, + 310D0511477295F4E8D3A2CECA4D953A /* Image.swift */, + CB2B8E3108E83AEF1A861292D5E667A5 /* Keyboard.swift */, + 288D4CA144C64E07905184F6CBAAE867 /* Label.swift */, + 31BB533F397C5D4FD9F1F0910B521877 /* NavBar.swift */, + 1146247962F18FFC769B180EB17B0A5D /* PageIndicator.swift */, + B8F3ADBAFBD856493872E3528629CE26 /* Picker.swift */, + D3B5FEA5DCDCA2D582C00DE6B76CDC0B /* ScrollView.swift */, + 26E0C2DB87953FDF97B668A8BE0A744E /* SecureTextField.swift */, + 6B82B2F93A1BE5B4C63A8A4CB66E2BE9 /* SegmentedControl.swift */, + 270FD9B498764D8FEA3F42DB3007EE80 /* Sheet.swift */, + 97B6600289CF1454BB2B7A95FE5523AB /* Slider.swift */, + 996EB6D6F78C53D2C9B5D4FBC4C13D84 /* Stepper.swift */, + 833F3150E7163B9CDD9DC3F6667D24AE /* Switch.swift */, + 525F300EF39DA23BCE9573EFDF316426 /* TabBar.swift */, + 0930640B9F785B2533E020EBE1A83252 /* Table.swift */, + 2E96D37C7B544B5D3F8FABFDB3A65DFD /* TextField.swift */, + 2BEC99316035011631C40BFCF3197901 /* TextView.swift */, + 3343170286ADD343A663D64B81BB398B /* View.swift */, + B8889DDD0297F197C953F944C127449C /* WebView.swift */, ); name = Elements; path = TABTestKit/Classes/Elements; sourceTree = ""; }; - 84077031334557DE7388627A56AB6D8E /* Contexts */ = { + 6A7EBFBEC7844CA8D6AD72301695BC6E /* Apps */ = { isa = PBXGroup; children = ( - 58701D6FE5B0819E5ECE654224188DC0 /* AlertContext.swift */, - 5E21D12E79B060EEABD6D9C064FD58DC /* AppContext.swift */, - 3ABBEEBD584246EF61D103CF1C923A0E /* BiometricsContext.swift */, - E34A4D0E90CA84F5B686ECC33E84720D /* InteractionContext.swift */, - 9428A8F167FEB42DE18A7EBD813A80A5 /* KeyboardContext.swift */, - 48F3EF5E147F848C915D2D095DFA422D /* NavigationContext.swift */, - 609F80835D951294E6054EC34BE7DEAB /* SheetContext.swift */, - 20F6759CD9CFC4C1F5DA6B78EFFBB609 /* SystemPreferencesContext.swift */, + D633AFB6915D96D516CD0872E60E2415 /* App.swift */, + 063860976CBFED0CEABD0E3213F93A8E /* BaseApp.swift */, + 378BEB1C3B86DE939F26118388E95363 /* Safari.swift */, + 4A9E2EEC134947F1BCADD81AFCF32A5B /* Springboard.swift */, + E4508197147D357E5AC5F92B14089EC1 /* SystemPreferences.swift */, ); - name = Contexts; - path = TABTestKit/Classes/Contexts; + name = Apps; + path = TABTestKit/Classes/Apps; sourceTree = ""; }; - 868B417AD73B1B721B53EAAD193BB43C /* BDD */ = { + 7828C064F857E3C1EAE7C9B73201E07C /* Pod */ = { isa = PBXGroup; children = ( - D62EEF2B33953AEF764BCFFC3597CF30 /* Scenario.swift */, - 82E2D18AF412B9ED1E41630009454979 /* Step.swift */, + E97F64AF467C08D1FB58F73CF59C7EB4 /* LICENSE */, + 9636ED3E95A98C45C798682289AABB5A /* README.md */, + 5029125F64A9A19889E338765CD0299E /* TABTestKit.podspec */, ); - name = BDD; - path = TABTestKit/Classes/BDD; + name = Pod; sourceTree = ""; }; - 8872C50C8A2611470A75161595B511D1 /* Apps */ = { + 7983087C3129CCABC779E3D0EC3D3BFE /* include */ = { isa = PBXGroup; children = ( - 17DCECBA4EAAE4C07053D26FBE892D78 /* App.swift */, - B6FEDCB8E835BAD94013EC96B36228F2 /* BaseApp.swift */, - B10C6E6AABDEF73C8D9E647494F5FFFD /* Safari.swift */, - DE2ACC1384856F32BDEAF0B67C4ABBA6 /* Springboard.swift */, - 2ADFBF8A19DAC2594ED4548F1696E8C9 /* SystemPreferences.swift */, + FBA47936DBE7936C98F0EC94B9E8CEAC /* Biometrics.h */, + 76351B41B9C4CCADF915B35D11C74EAC /* Biometrics-Bridging-Header.h */, ); - name = Apps; - path = TABTestKit/Classes/Apps; + name = include; + path = include; sourceTree = ""; }; - 9302C6E69E759D3BC0598249955E45CD /* Pod */ = { + 7BBFEA5590048061B9C0E421C6913A22 /* Biometrics */ = { isa = PBXGroup; children = ( - 1FEECC2891FA9207E48C23F05FA63331 /* LICENSE */, - 8A3EB354FF57A4D5DF54965C128B21F6 /* README.md */, - 43D13F1FAF8603F38A44BA21F33C0912 /* TABTestKit.podspec */, + 516FEC36F601143A1A7D9C4483043E02 /* Biometrics.m */, + 7983087C3129CCABC779E3D0EC3D3BFE /* include */, ); - name = Pod; + name = Biometrics; + path = TABTestKit/Classes/Biometrics; sourceTree = ""; }; - 93861C173157E253A42A264F81336254 /* Screens */ = { + 7F9009F1182E3BDED6F366005188C8B5 /* Pods */ = { isa = PBXGroup; children = ( - CA36B114B42B335BCF6F8F96ED83733E /* SystemPreferencesGeneralScreen.swift */, - 0D9B3886BA63D85E95DC7C0E2C41C9C9 /* SystemPreferencesResetScreen.swift */, - 6AEC6A3A9A1E90D3C5F4B4A736C8E946 /* systemPreferencesRootScreen.swift */, + 0EAD851B593C7D383A5B9F66278D5202 /* ShowTime */, ); - name = Screens; - path = TABTestKit/Classes/Screens; + name = Pods; sourceTree = ""; }; - AD21999C0E45239ADD1FC10D908F2545 /* Extensions */ = { + A0704CDE6B94E4F4482FBC2CDDF1C733 /* Protocols */ = { isa = PBXGroup; children = ( - 6E78188EC60ABEC11AE165500D2CFFCB /* Array+Safe.swift */, - 238D94DB52E866485358E8A0DB1C35AF /* CGVector+Offset.swift */, - CD37B9C8E065DD3D17F7204B1B1FBD58 /* Element+defaults.swift */, - E78108E38AC455729C36C4C7EEDE146C /* NormalizedCoordinate+Locations.swift */, - DBE7A8817DB54096950BC6C6163FB2C0 /* XCTFatalFail.swift */, - D8F71C696D13A19D07E5810318AA9384 /* XCUIDevice+frame.swift */, - CD112D38CB4A7946791170C90730CC9D /* XCUIElement+hasKeyboardFocus.swift */, - EC56A10DF2C24631522AEF8CBF30B351 /* XCUIElement+isVisible.swift */, - 5D9D28DCEEADE9294B60676002E5F3AF /* XCUIElement+wait.swift */, + 5E1A9256A8DD33C89BAAB57A235F2804 /* Adjustable.swift */, + EDF4947C9E27BB97B30F06939F64E9E0 /* CellContaining.swift */, + 733C9EB16F7A1DF6E9E333F54B511D02 /* Completable.swift */, + A3EE8B1C53D5F26ACBFF010AEABAE28B /* Dismissable.swift */, + F5D608343740CFA224AF053B57F66F67 /* Editable.swift */, + 99645CE216E89A6655EC66E732CECD38 /* Element.swift */, + 0C38F549CCB18E20A90695795AEC5AC6 /* Refreshable.swift */, + 7EECF51F8060F5B8BFA4281A38586E83 /* Screen.swift */, + 11F2A3A2A26E9B32CC1F97EE09E1F276 /* Scrollable.swift */, + 9D132E7F63ED7978B99EF4975197150F /* ScrollableScreen.swift */, + E846D1B6D74DE542E5CA9527BD39F15F /* Tappable.swift */, + 42287AC46DDDC0D1AA7184E181C68C89 /* ValueRepresentable.swift */, ); - name = Extensions; - path = TABTestKit/Classes/Extensions; + name = Protocols; + path = TABTestKit/Classes/Protocols; sourceTree = ""; }; BF4BFAF140349307273B1343616A213B /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { @@ -534,6 +517,21 @@ path = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; sourceTree = ""; }; + C5A671305C6457E83B366DFDC513209E /* Support Files */ = { + isa = PBXGroup; + children = ( + 13BA1BD868EA98BFAF1291D67025BC2E /* TABTestKit.modulemap */, + 76218D3926FC14AD26D4F85F24A78116 /* TABTestKit-dummy.m */, + 0AF0A2E0D69C6A4EF1AB4402DB0A38EA /* TABTestKit-Info.plist */, + D87AACBC58E2252912FEC4132CF481CE /* TABTestKit-prefix.pch */, + 39F10CDF64864F18B3EEAAE5618F2993 /* TABTestKit-umbrella.h */, + 10B1611A1B50B1DA5565DB251CBF81F4 /* TABTestKit.debug.xcconfig */, + F3F8FE35B25F667403E340317EA9F9FD /* TABTestKit.release.xcconfig */, + ); + name = "Support Files"; + path = "Example/Pods/Target Support Files/TABTestKit"; + sourceTree = ""; + }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( @@ -546,29 +544,34 @@ ); sourceTree = ""; }; - E4AB311632441689EE39961281F1DCDF /* include */ = { + D76E1F2CA7E4E47763301BE5EBF14D5C /* Screens */ = { isa = PBXGroup; children = ( - 801D065A67CFE384AC907A0A08A80669 /* Biometrics.h */, - 825F5BBC95C9AD5A6FEF97516F438976 /* Biometrics-Bridging-Header.h */, + EFE83F853FC56745500A916FBFE0BD09 /* SystemPreferencesGeneralScreen.swift */, + 21A5843633E4D75EE8E1556F939DB746 /* SystemPreferencesResetScreen.swift */, + E8D0C69508B528128406927836573B67 /* systemPreferencesRootScreen.swift */, ); - name = include; - path = include; + name = Screens; + path = TABTestKit/Classes/Screens; sourceTree = ""; }; - ED03717EC67D68756D0CA0452BCCD549 /* Support Files */ = { + F6B926016CF4E01F84A53067AEAFC3D1 /* TABTestKit */ = { isa = PBXGroup; children = ( - 8D4D2A880C74185B385459D0F3ECFC51 /* TABTestKit.modulemap */, - 987BEA52658B9CB88A6F751D324F13AD /* TABTestKit-dummy.m */, - 96FC8F190C24B476CD216A18EC6FFCF2 /* TABTestKit-Info.plist */, - BBE255692AD510B938CB0017AEED4518 /* TABTestKit-prefix.pch */, - F00418B0925C8A96D09D1986BE6C1B6B /* TABTestKit-umbrella.h */, - 5EADE617313EDEFAE09DD75B5F7B1B98 /* TABTestKit.debug.xcconfig */, - 2139B5533BEBB89B1AAED6BD36926681 /* TABTestKit.release.xcconfig */, + C9017D3505D12281FD18FE6120B0A5DE /* TABTestCase.swift */, + 6A7EBFBEC7844CA8D6AD72301695BC6E /* Apps */, + 351F0940FBB3A7248B16461D572961DD /* BDD */, + 7BBFEA5590048061B9C0E421C6913A22 /* Biometrics */, + 09D33B2E9C4207D5883730B1CC953ACA /* Contexts */, + 456C8615377475D12A602BADDD74F8AC /* Elements */, + 2FA8FCAA9775EF55974403A605D05230 /* Extensions */, + 7828C064F857E3C1EAE7C9B73201E07C /* Pod */, + A0704CDE6B94E4F4482FBC2CDDF1C733 /* Protocols */, + D76E1F2CA7E4E47763301BE5EBF14D5C /* Screens */, + C5A671305C6457E83B366DFDC513209E /* Support Files */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/TABTestKit"; + name = TABTestKit; + path = ../..; sourceTree = ""; }; F7FD97F3CC6F18F4AAAE10E5DE0D2076 /* Targets Support Files */ = { @@ -583,29 +586,29 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 1546A71728D546C8D2A345948964F954 /* Headers */ = { + 0C0F97697811C405610881996CE9A656 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */, + 06F0BA93FE06A8B562D3D88F82D1FF43 /* Biometrics-Bridging-Header.h in Headers */, + 22AB496E63075EE106F9BA6B4D5CA93A /* Biometrics.h in Headers */, + 3DDA18D51471D4B5A53CA30FB7A4800E /* TABTestKit-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3F40A637A8ECE6C9BDF8E29F37A0BF86 /* Headers */ = { + 178DFB6B6BAB0C3D7EE913DF5BD7B1F0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - D0A0967C43C505030195B253B82C5E33 /* Biometrics-Bridging-Header.h in Headers */, - DCBC7977519A09E364F903C059F52EBF /* Biometrics.h in Headers */, - 795BE4C0034613920A5C128A01BB53C7 /* TABTestKit-umbrella.h in Headers */, + 3D53EE53A9983C943A862D0383369B25 /* Pods-TABTestKit_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A42B7353448BA3A32CB7E6407B908E88 /* Headers */ = { + AB86B7E9D6EAB08392DCE2A1DD93C606 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */, + 466B4F15E513602A12E004EE0DDC43EE /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -622,18 +625,18 @@ /* Begin PBXNativeTarget section */ 874D50CB9D57ED75CCA17B703E811C10 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */; + buildConfigurationList = D5B2987750CBF4D7AFC2D54182302C16 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */; buildPhases = ( - 1546A71728D546C8D2A345948964F954 /* Headers */, - 00CECBBC3E664D03D81137415A0472A9 /* Sources */, - 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */, - C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */, + AB86B7E9D6EAB08392DCE2A1DD93C606 /* Headers */, + 95ECBCD1734887D7515B9A6948AEC029 /* Sources */, + C5F45EBFBA89156FDAD636437B27CAAE /* Frameworks */, + A7EEE765EE1F67DCB0A455CBABB427F9 /* Resources */, ); buildRules = ( ); dependencies = ( - 29B54EBCF6BDA764E6C123A87DB15DE3 /* PBXTargetDependency */, - 0075D2073966C32030BEC69EF0AB521A /* PBXTargetDependency */, + 5881E651165AE9D8ABC7666E58180A86 /* PBXTargetDependency */, + 8E3FBE2043FCE69E094FCA9E048173C7 /* PBXTargetDependency */, ); name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; productName = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; @@ -642,17 +645,17 @@ }; 97F19241BD426C32C1C3FAF09F17AA80 /* Pods-TABTestKit_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */; + buildConfigurationList = 79E6F7CF76BD1BE7D1F1F80FC0ED4DFB /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */; buildPhases = ( - A42B7353448BA3A32CB7E6407B908E88 /* Headers */, - 9D50542E455CC3979D6826F7F6B472DE /* Sources */, - 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */, - F6CF63D106363A9CAB47BB8733EBE934 /* Resources */, + 178DFB6B6BAB0C3D7EE913DF5BD7B1F0 /* Headers */, + 8A4E3CDF39788C8C58AEFDD62DC67535 /* Sources */, + DA6508EB8D221EE762ADFF8A3478C2C9 /* Frameworks */, + E29162AAC217F2B0287889DDF6A6DDDE /* Resources */, ); buildRules = ( ); dependencies = ( - AD551C5862D47EE380A48110BB924316 /* PBXTargetDependency */, + 09312B6A29165575FE9715A639E3078A /* PBXTargetDependency */, ); name = "Pods-TABTestKit_Example"; productName = "Pods-TABTestKit_Example"; @@ -679,12 +682,12 @@ }; 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */ = { isa = PBXNativeTarget; - buildConfigurationList = CCF6C1C87AEA5A4C21DD5400C1FAC792 /* Build configuration list for PBXNativeTarget "TABTestKit" */; + buildConfigurationList = 46ECDB4027B6A2823CE01521E3099989 /* Build configuration list for PBXNativeTarget "TABTestKit" */; buildPhases = ( - 3F40A637A8ECE6C9BDF8E29F37A0BF86 /* Headers */, - 31A42377726E54269592FA374D7C2BCC /* Sources */, - FE2EECB8103069FC9D094A9453F0E5E4 /* Frameworks */, - B4FE060EE9C101E7883903D02A5DC22F /* Resources */, + 0C0F97697811C405610881996CE9A656 /* Headers */, + EA289E9666BF0769FC14C34FFE0689C0 /* Sources */, + 4898BC30FDFD419F968119FDEDDF05A7 /* Frameworks */, + 625FBD6C7BFFC36DD292F6F3A64839A9 /* Resources */, ); buildRules = ( ); @@ -733,21 +736,21 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - B4FE060EE9C101E7883903D02A5DC22F /* Resources */ = { + 625FBD6C7BFFC36DD292F6F3A64839A9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */ = { + A7EEE765EE1F67DCB0A455CBABB427F9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - F6CF63D106363A9CAB47BB8733EBE934 /* Resources */ = { + E29162AAC217F2B0287889DDF6A6DDDE /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -757,127 +760,128 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 00CECBBC3E664D03D81137415A0472A9 /* Sources */ = { + 8A4E3CDF39788C8C58AEFDD62DC67535 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */, + 178C0B2157C033E8875D33BAFCCD1A07 /* Pods-TABTestKit_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 31A42377726E54269592FA374D7C2BCC /* Sources */ = { + 95ECBCD1734887D7515B9A6948AEC029 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7BE3CA364825F8CD761A911CA29DEC00 /* ActivitySheet.swift in Sources */, - 31D832E6B1905EB24BD3914FB9E4E26D /* Adjustable.swift in Sources */, - 64BAD1DD1EA45B92B9AFF98CE73A5ED4 /* Alert.swift in Sources */, - 6972944BAF55F67D1613B40566B51B59 /* AlertContext.swift in Sources */, - B513DE81DB5A4FF5CB34A166242B6A1B /* App.swift in Sources */, - 863EE3A68BBD9D64B35BD86403CFE347 /* AppContext.swift in Sources */, - EA26D3491AF4F16202B2F0B5A231CCD8 /* Array+Safe.swift in Sources */, - 5D7A82AD1AFEF42A0E95D96C466A99E6 /* Attributes.swift in Sources */, - 58810327410B85FEB119763254AA4B0B /* BaseApp.swift in Sources */, - AE85E79E4A1CB7C55A422C5B8095547F /* Biometrics.m in Sources */, - 430AC0E3784C452CA9A861D9E6AC9E46 /* BiometricsContext.swift in Sources */, - 07FDD88F73EA8960D0F9E3C3EF4B6E4E /* Button.swift in Sources */, - B37EC5CB2875EB4529A536911F8660EE /* Cell.swift in Sources */, - 4B8A6E15476B0C9F6CBC5F274DE4FC7C /* CellContaining.swift in Sources */, - 6976C71365844907D1C897F35DF571C4 /* CGVector+Offset.swift in Sources */, - B689E311677718EBC18E8A65181E28D1 /* CollectionView.swift in Sources */, - 1C9C381CC36794C97A0D5856A243AECA /* Completable.swift in Sources */, - 930BB84CB3CD91D6C3F47344F1E3B716 /* Dismissable.swift in Sources */, - 320CD0432837527FF659853E14CCE0EB /* Editable.swift in Sources */, - A1DEEA086571A976344EACF308E8B05C /* Element+defaults.swift in Sources */, - DB455946D47F73E2186787172F680213 /* Element.swift in Sources */, - 3FFB5CEAF0482B2CC8FA486FAFE32A62 /* Header.swift in Sources */, - BB77F7A6807B6E204739EB0881E3B4CA /* Icon.swift in Sources */, - 8BB6FAEAAE345666BA4D0339B6512DA6 /* Image.swift in Sources */, - C5CD0C3F1C611A6F4C44A5752E91C2F5 /* InteractionContext.swift in Sources */, - F259DC0C2C71FE4DE5FAAD5C376C0601 /* Keyboard.swift in Sources */, - 87219A0833E2C2DB62240B62D31BCB17 /* KeyboardContext.swift in Sources */, - 9BB4E051EA402E2BFC9EC5D111B197FF /* Label.swift in Sources */, - 6E077301C2429F6C0F506EC83BFCDCB3 /* NavBar.swift in Sources */, - 59C61F9D86B646893D50711CC5C6801A /* NavigationContext.swift in Sources */, - 743F40249F12DD773D943A66974214F9 /* NormalizedCoordinate+Locations.swift in Sources */, - 64014F0876F2797A9BA0548CF916D20B /* PageIndicator.swift in Sources */, - 0B68E89B98365D41A7600239B2092EDD /* Picker.swift in Sources */, - B36FC689297C3EE65EB22BA68CD71863 /* Refreshable.swift in Sources */, - E7FB14F2DBF5C8E23887E8D7E4D0FA33 /* Safari.swift in Sources */, - 31E317402DD57DCD01147DD5A1B03793 /* Scenario.swift in Sources */, - C997CEF610E3041E1C3A5E95D08932B7 /* Screen.swift in Sources */, - 80A3AB6B2D68A0FE6AD65D9E406C0610 /* Scrollable.swift in Sources */, - 57001A8096851FD8002D6A76EE216715 /* ScrollableScreen.swift in Sources */, - B7CF969CE6C43590EF1C83A67707912A /* ScrollView.swift in Sources */, - 2A7568FFE5FC98F3A8A8C9EC2E6CFBBA /* SecureTextField.swift in Sources */, - 1CAD5E52058606696556F9E164DC8D5D /* SegmentedControl.swift in Sources */, - 0D0CA421CAB8CFB002F3A7958428F87D /* Sheet.swift in Sources */, - A491165E101133259FF943950187B759 /* SheetContext.swift in Sources */, - 23FED18C864803B6CD493F0DED90E82B /* Slider.swift in Sources */, - 11661C36C0918639523AE19766D96ADB /* Springboard.swift in Sources */, - 7FC59073193FDD929E3C7DF6C5F7DAC8 /* Step.swift in Sources */, - 859F328E4ABF338A9987E4A2A835B5D2 /* Stepper.swift in Sources */, - 96F4D54DC6D19C2B62038FB29CA14EFC /* Switch.swift in Sources */, - D9D0A3DCC7BEB64B8F1602523BA266E4 /* SystemPreferences.swift in Sources */, - BD175ABDA60A025E76859EC888C936CB /* SystemPreferencesContext.swift in Sources */, - 84207533D404FF5E0399A8E25C9E54B1 /* SystemPreferencesGeneralScreen.swift in Sources */, - 57ED8608C9256BFEE6338B4D9C6BA3D2 /* SystemPreferencesResetScreen.swift in Sources */, - A42C4B780986976455B79A6DCE9DA9E2 /* systemPreferencesRootScreen.swift in Sources */, - E434A53EF6A44B1AE884F2B627B29B32 /* TabBar.swift in Sources */, - 1090D87A7D515D6D41D894DD759E7A5F /* Table.swift in Sources */, - 1B1415B0B3DB73411748BF869920A0F2 /* TABTestCase.swift in Sources */, - 747122308EDDFEF93EF4E728E15CF1F6 /* TABTestKit-dummy.m in Sources */, - 208D7E4CF6D5816E2375BD8E79E45004 /* Tappable.swift in Sources */, - B4C82C8ACF0F022053310C472E055B93 /* TextField.swift in Sources */, - 4101E143EB6E39F850E73276237625DD /* TextView.swift in Sources */, - A0CB99B9EA85274E99D1FA593199CFE0 /* ValueRepresentable.swift in Sources */, - 63D3C37B825C72FC8B554ECEF6A1C189 /* View.swift in Sources */, - FDA563324A4D72C0C284BEF9380A869C /* WebView.swift in Sources */, - 63EA29EA99DA5C624B186F7CD629B14D /* XCTFatalFail.swift in Sources */, - BC63BDE0255954A2DA44B3F1D90E30D1 /* XCUIDevice+frame.swift in Sources */, - 5B39540A604873FB3180D8B28B8B88FA /* XCUIElement+hasKeyboardFocus.swift in Sources */, - D0FD68BBEC62BB6F4DB4D2F58E269A44 /* XCUIElement+isVisible.swift in Sources */, - 280DE7E704E54040AAD99A912D804B1C /* XCUIElement+wait.swift in Sources */, + EE7661A93B9C6E26F9D8C1D89491F76E /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9D50542E455CC3979D6826F7F6B472DE /* Sources */ = { + A3D1DBE0B97482C7D9E971A0A69C18FE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */, + 3C892CB7517172243FF2DA110515208C /* ShowTime-dummy.m in Sources */, + BA42C86F6872AC87ADF7110F65920109 /* ShowTime.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A3D1DBE0B97482C7D9E971A0A69C18FE /* Sources */ = { + EA289E9666BF0769FC14C34FFE0689C0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3C892CB7517172243FF2DA110515208C /* ShowTime-dummy.m in Sources */, - BA42C86F6872AC87ADF7110F65920109 /* ShowTime.swift in Sources */, + 037438E458F376D3ED3311C9C9C424D1 /* ActivitySheet.swift in Sources */, + 94D870EB04EAD571F26204DFA1DE5BF8 /* Adjustable.swift in Sources */, + 1EEECE824542B4516057559E98B80E1C /* Alert.swift in Sources */, + B169B20C039E782186565E2E52ACB787 /* AlertContext.swift in Sources */, + 24D51ED262D69888D4892E35D4B296B1 /* App.swift in Sources */, + 965F572E8A4577F5564E718B08CA0DEC /* AppContext.swift in Sources */, + E11FF4E3610B51833B5B25BFEC9439EB /* Array+Safe.swift in Sources */, + 67BDAF48BC71ADD6FFBD9BC3F60CC489 /* Attributes.swift in Sources */, + C45F1CA24939CFC0EA011576B184E517 /* BaseApp.swift in Sources */, + C28393A7BA4949E7EC11BA68290E0A89 /* Biometrics.m in Sources */, + 672CCDA6A5E3879637348218DCC4A967 /* BiometricsContext.swift in Sources */, + 1FDB0E9D01FF2441B2C4BFDB3367E927 /* Button.swift in Sources */, + 7E50C1883D363FEBF04C6B1F0D12E834 /* Cell.swift in Sources */, + 56D50EAF7965D5AE0E5181A61398C2FE /* CellContaining.swift in Sources */, + F19E657512049CDD2FD1414E408073C8 /* CGVector+Offset.swift in Sources */, + 84B1885DB2D83AFD090C3CCCA8472C4E /* CollectionView.swift in Sources */, + 707000A4026440BF85F559F095DEB890 /* Completable.swift in Sources */, + 030C8476D8BE89065E5328E67EF56752 /* DatePicker.swift in Sources */, + 6D14253BA9582C897106391DA95677C5 /* Dismissable.swift in Sources */, + 073BB799FC643900737132A1DAC712C1 /* Editable.swift in Sources */, + F67B7C7FDE9074CDCFA68E004947AA92 /* Element+defaults.swift in Sources */, + A41B5CCF42789157090E258FE089586C /* Element.swift in Sources */, + 6BEE0D6E2E2AB96DD64F04F9B4C33B2D /* Header.swift in Sources */, + 25CB8336A1F82DDC9CD5005EFBB7F29B /* Icon.swift in Sources */, + FB1E11C5834A94EA4E92203A824C7712 /* Image.swift in Sources */, + 205F7DF3026977DA94FAC59A3D0B9F32 /* InteractionContext.swift in Sources */, + EBD37C76644005FA6D30F6FCAA57EA58 /* Keyboard.swift in Sources */, + 1CF73984D3297083B164E8AFDFB68A9D /* KeyboardContext.swift in Sources */, + DA63CBAA1FD4B0B8D56B351BC7B277F4 /* Label.swift in Sources */, + 74FE7D271C05B5F5CF16CD40289ED053 /* NavBar.swift in Sources */, + 1F4FEC3156C65D28F6B9458BD75E2F88 /* NavigationContext.swift in Sources */, + E09FEFAFFD39157648FFABB51E2EB3EA /* NormalizedCoordinate+Locations.swift in Sources */, + 697DDFCEB90BB157DB000D322CD19D5C /* PageIndicator.swift in Sources */, + B355BFBF02732C2EFDFCC79CE84DBEEF /* Picker.swift in Sources */, + C9939C0BDAD41AA1F33BE52342C396FB /* Refreshable.swift in Sources */, + D83B7250A5C7CDFE4F64E0EEDD639892 /* Safari.swift in Sources */, + FB0F482C6EC685FC996684E7E0C58A81 /* Scenario.swift in Sources */, + 1769E66936A8148901759A505D1134D8 /* Screen.swift in Sources */, + B3F91A927D31FD30CAE8C721D3CDD916 /* Scrollable.swift in Sources */, + 297A89E5D9EA42B0F082560478BD138D /* ScrollableScreen.swift in Sources */, + 981319D676A5ECFF485A539211C464A2 /* ScrollView.swift in Sources */, + CE96ADAED2FDB8BB47A327A08562475C /* SecureTextField.swift in Sources */, + 11278B65581A09C350D0FE282C241B2F /* SegmentedControl.swift in Sources */, + 7FF9CA487AB366CCB8F77DD7B22AB8F4 /* Sheet.swift in Sources */, + AE182ECBB0181991D6E601FF083869A3 /* SheetContext.swift in Sources */, + 481F82DB88069C6B92FF1778580B39F6 /* Slider.swift in Sources */, + E558577851F19778E543AE6D7DCFF30A /* Springboard.swift in Sources */, + D8771E317705B1A18BFDE9E3C391EF7F /* Step.swift in Sources */, + E3AA3BD0B36A8D7D0DDADCA23C123130 /* Stepper.swift in Sources */, + 232838548112A58B1405F1649A3C8D5A /* Switch.swift in Sources */, + 4CF2489EF04BC5D95D8CC7B883F8F136 /* SystemPreferences.swift in Sources */, + 0E61D42891FE5FEC32F4F79B64A0A31A /* SystemPreferencesContext.swift in Sources */, + 96CF87699933D48A91FDD92BBBBD3A96 /* SystemPreferencesGeneralScreen.swift in Sources */, + 145EF16BC9E3275A3BE2EA2E24CCC25B /* SystemPreferencesResetScreen.swift in Sources */, + 214C5AC2BEB372773B81A89E3CA9649E /* systemPreferencesRootScreen.swift in Sources */, + B390F02F5BF0E704C2530E6B864C8DA4 /* TabBar.swift in Sources */, + 8722F7FE01B09905CE43F5FE2F84E4AB /* Table.swift in Sources */, + 723BE432EFB0A62753F492943A3A67B4 /* TABTestCase.swift in Sources */, + B958E7CE0D4615F3F9D93D4E33F4DF36 /* TABTestKit-dummy.m in Sources */, + 6693CC10486D411C5AEE771A4DED0AB4 /* Tappable.swift in Sources */, + C5E46852D59375EE4308956FD7ACADE6 /* TextField.swift in Sources */, + E9BA1D90C07B623069A2D6BB1686441B /* TextView.swift in Sources */, + F566D30798059D2B906BF3245752870F /* ValueRepresentable.swift in Sources */, + E87367920E610653998714517B01869C /* View.swift in Sources */, + 6FB96E7AE7560CFFE96A83D5A2B9FFC9 /* WebView.swift in Sources */, + 9D1D06B968FEF34BEFBC5DA3B5F211A3 /* XCTFatalFail.swift in Sources */, + 22824B0B33B4C8170ED1DE4ABC96A61A /* XCUIDevice+frame.swift in Sources */, + D86774E04E3EAF51A19C123A7D21000A /* XCUIElement+hasKeyboardFocus.swift in Sources */, + 9914EC8EA7D7B376F4F8046D2F5A8380 /* XCUIElement+isVisible.swift in Sources */, + 4D991C4CAEF57EB28E0F107BCBCC5464 /* XCUIElement+wait.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0075D2073966C32030BEC69EF0AB521A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = TABTestKit; - target = 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */; - targetProxy = 04C0ED95764AD70BF43EFA78B032313B /* PBXContainerItemProxy */; - }; - 29B54EBCF6BDA764E6C123A87DB15DE3 /* PBXTargetDependency */ = { + 09312B6A29165575FE9715A639E3078A /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ShowTime; target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; - targetProxy = 0BF10D5355C2C44AED2A9D0480F98BF0 /* PBXContainerItemProxy */; + targetProxy = 08A99BEA9208FCFDB1062DADA9B40487 /* PBXContainerItemProxy */; }; - AD551C5862D47EE380A48110BB924316 /* PBXTargetDependency */ = { + 5881E651165AE9D8ABC7666E58180A86 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = ShowTime; target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; - targetProxy = 5E46CC12080B1A9E37FBD7588D02584F /* PBXContainerItemProxy */; + targetProxy = 34A9B585AC52D00944BC81029C8F615A /* PBXContainerItemProxy */; + }; + 8E3FBE2043FCE69E094FCA9E048173C7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = TABTestKit; + target = 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */; + targetProxy = F598D08DAB210C6E35AA46DCC7485897 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -914,9 +918,9 @@ }; name = Debug; }; - 0BFA6A1F08DB617ED88EA69685ABDDE4 /* Release */ = { + 4AA9A6590BE6067B119FD29AD22BC1DA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; + baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; @@ -930,12 +934,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -944,6 +948,39 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 5461FC43C9BCAC3590847BBEA1352C97 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F3F8FE35B25F667403E340317EA9F9FD /* TABTestKit.release.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.4; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; + PRODUCT_MODULE_NAME = TABTestKit; + PRODUCT_NAME = TABTestKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -1014,9 +1051,9 @@ }; name = Debug; }; - 7B8B0B183596E59238D618A15FFBF496 /* Release */ = { + 648819B546FFE3C9C27567423DC890F6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; + baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; @@ -1030,12 +1067,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1044,11 +1081,10 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 9C013AE42837DDBED81C8A67FA1E1264 /* Release */ = { isa = XCBuildConfiguration; @@ -1143,9 +1179,9 @@ }; name = Release; }; - A6CE0683F803CFA02777A77FDC2CA534 /* Release */ = { + B5CE3F147104D954E37FBE9577891D2E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2139B5533BEBB89B1AAED6BD36926681 /* TABTestKit.release.xcconfig */; + baseConfigurationReference = 10B1611A1B50B1DA5565DB251CBF81F4 /* TABTestKit.debug.xcconfig */; buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1171,15 +1207,14 @@ SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - C3C3A1E9CBD3ACA59EE6FEB79CB855BF /* Debug */ = { + C146F080B54211E12596F1567C627B35 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; + baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; @@ -1193,12 +1228,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1207,14 +1242,15 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - CE151341453F4E20E4C42D1306D5AC47 /* Debug */ = { + FD5F6DC5A1972D95AB74B8893C7F13BD /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; + baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ARCHS = "$(ARCHS_STANDARD_64_BIT)"; @@ -1228,12 +1264,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.4; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1242,61 +1278,29 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; - }; - DE5ABB1E367ED2B2430D53D7693DB72A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 5EADE617313EDEFAE09DD75B5F7B1B98 /* TABTestKit.debug.xcconfig */; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; - PRODUCT_MODULE_NAME = TABTestKit; - PRODUCT_NAME = TABTestKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; + name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { + 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { isa = XCConfigurationList; buildConfigurations = ( - CE151341453F4E20E4C42D1306D5AC47 /* Debug */, - 0BFA6A1F08DB617ED88EA69685ABDDE4 /* Release */, + 040B3C23F3536587D5A4EB91C89D63A1 /* Debug */, + 9C013AE42837DDBED81C8A67FA1E1264 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { + 46ECDB4027B6A2823CE01521E3099989 /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 040B3C23F3536587D5A4EB91C89D63A1 /* Debug */, - 9C013AE42837DDBED81C8A67FA1E1264 /* Release */, + B5CE3F147104D954E37FBE9577891D2E /* Debug */, + 5461FC43C9BCAC3590847BBEA1352C97 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1310,20 +1314,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - CCF6C1C87AEA5A4C21DD5400C1FAC792 /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { + 79E6F7CF76BD1BE7D1F1F80FC0ED4DFB /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - DE5ABB1E367ED2B2430D53D7693DB72A /* Debug */, - A6CE0683F803CFA02777A77FDC2CA534 /* Release */, + 4AA9A6590BE6067B119FD29AD22BC1DA /* Debug */, + FD5F6DC5A1972D95AB74B8893C7F13BD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { + D5B2987750CBF4D7AFC2D54182302C16 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - C3C3A1E9CBD3ACA59EE6FEB79CB855BF /* Debug */, - 7B8B0B183596E59238D618A15FFBF496 /* Release */, + 648819B546FFE3C9C27567423DC890F6 /* Debug */, + C146F080B54211E12596F1567C627B35 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit-Example.xcscheme b/Example/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit-Example.xcscheme index cbba1384..5e8123d1 100644 --- a/Example/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit-Example.xcscheme +++ b/Example/TABTestKit.xcodeproj/xcshareddata/xcschemes/TABTestKit-Example.xcscheme @@ -60,6 +60,13 @@ ReferencedContainer = "container:TABTestKit.xcodeproj"> + + + + - + - + @@ -163,7 +163,7 @@ - + @@ -316,6 +340,9 @@ + + + @@ -332,6 +359,7 @@ + diff --git a/Example/TABTestKit/OtherElementsController.swift b/Example/TABTestKit/OtherElementsController.swift index 71552935..5f374cb6 100644 --- a/Example/TABTestKit/OtherElementsController.swift +++ b/Example/TABTestKit/OtherElementsController.swift @@ -33,7 +33,11 @@ final class OtherElementsController: UIViewController { @IBOutlet private var pageControl: UIPageControl! @IBOutlet private var imageView: UIImageView! @IBOutlet private var picker: UIPickerView! - + @IBOutlet private var timePicker: UIDatePicker! + @IBOutlet private var datePicker: UIDatePicker! + @IBOutlet private var dateTimePicker: UIDatePicker! + @IBOutlet private var countDownTimerPicker: UIDatePicker! + override func viewDidLoad() { super.viewDidLoad() scrollView.accessibilityIdentifier = "MyScrollView" @@ -58,6 +62,10 @@ final class OtherElementsController: UIViewController { picker.accessibilityIdentifier = "ExamplePicker" picker.dataSource = self picker.delegate = self + timePicker.accessibilityIdentifier = "ExampleTimePicker" + datePicker.accessibilityIdentifier = "ExampleDatePicker" + dateTimePicker.accessibilityIdentifier = "ExampleDateTimePicker" + countDownTimerPicker.accessibilityIdentifier = "ExampleCountDownTimerPicker" } @IBAction private func buttonTapped() { @@ -67,6 +75,13 @@ final class OtherElementsController: UIViewController { } +extension OtherElementsController: UITextFieldDelegate { + func textFieldShouldReturn(_ textField: UITextField) -> Bool { + textField.resignFirstResponder() + return true + } +} + extension OtherElementsController: UIPickerViewDataSource & UIPickerViewDelegate { var values: [String] { return ["Hello", "World"] } diff --git a/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift b/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift index 92b2a9f7..e960a439 100644 --- a/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift +++ b/Example/TABTestKit_ExampleUITests/OtherElementsScreen.swift @@ -33,6 +33,10 @@ struct OtherElementsScreen: Screen { let pageIndicator = PageIndicator(id: "ExamplePageControl") let image = Image(id: "ExampleImage") let picker = Picker(id: "ExamplePicker") + let timePicker = DatePicker(id: "ExampleTimePicker") + let datePicker = DatePicker(id: "ExampleDatePicker") + let dateTimePicker = DatePicker(id: "ExampleDateTimePicker") + let countdownTimerPicker = DatePicker(id: "ExampleCountDownTimerPicker") let shareSheet = ActivitySheet() } diff --git a/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift b/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift index 06569c45..7702f2d9 100644 --- a/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift +++ b/Example/TABTestKit_ExampleUITests/OtherElementsTests.swift @@ -125,7 +125,8 @@ final class OtherElementsTests: TABTestCase, SystemPreferencesContext { } Scenario("Seeing and interacting with the slider") { - Given(I: see(otherElementsScreen.slider)) + Given(I: tap(keyboard.key("return", isActuallyButton: true))) + And(I: see(otherElementsScreen.slider)) When(I: adjust(otherElementsScreen.slider, to: 1)) Then(I: adjust(otherElementsScreen.slider, to: 0)) } @@ -166,6 +167,94 @@ final class OtherElementsTests: TABTestCase, SystemPreferencesContext { When(I: adjust(otherElementsScreen.picker.wheel(0), to: "World")) Then(the: value(of: otherElementsScreen.picker.wheel(0), is: "World")) } + + Scenario("Seeing and interacting with the time picker") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.timePicker, is: .visible)) + And(I: see(otherElementsScreen.timePicker)) + And(the: value(of: otherElementsScreen.timePicker.wheel(0), is: "9 o’clock")) + When(I: adjust(otherElementsScreen.timePicker.wheel(0), to: "10")) + Then(the: value(of: otherElementsScreen.timePicker.wheel(0), is: "10 o’clock")) + } + + Scenario("Interacting with the time picker for minutes") { + Given(I: see(otherElementsScreen.timePicker)) + And(the: value(of: otherElementsScreen.timePicker.wheel(1), is: "41 minutes")) + When(I: adjust(otherElementsScreen.timePicker.wheel(1), to: "42")) + Then(the: value(of: otherElementsScreen.timePicker.wheel(1), is: "42 minutes")) + } + + Scenario("Interacting with the time picker for period") { + Given(I: see(otherElementsScreen.timePicker)) + And(the: value(of: otherElementsScreen.timePicker.wheel(2), is: "AM")) + When(I: adjust(otherElementsScreen.timePicker.wheel(2), to: "PM")) + Then(the: value(of: otherElementsScreen.timePicker.wheel(2), is: "PM")) + } + + Scenario("Seeing and interacting with the date picker") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.datePicker, is: .visible)) + And(I: see(otherElementsScreen.datePicker)) + And(the: value(of: otherElementsScreen.datePicker.wheel(0), is: "January")) + When(I: adjust(otherElementsScreen.datePicker.wheel(0), to: "February")) + Then(the: value(of: otherElementsScreen.datePicker.wheel(0), is: "February")) + } + + Scenario("Interacting with the date picker for day") { + Given(I: see(otherElementsScreen.datePicker)) + And(the: value(of: otherElementsScreen.datePicker.wheel(1), is: "9")) + When(I: adjust(otherElementsScreen.datePicker.wheel(1), to: "10")) + Then(the: value(of: otherElementsScreen.datePicker.wheel(1), is: "10")) + } + + Scenario("Interacting with the date picker for year") { + Given(I: see(otherElementsScreen.datePicker)) + And(the: value(of: otherElementsScreen.datePicker.wheel(2), is: "2007")) + When(I: adjust(otherElementsScreen.datePicker.wheel(2), to: "2020")) + Then(the: value(of: otherElementsScreen.datePicker.wheel(2), is: "2020")) + } + + Scenario("Seeing and interacting with the date time picker") { + Given(I: scroll(otherElementsScreen, .downwards, until: otherElementsScreen.dateTimePicker, is: .visible)) + And(I: see(otherElementsScreen.datePicker)) + And(the: value(of: otherElementsScreen.dateTimePicker.wheel(0), is: "Tue, Jan 9")) + When(I: adjust(otherElementsScreen.dateTimePicker.wheel(0), to: "Jan 10")) + Then(the: value(of: otherElementsScreen.dateTimePicker.wheel(0), is: "Wed, Jan 10")) + } + + Scenario("Interacting with the date time picker for hour") { + Given(I: see(otherElementsScreen.dateTimePicker)) + And(the: value(of: otherElementsScreen.dateTimePicker.wheel(1), is: "9 o’clock")) + When(I: adjust(otherElementsScreen.dateTimePicker.wheel(1), to: "10")) + Then(the: value(of: otherElementsScreen.dateTimePicker.wheel(1), is: "10 o’clock")) + } + + Scenario("Interacting with the date time picker for minute") { + Given(I: see(otherElementsScreen.dateTimePicker)) + And(the: value(of: otherElementsScreen.dateTimePicker.wheel(2), is: "41 minutes")) + When(I: adjust(otherElementsScreen.dateTimePicker.wheel(2), to: "42")) + Then(the: value(of: otherElementsScreen.dateTimePicker.wheel(2), is: "42 minutes")) + } + + Scenario("Interacting with the date time picker for period") { + Given(I: see(otherElementsScreen.dateTimePicker)) + And(the: value(of: otherElementsScreen.dateTimePicker.wheel(3), is: "AM")) + When(I: adjust(otherElementsScreen.dateTimePicker.wheel(3), to: "PM")) + Then(the: value(of: otherElementsScreen.dateTimePicker.wheel(3), is: "PM")) + } + + Scenario("Seeing and interacting with the count down timer picker") { + Given(I: scroll(otherElementsScreen, .from(CGVector(dx: 0.95, dy: 0.8), to: CGVector(dx: 0.95, dy: 0.3)), until: otherElementsScreen.countdownTimerPicker, is: .visible)) // We need to scroll down on the edge of the screen, otherwise it will scroll one of the picker. + And(I: see(otherElementsScreen.countdownTimerPicker)) + And(the: value(of: otherElementsScreen.countdownTimerPicker.wheel(0), is: "0 hours")) + When(I: adjust(otherElementsScreen.countdownTimerPicker.wheel(0), to: "1")) + Then(the: value(of: otherElementsScreen.countdownTimerPicker.wheel(0), is: "1 hour")) + } + + Scenario("Interacting with the date time picker for hour") { + Given(I: see(otherElementsScreen.countdownTimerPicker)) + And(the: value(of: otherElementsScreen.countdownTimerPicker.wheel(1), is: "1 min")) + When(I: adjust(otherElementsScreen.countdownTimerPicker.wheel(1), to: "59")) + Then(the: value(of: otherElementsScreen.countdownTimerPicker.wheel(1), is: "59 min")) + } } } diff --git a/README.md b/README.md index 9454406e..2d42e7f8 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ func test_login() { - [`Stepper`](#stepper) - [`SegmentedControl`](#segmentedcontrol) - [`Picker`](#picker) + - [`DatePicker`](#datePicker) - [`PageIndicator`](#pageindicator) - [`WebView`](#webview) - [`Image`](#image) @@ -1122,6 +1123,35 @@ adjust the value to another `String`: wheel.adjust(to: "New value") ``` +#### DatePicker + +`DatePicker` represents a date picker in the app: + +```swift +let datePicker = DatePicker(id: "MyPicker") +``` + +For iOS 13 and under. You don't interact with the picker directly, instead you interact with the wheels +inside the picker. To interact with a wheel, first ask the picker for it: + +```swift +let wheel = datePicker.wheel(0) +``` + +Since a `DatePicker`'s `Wheel` conforms to [`ValueRepresentable`](#valuerepresentable), +you can get the string value: + +```swift +XCTAssertEqual(wheel.value, "The value") +``` + +Since a `DatePicker`'s `Wheel` also conforms to [`Adjustable`](#adjustable), you can +adjust the value to another `String`: + +```swift +wheel.adjust(to: "New value") +``` + #### PageIndicator `PageIndicator` represents a page control or page indicator in the app: diff --git a/TABTestKit.xcodeproj/project.pbxproj b/TABTestKit.xcodeproj/project.pbxproj index 40306421..576485cc 100644 --- a/TABTestKit.xcodeproj/project.pbxproj +++ b/TABTestKit.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 70D1C4DD24BDEFE70047A2EB /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = 70D1C4DC24BDEFE70047A2EB /* Image.swift */; }; 9536C80D2412A7D100D4B362 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9536C80C2412A7D100D4B362 /* ActivitySheet.swift */; }; 957289A72481452C00DBC55D /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957289A62481452C00DBC55D /* Icon.swift */; }; + 95AB580024E55DE200016595 /* DatePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AB57FF24E55DE200016595 /* DatePicker.swift */; }; 95D471C22397C8C1002BEFCA /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4716B2397C8C1002BEFCA /* SheetContext.swift */; }; 95D471C32397C8C1002BEFCA /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4716C2397C8C1002BEFCA /* BiometricsContext.swift */; }; 95D471C42397C8C1002BEFCA /* NavigationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95D4716D2397C8C1002BEFCA /* NavigationContext.swift */; }; @@ -86,6 +87,7 @@ 70D1C4DC24BDEFE70047A2EB /* Image.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; 9536C80C2412A7D100D4B362 /* ActivitySheet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; 957289A62481452C00DBC55D /* Icon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; + 95AB57FF24E55DE200016595 /* DatePicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatePicker.swift; sourceTree = ""; }; 95D471462397C1A9002BEFCA /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 95D4715D2397C8C1002BEFCA /* Biometrics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; 95D471652397C8C1002BEFCA /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; @@ -265,6 +267,7 @@ 95D4719A2397C8C1002BEFCA /* Button.swift */, 95D4718A2397C8C1002BEFCA /* Cell.swift */, 95D471892397C8C1002BEFCA /* CollectionView.swift */, + 95AB57FF24E55DE200016595 /* DatePicker.swift */, 95D4718F2397C8C1002BEFCA /* Header.swift */, 957289A62481452C00DBC55D /* Icon.swift */, 70D1C4DC24BDEFE70047A2EB /* Image.swift */, @@ -470,6 +473,7 @@ 9536C80D2412A7D100D4B362 /* ActivitySheet.swift in Sources */, 95D471EC2397C8C1002BEFCA /* SecureTextField.swift in Sources */, 95D471FA2397C8C1002BEFCA /* Tappable.swift in Sources */, + 95AB580024E55DE200016595 /* DatePicker.swift in Sources */, 95EB8E57239E4CC4007336E8 /* Step.swift in Sources */, 95D471EE2397C8C1002BEFCA /* Button.swift in Sources */, 95D471E72397C8C1002BEFCA /* NavBar.swift in Sources */, diff --git a/TABTestKit/Classes/Elements/DatePicker.swift b/TABTestKit/Classes/Elements/DatePicker.swift new file mode 100644 index 00000000..057277f6 --- /dev/null +++ b/TABTestKit/Classes/Elements/DatePicker.swift @@ -0,0 +1,63 @@ +// +// DatePicker.swift +// TABTestKit +// +// Created by Roger Tan on 12/08/2020. +// + +import XCTest + +/// Represents a DatePicker (UIDatePicker on iOS). +/// To interact with the wheels you must first +/// ask the picker for one of it's wheels, by index. +public struct DatePicker: Element { + + public let id: String? + public let index: Int + public let parent: Element + public let type: XCUIElement.ElementType = .datePicker + + /// Returns the number of wheels the picker contains. + public var numberOfWheels: Int { return underlyingXCUIElement.pickerWheels.count } + + public init(id: String, index: Int = 0, parent: Element = App.shared) { + self.id = id + self.index = index + self.parent = parent + } + + /// Returns the wheel for the given index. + /// + /// - Parameter index: The index (starting at 0) of the wheel you want to retrieve. + /// - Returns: The wheel at the provided index. + public func wheel(_ index: Int) -> Wheel { + return Wheel(index: index, picker: self) + } + +} + +public extension DatePicker { + + /// Represents a wheel in a UIDatePicker. You can create these yourselves, but it's + /// recommended to create a DatePicker instead and ask it for the wheels. + struct Wheel: Element, ValueRepresentable, Adjustable { + + public let id: String? = nil + public let index: Int + public let parent: Element + public let type: XCUIElement.ElementType = .pickerWheel + public var value: String { return underlyingXCUIElement.value as? String ?? "" } + + public init(index: Int, picker: DatePicker) { + self.index = index + self.parent = picker + } + + public func adjust(to newValue: String) { + guard newValue != value else { XCTFatalFail("Date Picker is already in state \(newValue)") } + underlyingXCUIElement.adjust(toPickerWheelValue: newValue) + } + + } + +} From bf65a762ae963bf76e8117538e9c85cd2b61a372 Mon Sep 17 00:00:00 2001 From: Roger TAN Date: Fri, 14 Aug 2020 14:09:49 +0200 Subject: [PATCH 097/103] Update badges of README.md (#130) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2d42e7f8..6f87b0fc 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,10 @@ # TABTestKit -[![Build Status](https://travis-ci.org/theappbusiness/TABTestKit.svg?branch=develop)](https://travis-ci.org/theappbusiness/TABTestKit) +[![TABTestKit CI](https://github.com/theappbusiness/TABTestKit/workflows/TABTestKit%20CI/badge.svg)](https://github.com/theappbusiness/TABTestKit/actions) [![Version](https://img.shields.io/cocoapods/v/TABTestKit.svg?style=flat)](http://cocoapods.org/pods/TABTestKit) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) +[![Swift Package Manager compatible](https://img.shields.io/badge/Swift%20Package%20Manager-compatible-brightgreen.svg)](https://github.com/apple/swift-package-manager) [![License](https://img.shields.io/cocoapods/l/TABTestKit.svg?style=flat)](http://cocoapods.org/pods/TABTestKit) [![Platform](https://img.shields.io/cocoapods/p/TABTestKit.svg?style=flat)](http://cocoapods.org/pods/TABTestKit) From 21976df3c00586b3221510a71004462bbe0a524c Mon Sep 17 00:00:00 2001 From: Roger TAN Date: Fri, 14 Aug 2020 15:55:05 +0200 Subject: [PATCH 098/103] Chore/upload test result (#131) * Update ci.yml * Update ci.yml * Update ci.yml * Update ci.yml * Update OtherElementsTests.swift Test failure * Update OtherElementsTests.swift --- .github/workflows/ci.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 61b5cc43..19d5c4d1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,13 +13,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v1 + uses: actions/checkout@v2 - name: Set Xcode version to 10.3 run: sudo xcode-select -switch /Applications/Xcode_10.3.app - name: Build for testing run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone Xs,OS=12.4' - name: Test on iPhone Xs run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone Xs,OS=12.4' + - name: Archive tests results + if: ${{ failure() }} + uses: actions/upload-artifact@v2 + with: + name: Test-TABTestKit-Xcode10-iOS12.xcresult + path: /Users/runner/Library/Developer/Xcode/DerivedData/*/Logs/Test/*.xcresult test_xcode11_ios13: name: Run tests on Xcode 11 and iOS 13 @@ -27,13 +33,19 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v1 + uses: actions/checkout@v2 - name: Set Xcode version to 11.6 run: sudo xcode-select -switch /Applications/Xcode_11.6.app - name: Build for testing run: xcodebuild build-for-testing -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' - name: Test on iPhone 11 run: xcodebuild test-without-building -workspace Example/TABTestKit.xcworkspace -scheme TABTestKit-Example -destination 'platform=iOS Simulator,name=iPhone 11,OS=13.6' + - name: Archive tests results + if: ${{ failure() }} + uses: actions/upload-artifact@v2 + with: + name: Test-TABTestKit-Xcode11-iOS13.xcresult + path: /Users/runner/Library/Developer/Xcode/DerivedData/*/Logs/Test/*.xcresult build_spm: name: Ensure Swift Package Manager builds From 845083db831f335f480bc14ef36e691bcf410636 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Fri, 14 Aug 2020 15:04:56 +0100 Subject: [PATCH 099/103] Updated library info for release 1.7.0 --- CHANGELOG.md | 3 +- .../TABTestKit/TABTestKit-Info.plist | 40 +++++++++---------- TABTestKit.podspec | 2 +- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 518e0837..d02c61ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,8 @@ # CHANGELOG -## Pending +## 1.7.0 - Added support for double tapping, long pressing and two finger tapping, with default implementations for any Elements that conform to Tappable. (issue #88) -- Configured Travis to build and test on multiple Xcodes - Added Swift Package Manager support - Added a `Refreshable` protocol so for each element/screen that conforms to protocol `refresh` function can be defined - Added a `DatePicker` element. (issue #55) diff --git a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist index 1b1d3d06..a63e3b84 100644 --- a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist +++ b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.6.1 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.7.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + diff --git a/TABTestKit.podspec b/TABTestKit.podspec index a7f67179..9cc3d789 100644 --- a/TABTestKit.podspec +++ b/TABTestKit.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TABTestKit' - s.version = '1.6.1' + s.version = '1.7.0' s.summary = 'Strongly typed Swift wrapper around XCTest / XCUI, enabling you to write BDD-style automation tests, without writing much code at all.' s.homepage = 'https://github.com/theappbusiness/TABTestKit' s.license = { :type => 'MIT', :file => 'LICENSE' } From 28eec4761ed79f737e46e3adf6f1fe9d1ff62348 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Fri, 14 Aug 2020 15:13:09 +0100 Subject: [PATCH 100/103] Updated pod information --- Example/Podfile.lock | 12 +++--- .../Local Podspecs/TABTestKit.podspec.json | 4 +- Example/Pods/Manifest.lock | 12 +++--- .../TABTestKit/TABTestKit-Info.plist | 40 +++++++++---------- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/Example/Podfile.lock b/Example/Podfile.lock index ef0667c9..c4832699 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,10 +1,10 @@ PODS: - ShowTime (2.5.2) - - TABTestKit (1.6.1): - - TABTestKit/BDD (= 1.6.1) - - TABTestKit/Biometrics (= 1.6.1) - - TABTestKit/BDD (1.6.1) - - TABTestKit/Biometrics (1.6.1) + - TABTestKit (1.7.0): + - TABTestKit/BDD (= 1.7.0) + - TABTestKit/Biometrics (= 1.7.0) + - TABTestKit/BDD (1.7.0) + - TABTestKit/Biometrics (1.7.0) DEPENDENCIES: - ShowTime @@ -20,7 +20,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: ShowTime: 5cb2c5314da2983cec44f27123a15473cf29306f - TABTestKit: be0324bdf4c6755d878eea5bd2e5a3f8aff4bf65 + TABTestKit: 937e406987fa0d11b2ee27e84a1c68f7d9cf09b9 PODFILE CHECKSUM: b6b0b334dee592f181c8d68b62229392f1cd2529 diff --git a/Example/Pods/Local Podspecs/TABTestKit.podspec.json b/Example/Pods/Local Podspecs/TABTestKit.podspec.json index bafad952..34cbb78d 100644 --- a/Example/Pods/Local Podspecs/TABTestKit.podspec.json +++ b/Example/Pods/Local Podspecs/TABTestKit.podspec.json @@ -1,6 +1,6 @@ { "name": "TABTestKit", - "version": "1.6.1", + "version": "1.7.0", "summary": "Strongly typed Swift wrapper around XCTest / XCUI, enabling you to write BDD-style automation tests, without writing much code at all.", "homepage": "https://github.com/theappbusiness/TABTestKit", "license": { @@ -15,7 +15,7 @@ }, "source": { "git": "https://github.com/theappbusiness/TABTestKit.git", - "tag": "1.6.1" + "tag": "1.7.0" }, "platforms": { "ios": "12.4" diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index ef0667c9..c4832699 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,10 +1,10 @@ PODS: - ShowTime (2.5.2) - - TABTestKit (1.6.1): - - TABTestKit/BDD (= 1.6.1) - - TABTestKit/Biometrics (= 1.6.1) - - TABTestKit/BDD (1.6.1) - - TABTestKit/Biometrics (1.6.1) + - TABTestKit (1.7.0): + - TABTestKit/BDD (= 1.7.0) + - TABTestKit/Biometrics (= 1.7.0) + - TABTestKit/BDD (1.7.0) + - TABTestKit/Biometrics (1.7.0) DEPENDENCIES: - ShowTime @@ -20,7 +20,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: ShowTime: 5cb2c5314da2983cec44f27123a15473cf29306f - TABTestKit: be0324bdf4c6755d878eea5bd2e5a3f8aff4bf65 + TABTestKit: 937e406987fa0d11b2ee27e84a1c68f7d9cf09b9 PODFILE CHECKSUM: b6b0b334dee592f181c8d68b62229392f1cd2529 diff --git a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist index a63e3b84..fcedd03e 100644 --- a/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist +++ b/Example/Pods/Target Support Files/TABTestKit/TABTestKit-Info.plist @@ -2,25 +2,25 @@ - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.7.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + ${PRODUCT_BUNDLE_IDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.7.0 + CFBundleSignature + ???? + CFBundleVersion + ${CURRENT_PROJECT_VERSION} + NSPrincipalClass + From b0c56447d0d99ff77bb1779bc700c36979fec146 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Fri, 14 Aug 2020 15:18:39 +0100 Subject: [PATCH 101/103] Updated authors --- TABTestKit.podspec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/TABTestKit.podspec b/TABTestKit.podspec index 9cc3d789..a5a79c82 100644 --- a/TABTestKit.podspec +++ b/TABTestKit.podspec @@ -7,7 +7,9 @@ Pod::Spec.new do |s| s.authors = { 'zacoid55' => 'zac.borrelli@kinandcarta.com', 'KaneCheshire' => 'kane.cheshire@kinandcarta.com', 'theblixguy' => 'suyash.srijan@kinandcarta.com', - 'neil3079' => 'neil.horton@kinandcarta.com' } + 'neil3079' => 'neil.horton@kinandcarta.com', + 'annpiktas' => 'anna.piktas@kinandcarta.com', + 'roger-tan' => 'roger.tan@kinandcarta.com' } s.source = { :git => 'https://github.com/theappbusiness/TABTestKit.git', :tag => s.version.to_s } s.ios.deployment_target = '12.4' s.swift_version = '5.0' From 4bdc5cdadaea31d7a2e3127c3e5f382b7cfa18ea Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Fri, 14 Aug 2020 15:22:07 +0100 Subject: [PATCH 102/103] Deleted errant file --- .../Pods/Pods.xcodeproj/project.pbxproj.orig | 1509 ----------------- 1 file changed, 1509 deletions(-) delete mode 100644 Example/Pods/Pods.xcodeproj/project.pbxproj.orig diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj.orig b/Example/Pods/Pods.xcodeproj/project.pbxproj.orig deleted file mode 100644 index d01cddd6..00000000 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj.orig +++ /dev/null @@ -1,1509 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 0289FC8AFC384C6607AFF4BAED6B0EF2 /* NormalizedCoordinate+Locations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46E807E5C37ADDFE704A842DD3EFAA7E /* NormalizedCoordinate+Locations.swift */; }; - 03B034D04E953E6C5F04E6C880D588AE /* Element.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1B00FF7EA37A73A039336661BD8106A /* Element.swift */; }; - 048129840F067AC6750F3608B5EA6EB1 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 459930B2C0375709026C8824C2B5BC7D /* TextView.swift */; }; - 07C13F433F48A5948DCE828FD7C84FF3 /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = 053B19479828C38D4110FE99134DC778 /* Table.swift */; }; - 0A87384682167E8B2102822DAC6EBB33 /* Springboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54198552547C73BCFC0216636BFD016C /* Springboard.swift */; }; - 0E3BE1B9CE0FEB8934EA4107014F6FDD /* Slider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */; }; - 11D912514CCC5588417AC5F3179626DF /* InteractionContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */; }; - 155F6FB614546F9AE28C422FC440001F /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 238AF90812F1CD97B79A8399254B58A9 /* CollectionView.swift */; }; - 160F061600313E5870CA5106F8C1F639 /* NavigationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */; }; - 16F9C2B954F613BB9DF95577271980CE /* XCUIElement+wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24BFB32C3C83651B95CB53F5E69A3301 /* XCUIElement+wait.swift */; }; - 1729165E909C3E25F5806886F78ED237 /* Picker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 20F58489F4723E0D3E9BB5B322A3D9AB /* Picker.swift */; }; - 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */; }; - 1BE15D7A18C0DD91F4459F136801057E /* Image.swift in Sources */ = {isa = PBXBuildFile; fileRef = D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */; }; - 20DCE3BEA955E837D61BD1802EF423A4 /* AppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */; }; - 20F75E6ECBE6DD7DCD09F30F4A524FB8 /* View.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54DB4AA64F3152E6EECDCB67384B2CCA /* View.swift */; }; - 24D7A664D64F1AA1830EB9F476247473 /* BaseApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */; }; - 265300EF96BAB888DB099885F7266035 /* Scenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */; }; - 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - 2681AF561E209E9349ADEFC141D1D0B8 /* Editable.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */; }; - 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; -<<<<<<< HEAD - 299D4F6309CC23F31E5C5D95A7E02A33 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63272E25FC5DEBFFD3F137ED371F0D90 /* Header.swift */; }; - 2AF359640A0A777754A7122D53882BD2 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 155E5165E39832CF08C9E5E5D642CD08 /* BiometricsContext.swift */; }; - 2DD2070024CED10B008E65A4 /* Refreshable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DD206FF24CED10B008E65A4 /* Refreshable.swift */; }; - 2DDFB2BDB67835155F363681B96D2C2F /* Table.swift in Sources */ = {isa = PBXBuildFile; fileRef = A17837D9953239F8933ECEE37F0DB79B /* Table.swift */; }; - 37A732C41F0A423218BB88950B8597E5 /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 45CCC7C69B41A0DA6942BD8B907F63C4 /* XCTFatalFail.swift */; }; - 385CE3D437C12BCFCF18F14D148A9DBE /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8DDACB58E6AB184EFE630C5EAAC305B4 /* XCUIElement+isVisible.swift */; }; - 3AEA2FFC92773D0EFC732CABC0E18C6C /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C73E5A4A0C3A06AA7E4CA248D482990F /* Cell.swift */; }; -======= - 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - 2944710EF5C6C830DB74A9D17DC1656C /* Switch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */; }; - 2ABFECB772D2BE0AC0070C3A4E18787D /* SystemPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */; }; - 2BA3833D588F9B589293F4D9DD3624BD /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */; }; - 2E6A459C13067843E9E733B7777D000A /* ScrollableScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */; }; - 2E9B24CA3DD108679F5153006D3FC3CF /* Screen.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */; }; - 2FD699C493DE16A212BE97242655F7A5 /* SecureTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0DBDEBC520899475A1BB75B00A1EE42 /* SecureTextField.swift */; }; - 30E3E580039B6ACD368053E94CBE704E /* Adjustable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55E96E9766746CA610A94D58B8671EF5 /* Adjustable.swift */; }; - 3401E48E7973EB820670A7FED4276D14 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */; }; - 343D700592AB9FF9DCEDD0796C6A258F /* Tappable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */; }; - 376E2DDB3B8BA4D09CFC9C00A58FB4FA /* SheetContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */; }; - 37EAD2E9ADB46C4F523F45099708CFB7 /* TABTestCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */; }; ->>>>>>> develop - 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */; }; - 3BF3F80BCBFEF897650BFAE647F2A280 /* Header.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */; }; - 3FAB8EBF9F8003C7476DB5F87B760E43 /* Dismissable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */; }; - 414813F69596E7C92124C3AE00104567 /* Biometrics-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 508F2267AB9D58E2EED019FFFF3540B0 /* Array+Safe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */; }; - 522B407CD9F5D799715D4D2869DC01E7 /* SegmentedControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */; }; - 5FB769765308A595B0FBEEDCA0335275 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */; }; - 612C506A9BA5B067666BDE960A4D94BA /* TABTestKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */; }; - 66A5B2F5AC59EDC23EB28FD09B338FFE /* AlertContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4351AF11C053255D768C13BE1B7F1B7E /* AlertContext.swift */; }; - 6DCDC8BC367DD132D1113E25A086E259 /* XCUIElement+isVisible.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */; }; - 6F64941180F5308FB3A7A5C2577A29A0 /* Safari.swift in Sources */ = {isa = PBXBuildFile; fileRef = E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */; }; - 746DE544070D80A4CD388BA873C85EC0 /* SystemPreferencesContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */; }; - 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 791AD29540724A4E4A97EDD110309C35 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - 7C65B1AD1DD38309227F918C67C6B3EE /* CGVector+Offset.swift in Sources */ = {isa = PBXBuildFile; fileRef = EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */; }; - 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */; }; - 84715F049294F85B91392E9AA16EE230 /* Step.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */; }; - 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */; }; - 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8AF0B1F740CAFDFA8E7148D75048B43B /* Icon.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */; }; - 8C520520B3FEA452BE3BED8C7CE8CA1F /* Attributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */; }; - 8E34A8C9143656512A48616367E95230 /* App.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */; }; - 924F0FD4C4A04810D33A1159697F7F2F /* systemPreferencesRootScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */; }; - 949BEB4CB87783483E0F4A3C9CB745A1 /* SystemPreferencesResetScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 156706A142EA2D84F38248FBC837F4FE /* SystemPreferencesResetScreen.swift */; }; - 96BBD059D315A8A095D49DAEAC1B6591 /* Stepper.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */; }; - 9BE34F01F1F746E4014941F8AFDA688F /* KeyboardContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B77B8B20CC400E8C375FA1723F7ACC2 /* KeyboardContext.swift */; }; - A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */; }; - AB572CAE0B20E64CD7636DB54A3AACE9 /* ActivitySheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01604192DB1C9CE026013ECDAE320A58 /* ActivitySheet.swift */; }; - AF85FEFAD781B682F9F98A1C255400EE /* TabBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F543767EC0E26A318D55F65E6699BED /* TabBar.swift */; }; - B44F6E61DB873B6949B16CA4EC909F88 /* Element+defaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13A52EF7ABB826DFEC791EB0CB58E7CB /* Element+defaults.swift */; }; - B6A9891FF52E74BA2A1A490DD5B85BC4 /* BiometricsContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */; }; - B6A9F7439F1AF2978211B410356E9D2D /* Completable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 297E55F67281B78736519AEE8E50C97B /* Completable.swift */; }; - B7024D3885EB76F2AB4FA21989D6BD37 /* Biometrics.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BB08585A52985192826C66EA51C71625 /* WebView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A95E743358DB242EF893B17337986A1 /* WebView.swift */; }; - C2BC20E24143ABD6F5B9E4CF5FCB7ABE /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */; }; - C8A616579C1F5D65CE1FD2BD3402DDB4 /* TABTestKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D0428F31B465D7152E8F31D53286A279 /* NavBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */; }; - D0CB62AABEC1CF3A6880EEFED3632F32 /* ValueRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */; }; - D135CF4B86F1DD96C7BB2F8FDB197271 /* Alert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 580AA2A73E22142A66880CCE7E718F1E /* Alert.swift */; }; - D42ABDAE7912BEF692859F6B2A94B1CE /* XCUIDevice+frame.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3813DBFD98278C34AF4FD1CB869B2C62 /* XCUIDevice+frame.swift */; }; - D5EE336DE563CF9BEDED89ECD25CF710 /* CellContaining.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07FE2580ED80E61F8E0A680C80099156 /* CellContaining.swift */; }; - D765018875AB532D3CE38B77D90E146B /* XCTFatalFail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DDA4BC0A68610BD7A49A847F7665332 /* XCTFatalFail.swift */; }; - DAE1EBDCA9285460C9FC349C73297FB1 /* Scrollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBCF8955D50B0C63BB9D4A1196769CE3 /* Scrollable.swift */; }; - DED5DCD6F065ADED8BCC9EE151996A18 /* XCUIElement+hasKeyboardFocus.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */; }; - E587B0B46DA8AFB7B9B7B59809ECE6BF /* ScrollView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 58572699EBECC18BB3625DAD6E0732D1 /* ScrollView.swift */; }; - E88F2BBDD3EF2EEB8375325073C3F5E8 /* Sheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ACDC59DF4312A9FC28888A6616FE925 /* Sheet.swift */; }; - F1CBE51E4443204A5E2A6E3601EE7BC1 /* Biometrics.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */; }; - F1DE6CD29B77DCD7F725E84CEA902EFB /* SystemPreferencesGeneralScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */; }; - F3E2B0E0851AA5415FB3E610FA5C4E42 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */; }; - F9FCDDA7FC7209C38350C381AF1C2BC0 /* PageIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4422075987AE438F3EA8834B6B4BDC6F /* PageIndicator.swift */; }; - FF137D050D4908DEF2B0F162D58FA346 /* Label.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 319333D87D4033A11D3CC144486435AA /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; - remoteInfo = ShowTime; - }; - B21E0FCC9F1157FF80390E95CD15A108 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9C4F771642E79689CC6A0648ABEA808C; - remoteInfo = TABTestKit; - }; - F41BBFB7252426070E01EDB3A893D81B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9C1FEFBBC00DBFB4EC56C99126E8E9B0; - remoteInfo = ShowTime; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 01604192DB1C9CE026013ECDAE320A58 /* ActivitySheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ActivitySheet.swift; sourceTree = ""; }; - 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 053B19479828C38D4110FE99134DC778 /* Table.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Table.swift; sourceTree = ""; }; - 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Biometrics-Bridging-Header.h"; sourceTree = ""; }; - 07FE2580ED80E61F8E0A680C80099156 /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; - 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; - 13A52EF7ABB826DFEC791EB0CB58E7CB /* Element+defaults.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Element+defaults.swift"; sourceTree = ""; }; - 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.debug.xcconfig"; sourceTree = ""; }; - 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; - 156706A142EA2D84F38248FBC837F4FE /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; - 17AE207B2FD67E1096C542744391C322 /* Pods-TABTestKit_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-acknowledgements.plist"; sourceTree = ""; }; - 1906474D57FFF05C71AD048006BF4A91 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Tappable.swift; sourceTree = ""; }; - 1CB830EB632DA8DED42D4E33C4E59DD9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh"; sourceTree = ""; }; -<<<<<<< HEAD - 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ShowTime.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 25F3D68A1C533976A44258E21892AEEA /* TABTestKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.debug.xcconfig; sourceTree = ""; }; -======= - 1F543767EC0E26A318D55F65E6699BED /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; - 20F58489F4723E0D3E9BB5B322A3D9AB /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; - 238AF90812F1CD97B79A8399254B58A9 /* CollectionView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; }; - 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ShowTime.framework; path = ShowTime.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 24BFB32C3C83651B95CB53F5E69A3301 /* XCUIElement+wait.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+wait.swift"; sourceTree = ""; }; ->>>>>>> develop - 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-dummy.m"; sourceTree = ""; }; - 297E55F67281B78736519AEE8E50C97B /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; - 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; -<<<<<<< HEAD - 2DD206FF24CED10B008E65A4 /* Refreshable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Refreshable.swift; sourceTree = ""; }; - 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 3237DEBB9F9F00BA6ADAD8AB37692BCA /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; - 34EA09ECE216F225AA7DF4026825C436 /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; - 366F78B316A5AB871D08711543B5D327 /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; - 375B8CB1A95AB6606CEED0785F6133B5 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; - 37920B45A37AC84496A9227EEE614B1C /* Picker.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Picker.swift; sourceTree = ""; }; - 37E7367E2677A52235FB4AFB9EF1C14A /* Completable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Completable.swift; sourceTree = ""; }; - 3840AEBC3E328CF44392723CF4428C0A /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 45CCC7C69B41A0DA6942BD8B907F63C4 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; - 4624ECFF75E5BD892DE3EF61A198D4A2 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; - 4724B710F05C3626A7EE8C13C0599AF9 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; - 49A38A5986EC7A2C2950A75F7523E23D /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; - 506797A95FEFB2CBA340B84C537418A3 /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; - 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_TABTestKit_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 51E047AEE74B13C86C26E25A3CF9801A /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; - 52A5B8061DFF2E15F95CC4EB659E58FC /* TabBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TabBar.swift; sourceTree = ""; }; -======= - 2DDFA47CFD600B77CF9344816ED2E83B /* TABTestKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = TABTestKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = TABTestKit.release.xcconfig; sourceTree = ""; }; - 3813DBFD98278C34AF4FD1CB869B2C62 /* XCUIDevice+frame.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIDevice+frame.swift"; sourceTree = ""; }; - 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BiometricsContext.swift; sourceTree = ""; }; - 3F258240A3EEB5A3C1226EE2AC25DD2E /* TABTestKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "TABTestKit-Info.plist"; sourceTree = ""; }; - 401F9F79A790590558175201067C5039 /* TABTestKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-prefix.pch"; sourceTree = ""; }; - 4351AF11C053255D768C13BE1B7F1B7E /* AlertContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AlertContext.swift; sourceTree = ""; }; - 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TABTestCase.swift; path = TABTestKit/Classes/TABTestCase.swift; sourceTree = ""; }; - 4422075987AE438F3EA8834B6B4BDC6F /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; - 459930B2C0375709026C8824C2B5BC7D /* TextView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; - 46E807E5C37ADDFE704A842DD3EFAA7E /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; - 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "TABTestKit-umbrella.h"; sourceTree = ""; }; - 4DDA4BC0A68610BD7A49A847F7665332 /* XCTFatalFail.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = XCTFatalFail.swift; sourceTree = ""; }; - 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = Biometrics.h; sourceTree = ""; }; - 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Dismissable.swift; sourceTree = ""; }; - 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; - 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_TABTestKit_Example.framework; path = "Pods-TABTestKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; ->>>>>>> develop - 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ShowTime-dummy.m"; sourceTree = ""; }; - 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; - 54198552547C73BCFC0216636BFD016C /* Springboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Springboard.swift; sourceTree = ""; }; - 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example.modulemap"; sourceTree = ""; }; -<<<<<<< HEAD - 54D053F37E69CDA613BBBA1569E253DA /* Button.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = ""; }; - 569BA595F08DF86F9182E5974B5DB830 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; - 58F3C0B870A0CAD771B2D53933977162 /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; - 593642291D278E7C793517C981CCCDDD /* CellContaining.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CellContaining.swift; sourceTree = ""; }; - 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5EA7DCE018C6D76F961CB21C8379D955 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; - 61E92431E861AC13BB1E0BBF9C1C9705 /* SystemPreferencesResetScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesResetScreen.swift; sourceTree = ""; }; - 63183B1C42462E5C8F1ED91AF4E9322C /* SystemPreferences.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferences.swift; sourceTree = ""; }; - 63272E25FC5DEBFFD3F137ED371F0D90 /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; - 66A57DA22EEDCBCFC8E9B9BC17B27034 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; - 66C30B5E7EE69CEACEC323870FACB249 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; - 67A3CC02DF62577AA1EEB6718605C238 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; -======= - 54DB4AA64F3152E6EECDCB67384B2CCA /* View.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = View.swift; sourceTree = ""; }; - 55E96E9766746CA610A94D58B8671EF5 /* Adjustable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Adjustable.swift; sourceTree = ""; }; - 580AA2A73E22142A66880CCE7E718F1E /* Alert.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Alert.swift; sourceTree = ""; }; - 58572699EBECC18BB3625DAD6E0732D1 /* ScrollView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollView.swift; sourceTree = ""; }; - 5ACDC59DF4312A9FC28888A6616FE925 /* Sheet.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Sheet.swift; sourceTree = ""; }; - 5B77B8B20CC400E8C375FA1723F7ACC2 /* KeyboardContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = KeyboardContext.swift; sourceTree = ""; }; - 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = TABTestKit.framework; path = TABTestKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = ""; }; - 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Switch.swift; sourceTree = ""; }; - 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; ->>>>>>> develop - 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.release.xcconfig; sourceTree = ""; }; - 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; - 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Label.swift; sourceTree = ""; }; - 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Step.swift; sourceTree = ""; }; - 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-acknowledgements.markdown"; sourceTree = ""; }; - 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Slider.swift; sourceTree = ""; }; - 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = BaseApp.swift; sourceTree = ""; }; - 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ShowTime.modulemap; sourceTree = ""; }; - 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "Array+Safe.swift"; sourceTree = ""; }; - 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesContext.swift; sourceTree = ""; }; - 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "TABTestKit-dummy.m"; sourceTree = ""; }; - 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; - 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = Biometrics.m; sourceTree = ""; }; - 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-prefix.pch"; sourceTree = ""; }; - 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist"; sourceTree = ""; }; - 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig"; sourceTree = ""; }; - 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = systemPreferencesRootScreen.swift; sourceTree = ""; }; - 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m"; sourceTree = ""; }; - 9A95E743358DB242EF893B17337986A1 /* WebView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebView.swift; sourceTree = ""; }; - 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ShowTime-umbrella.h"; sourceTree = ""; }; -<<<<<<< HEAD - 9C6654B57C87D13720D1868CC9ACA277 /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; -======= - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; ->>>>>>> develop - 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-umbrella.h"; sourceTree = ""; }; - A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ValueRepresentable.swift; sourceTree = ""; }; - A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown"; sourceTree = ""; }; - A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scenario.swift; sourceTree = ""; }; - A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SystemPreferencesGeneralScreen.swift; sourceTree = ""; }; - A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ShowTime-Info.plist"; sourceTree = ""; }; - AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; sourceTree = ""; }; - AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppContext.swift; sourceTree = ""; }; - AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Attributes.swift; sourceTree = ""; }; - AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example.release.xcconfig"; sourceTree = ""; }; - B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavigationContext.swift; sourceTree = ""; }; - BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SheetContext.swift; sourceTree = ""; }; - BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Header.swift; sourceTree = ""; }; - C0DBDEBC520899475A1BB75B00A1EE42 /* SecureTextField.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SecureTextField.swift; sourceTree = ""; }; - C354231844F21D916AF8E0D9E0F587FF /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; sourceTree = ""; }; - C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h"; sourceTree = ""; }; - CBA3199C63C53E992A3F26F5ADCBB639 /* Pods-TABTestKit_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-TABTestKit_Example-Info.plist"; sourceTree = ""; }; - CBCF8955D50B0C63BB9D4A1196769CE3 /* Scrollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Scrollable.swift; sourceTree = ""; }; - CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+hasKeyboardFocus.swift"; sourceTree = ""; }; - D1B00FF7EA37A73A039336661BD8106A /* Element.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Element.swift; sourceTree = ""; }; - D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Image.swift; sourceTree = ""; }; - D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ShowTime.swift; sourceTree = ""; }; -<<<<<<< HEAD - DE9E0BDEE013BB9D26DB57DBAC454B7C /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; - E3A5EF924372D0BF1C9337CD6E3F256D /* NormalizedCoordinate+Locations.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NormalizedCoordinate+Locations.swift"; sourceTree = ""; }; - E488FF0E641054C5E47F83DF51B566A8 /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; - E82689663AAEB700A8CB02F848ABF64A /* InteractionContext.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InteractionContext.swift; sourceTree = ""; }; - E88254D430C1C00EF22D4602CE3C351C /* NavBar.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = NavBar.swift; sourceTree = ""; }; - E98EB900B16631526C95047EF703D60D /* PageIndicator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PageIndicator.swift; sourceTree = ""; }; -======= - DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Screen.swift; sourceTree = ""; }; - DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SegmentedControl.swift; sourceTree = ""; }; - DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Stepper.swift; sourceTree = ""; }; - DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ScrollableScreen.swift; sourceTree = ""; }; - E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Safari.swift; sourceTree = ""; }; - E4DFAC57077CCE851795E1D054BFA3D3 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; - EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Icon.swift; sourceTree = ""; }; - EC4DD53BBCB1EAFECE7C6B5C0135C9E5 /* TABTestKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = TABTestKit.modulemap; sourceTree = ""; }; ->>>>>>> develop - EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-TABTestKit_Example-frameworks.sh"; sourceTree = ""; }; - EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "CGVector+Offset.swift"; sourceTree = ""; }; - F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ShowTime.debug.xcconfig; sourceTree = ""; }; - F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Editable.swift; sourceTree = ""; }; - F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "XCUIElement+isVisible.swift"; sourceTree = ""; }; - FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 03E1BC428CDBAFFCB7A23DC27272A29B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 267805C828A9D1D94D9CACAE5C603CDD /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A3D01C0F1E1F3BD46CBE767C7A2BD535 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 28C2F366D4A968DBCF276D13CF9EF6CF /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B8F9CA0F89FDB831D0384478BB7D95AF /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 791AD29540724A4E4A97EDD110309C35 /* Foundation.framework in Frameworks */, - F3E2B0E0851AA5415FB3E610FA5C4E42 /* XCTest.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 3E285571EF144F8DACCF451128B351DD /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - 18BB3C90BDF1A5F1D336E77B09EBB1F2 /* Development Pods */ = { - isa = PBXGroup; - children = ( - B313054B8570ADCDF85576D19AF73B58 /* TABTestKit */, - ); - name = "Development Pods"; - sourceTree = ""; - }; - 2A5BD5A98C0B9DAC647830914CAF61DD /* Biometrics */ = { - isa = PBXGroup; - children = ( - 8EBC18BB0EC00A4B7ED0352A68703244 /* Biometrics.m */, - D60ED239C5FD4AFD0961BB24833B2BFB /* include */, - ); - name = Biometrics; - path = TABTestKit/Classes/Biometrics; - sourceTree = ""; - }; - 2C065241B34ABECCB0CE7068DB612DD4 /* Products */ = { - isa = PBXGroup; - children = ( - 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */, - 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */, - 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */, - 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */, - ); - name = Products; - sourceTree = ""; - }; - 2F366F56986BC5DDC447A015305D29D9 /* Pods-TABTestKit_Example */ = { - isa = PBXGroup; - children = ( - 549B858328CB2EF8360076242052506E /* Pods-TABTestKit_Example.modulemap */, - 6E79134F82F3A8D58969B44D7F169338 /* Pods-TABTestKit_Example-acknowledgements.markdown */, - 17AE207B2FD67E1096C542744391C322 /* Pods-TABTestKit_Example-acknowledgements.plist */, - 28061D8B4A5060F09E692D4BC586713B /* Pods-TABTestKit_Example-dummy.m */, - EC7677F7A126781D8591BE7C185D48F7 /* Pods-TABTestKit_Example-frameworks.sh */, - CBA3199C63C53E992A3F26F5ADCBB639 /* Pods-TABTestKit_Example-Info.plist */, - 9FEFF9CD73B2D6723ED60BBDD46577CD /* Pods-TABTestKit_Example-umbrella.h */, - 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */, - AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */, - ); - name = "Pods-TABTestKit_Example"; - path = "Target Support Files/Pods-TABTestKit_Example"; - sourceTree = ""; - }; - 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */ = { - isa = PBXGroup; - children = ( - 7AA42AD0FD4155C9C733C68EE22FBC5A /* ShowTime.modulemap */, - 52AC8BF80FFD66229E6DD416417E398C /* ShowTime-dummy.m */, - A9EDE6AEE1F9DC1D0AA9983CD6CA9B0D /* ShowTime-Info.plist */, - 91A2FFF13B5A1579D8A7AFB6D7BC85FD /* ShowTime-prefix.pch */, - 9B88FD8FB77D1350EAF5791D96CD7D75 /* ShowTime-umbrella.h */, - F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */, - 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/ShowTime"; - sourceTree = ""; - }; - 3E285571EF144F8DACCF451128B351DD /* iOS */ = { - isa = PBXGroup; - children = ( - 033A36A29482FD32230FE0CA177F9BD3 /* Foundation.framework */, - 2C061463250766C9C05995AB8EE63E66 /* XCTest.framework */, - ); - name = iOS; - sourceTree = ""; - }; - 6937532B19EE71331E44DC5431F1B4A1 /* BDD */ = { - isa = PBXGroup; - children = ( - A5B5593B6CC06B0D28B43D3A10327F0A /* Scenario.swift */, - 6B3F8D8CC414CD4C39B685E9F011EEFA /* Step.swift */, - ); - name = BDD; - path = TABTestKit/Classes/BDD; - sourceTree = ""; - }; - 7087410A6A9C169B66AD942DE1953F36 /* Elements */ = { - isa = PBXGroup; - children = ( - 01604192DB1C9CE026013ECDAE320A58 /* ActivitySheet.swift */, - 580AA2A73E22142A66880CCE7E718F1E /* Alert.swift */, - AF124160E2DECC1987EDE0786189A4CD /* Attributes.swift */, - 5372BD1DB9E068956BC5E0F0AA570E9F /* Button.swift */, - 62C556FD0E487266E53156A2F8B4C376 /* Cell.swift */, - 238AF90812F1CD97B79A8399254B58A9 /* CollectionView.swift */, - BC6B1CEAE6D727C2A364E01C321212AA /* Header.swift */, - EBA45BFBA327ADA93146A3D295AB5F80 /* Icon.swift */, - D581CEEBCCFC4B0FF70D13467F170E8D /* Image.swift */, - EA2F919318BE9C345B696D7A63387A80 /* Keyboard.swift */, - 6A666DFB607EE7DE58B6DFFA975A1AC9 /* Label.swift */, - 8E93C7BACA9EB913DE84F397B4DE393F /* NavBar.swift */, - 4422075987AE438F3EA8834B6B4BDC6F /* PageIndicator.swift */, - 20F58489F4723E0D3E9BB5B322A3D9AB /* Picker.swift */, - 58572699EBECC18BB3625DAD6E0732D1 /* ScrollView.swift */, - C0DBDEBC520899475A1BB75B00A1EE42 /* SecureTextField.swift */, - DC883CD6006515FD1FAD6C88C354AC26 /* SegmentedControl.swift */, - 5ACDC59DF4312A9FC28888A6616FE925 /* Sheet.swift */, - 6F73FE6B3BACB4C31DD41DF6A749233A /* Slider.swift */, - DD30A710B21F5298AB51D034E9FF451D /* Stepper.swift */, - 6357EBCE8314E4BD9687C3B5D559EA2F /* Switch.swift */, - 1F543767EC0E26A318D55F65E6699BED /* TabBar.swift */, - 053B19479828C38D4110FE99134DC778 /* Table.swift */, - 50C64B44BFB493ED0C4F2A96123C59DB /* TextField.swift */, - 459930B2C0375709026C8824C2B5BC7D /* TextView.swift */, - 54DB4AA64F3152E6EECDCB67384B2CCA /* View.swift */, - 9A95E743358DB242EF893B17337986A1 /* WebView.swift */, - ); - name = Elements; - path = TABTestKit/Classes/Elements; - sourceTree = ""; - }; - 733B241CBCD0A8E78459E444EB42B5BA /* Pod */ = { - isa = PBXGroup; - children = ( - 1906474D57FFF05C71AD048006BF4A91 /* LICENSE */, - E4DFAC57077CCE851795E1D054BFA3D3 /* README.md */, - 2DDFA47CFD600B77CF9344816ED2E83B /* TABTestKit.podspec */, - ); - name = Pod; - sourceTree = ""; - }; - 7F9009F1182E3BDED6F366005188C8B5 /* Pods */ = { - isa = PBXGroup; - children = ( - C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */, - ); - name = Pods; - sourceTree = ""; - }; - B01CBF1913615D7654E143DCCFED270F /* Screens */ = { - isa = PBXGroup; - children = ( - A8B88485599E85FC2F8A09F506C73B98 /* SystemPreferencesGeneralScreen.swift */, - 156706A142EA2D84F38248FBC837F4FE /* SystemPreferencesResetScreen.swift */, - 991FFECF88C060CD29E979D03F52BC00 /* systemPreferencesRootScreen.swift */, - ); - name = Screens; - path = TABTestKit/Classes/Screens; - sourceTree = ""; - }; - B1DA7F371F6B9C02670204C70F0BF97D /* Protocols */ = { - isa = PBXGroup; - children = ( - 55E96E9766746CA610A94D58B8671EF5 /* Adjustable.swift */, - 07FE2580ED80E61F8E0A680C80099156 /* CellContaining.swift */, - 297E55F67281B78736519AEE8E50C97B /* Completable.swift */, - 4EE25D65E2FED3D3D9A91EA9A5E066FA /* Dismissable.swift */, - F7D7BF1A32E532C55A9CCE070D503F84 /* Editable.swift */, - D1B00FF7EA37A73A039336661BD8106A /* Element.swift */, - DB73F7FB7E36D384ED29D92330B5C0D6 /* Screen.swift */, - CBCF8955D50B0C63BB9D4A1196769CE3 /* Scrollable.swift */, - DD3E3171F7C69833320A1536472038E6 /* ScrollableScreen.swift */, - 1B2AF3A7F015A1BB95610B9157F5A200 /* Tappable.swift */, - A3ABCC19114E6F9E4CA68747A067CCB3 /* ValueRepresentable.swift */, - ); - name = Protocols; - path = TABTestKit/Classes/Protocols; - sourceTree = ""; - }; - B2F6A36F3FCADAA61F68F73E6DEF3A05 /* Apps */ = { - isa = PBXGroup; - children = ( - 6A29663AC12A1DA79DFDA48C75AD4B38 /* App.swift */, - 74705B2B10C7CFBE22CE7D15607DE760 /* BaseApp.swift */, - E03CE32B46C49B7E11097230C5FE9B0F /* Safari.swift */, - 54198552547C73BCFC0216636BFD016C /* Springboard.swift */, - 0BBCD75642F2929EA5A720E5C947C26C /* SystemPreferences.swift */, - ); - name = Apps; - path = TABTestKit/Classes/Apps; - sourceTree = ""; - }; - B313054B8570ADCDF85576D19AF73B58 /* TABTestKit */ = { - isa = PBXGroup; - children = ( - 4404E3432EFE0C6DA47399B1CD7610C1 /* TABTestCase.swift */, - B2F6A36F3FCADAA61F68F73E6DEF3A05 /* Apps */, - 6937532B19EE71331E44DC5431F1B4A1 /* BDD */, - 2A5BD5A98C0B9DAC647830914CAF61DD /* Biometrics */, - FD3760C34CF992B341A77A2BF3F60CD2 /* Contexts */, - 7087410A6A9C169B66AD942DE1953F36 /* Elements */, - D71D1ED83737E27BC90A82770C3F61B1 /* Extensions */, - 733B241CBCD0A8E78459E444EB42B5BA /* Pod */, - B1DA7F371F6B9C02670204C70F0BF97D /* Protocols */, - B01CBF1913615D7654E143DCCFED270F /* Screens */, - FA2375C834D09C4EC1DF3C99006DCEA2 /* Support Files */, - ); - name = TABTestKit; - path = ../..; - sourceTree = ""; - }; - BF4BFAF140349307273B1343616A213B /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { - isa = PBXGroup; - children = ( - C354231844F21D916AF8E0D9E0F587FF /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap */, - A3F9B3AEE6873539F9B3FD0F64E7DB43 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.markdown */, - 91B1EB1FAB79CE231C85712DE4D31CC0 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-acknowledgements.plist */, - 99E06D4FF45A3B2605A88BF7D8DDC1C9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m */, - 1CB830EB632DA8DED42D4E33C4E59DD9 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-frameworks.sh */, - AB4E151C064820753E3685012C75D924 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist */, - C6AFBB671D10E6AEF0786D8E3E16BDE4 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h */, - FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */, - 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */, - ); - name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; - path = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; - sourceTree = ""; - }; - C532B4974C2BCC5A483389E5BA8466CA /* ShowTime */ = { - isa = PBXGroup; - children = ( - D889086CC01FD8F2532CBA362837EBC2 /* ShowTime.swift */, - 36A9A44F867EFF84C39CA95CD68648F9 /* Support Files */, - ); - path = ShowTime; - sourceTree = ""; - }; - CF1408CF629C7361332E53B88F7BD30C = { - isa = PBXGroup; - children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - 18BB3C90BDF1A5F1D336E77B09EBB1F2 /* Development Pods */, - 1628BF05B4CAFDCC3549A101F5A10A17 /* Frameworks */, - 7F9009F1182E3BDED6F366005188C8B5 /* Pods */, - 2C065241B34ABECCB0CE7068DB612DD4 /* Products */, - F7FD97F3CC6F18F4AAAE10E5DE0D2076 /* Targets Support Files */, - ); - sourceTree = ""; - }; - D60ED239C5FD4AFD0961BB24833B2BFB /* include */ = { - isa = PBXGroup; - children = ( -<<<<<<< HEAD - 6ACB9E5AF7C5D4D722B8CC766BAB1FBA /* Adjustable.swift */, - 593642291D278E7C793517C981CCCDDD /* CellContaining.swift */, - 37E7367E2677A52235FB4AFB9EF1C14A /* Completable.swift */, - D46E26BF860B4679BAC97AC87E4252C0 /* Dismissable.swift */, - C5A16F13BFBEC8758A169A96F7DCB0A5 /* Editable.swift */, - 6C1D2F317F03EEAABA532C9B5135951B /* Element.swift */, - 2DD206FF24CED10B008E65A4 /* Refreshable.swift */, - 886869886B1BAE50408F5B03064FF0A5 /* Screen.swift */, - 79866312168D65F43B4E475D950F5658 /* Scrollable.swift */, - 9962737325D2EE2B37C76F72FC176DC8 /* ScrollableScreen.swift */, - CE4BB950FDDD5545AA0C374895FCA183 /* Tappable.swift */, - 5EA7DCE018C6D76F961CB21C8379D955 /* ValueRepresentable.swift */, -======= - 4E20F2EF648306B478B3684F98A5F93E /* Biometrics.h */, - 05AA13577E447E5CAB2BD269A17CF90D /* Biometrics-Bridging-Header.h */, ->>>>>>> develop - ); - name = include; - path = include; - sourceTree = ""; - }; - D71D1ED83737E27BC90A82770C3F61B1 /* Extensions */ = { - isa = PBXGroup; - children = ( - 7E58FEF58A30CB283ADDFA73AE6A6C44 /* Array+Safe.swift */, - EEB96361104B4C89CD777681771B994E /* CGVector+Offset.swift */, - 13A52EF7ABB826DFEC791EB0CB58E7CB /* Element+defaults.swift */, - 46E807E5C37ADDFE704A842DD3EFAA7E /* NormalizedCoordinate+Locations.swift */, - 4DDA4BC0A68610BD7A49A847F7665332 /* XCTFatalFail.swift */, - 3813DBFD98278C34AF4FD1CB869B2C62 /* XCUIDevice+frame.swift */, - CE3B55CCAE1EBE967AACCFF3087260BF /* XCUIElement+hasKeyboardFocus.swift */, - F8B8CF788FC92D1F7EC06E501CE9BB41 /* XCUIElement+isVisible.swift */, - 24BFB32C3C83651B95CB53F5E69A3301 /* XCUIElement+wait.swift */, - ); - name = Extensions; - path = TABTestKit/Classes/Extensions; - sourceTree = ""; - }; - F7FD97F3CC6F18F4AAAE10E5DE0D2076 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 2F366F56986BC5DDC447A015305D29D9 /* Pods-TABTestKit_Example */, - BF4BFAF140349307273B1343616A213B /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - FA2375C834D09C4EC1DF3C99006DCEA2 /* Support Files */ = { - isa = PBXGroup; - children = ( - EC4DD53BBCB1EAFECE7C6B5C0135C9E5 /* TABTestKit.modulemap */, - 86CE3FD61907E71F8D67B6ABE0E8FF1E /* TABTestKit-dummy.m */, - 3F258240A3EEB5A3C1226EE2AC25DD2E /* TABTestKit-Info.plist */, - 401F9F79A790590558175201067C5039 /* TABTestKit-prefix.pch */, - 483146B8A69B4CED79B87E0C78B1C74B /* TABTestKit-umbrella.h */, - 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */, - 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */, - ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/TABTestKit"; - sourceTree = ""; - }; - FD3760C34CF992B341A77A2BF3F60CD2 /* Contexts */ = { - isa = PBXGroup; - children = ( - 4351AF11C053255D768C13BE1B7F1B7E /* AlertContext.swift */, - AD0D175878AB2BB256BB56BFFA487B4F /* AppContext.swift */, - 3C4AA3007989B47E8A4F6CAB5BBFB5B2 /* BiometricsContext.swift */, - 63B33F7C7329876D1CFEDB3D955A93C6 /* InteractionContext.swift */, - 5B77B8B20CC400E8C375FA1723F7ACC2 /* KeyboardContext.swift */, - B8A4E167281EA822F94DD0CB7820A417 /* NavigationContext.swift */, - BC2433F465C0EC5DFA0D18158CF7B99A /* SheetContext.swift */, - 7F4083AF50C20E2DEC6BDD636C1C1226 /* SystemPreferencesContext.swift */, - ); - name = Contexts; - path = TABTestKit/Classes/Contexts; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 1546A71728D546C8D2A345948964F954 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 8927BD966BA8175BBCD4A4C1E98EC03C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A42B7353448BA3A32CB7E6407B908E88 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 74E2F7EA36D277B32C6F922F069AD086 /* Pods-TABTestKit_Example-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B147649CC3E57641AEAD3EFABD4E8601 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 414813F69596E7C92124C3AE00104567 /* Biometrics-Bridging-Header.h in Headers */, - B7024D3885EB76F2AB4FA21989D6BD37 /* Biometrics.h in Headers */, - C8A616579C1F5D65CE1FD2BD3402DDB4 /* TABTestKit-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - CCCD40A3CF98074BF1895442469F632F /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 27CB0A5EB157C02C3FDFCC594331324E /* ShowTime-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 874D50CB9D57ED75CCA17B703E811C10 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */; - buildPhases = ( - 1546A71728D546C8D2A345948964F954 /* Headers */, - 00CECBBC3E664D03D81137415A0472A9 /* Sources */, - 85DE561D3E4964DDC1F5E827216CDF49 /* Frameworks */, - C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ED1616B28D516FE2EAEBF45079FC7D0D /* PBXTargetDependency */, - 08A0B6359659B5BF0FD2497214BB7C85 /* PBXTargetDependency */, - ); - name = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; - productName = "Pods-TABTestKit_Example-TABTestKit_ExampleUITests"; - productReference = 2E97F8EAABEDB0295C8BBA3ADB4A81C2 /* Pods_TABTestKit_Example_TABTestKit_ExampleUITests.framework */; - productType = "com.apple.product-type.framework"; - }; - 97F19241BD426C32C1C3FAF09F17AA80 /* Pods-TABTestKit_Example */ = { - isa = PBXNativeTarget; - buildConfigurationList = E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */; - buildPhases = ( - A42B7353448BA3A32CB7E6407B908E88 /* Headers */, - 9D50542E455CC3979D6826F7F6B472DE /* Sources */, - 434AAE768A8C9EA8DFD951F6ABAC9D5C /* Frameworks */, - F6CF63D106363A9CAB47BB8733EBE934 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - A1F7EAEC6E5BF84C0A9AA629558DA8DC /* PBXTargetDependency */, - ); - name = "Pods-TABTestKit_Example"; - productName = "Pods-TABTestKit_Example"; - productReference = 516836C45DBE97859AF1DD3AC2CD4B01 /* Pods_TABTestKit_Example.framework */; - productType = "com.apple.product-type.framework"; - }; - 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */ = { - isa = PBXNativeTarget; - buildConfigurationList = 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */; - buildPhases = ( - CCCD40A3CF98074BF1895442469F632F /* Headers */, - F3EFCCB3C1AE195157628019EC33351E /* Sources */, - 03E1BC428CDBAFFCB7A23DC27272A29B /* Frameworks */, - 031CA665B29B23A9412E394FBC39639C /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ShowTime; - productName = ShowTime; - productReference = 246C5312AD287517A78640A4FAF48421 /* ShowTime.framework */; - productType = "com.apple.product-type.framework"; - }; - 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = E366DB8D3786D6BEF7ECF3CC15E4BA06 /* Build configuration list for PBXNativeTarget "TABTestKit" */; - buildPhases = ( - B147649CC3E57641AEAD3EFABD4E8601 /* Headers */, - 126C93D1AAB3DC21D9459114A7AB82B8 /* Sources */, - B8F9CA0F89FDB831D0384478BB7D95AF /* Frameworks */, - 5BDC499E1F3F2089B50D646806807A6A /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = TABTestKit; - productName = TABTestKit; - productReference = 5C817F0E0208382B131E5FFB430F8A17 /* TABTestKit.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BFDFE7DC352907FC980B868725387E98 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1100; - LastUpgradeCheck = 1100; - }; - buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 2C065241B34ABECCB0CE7068DB612DD4 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97F19241BD426C32C1C3FAF09F17AA80 /* Pods-TABTestKit_Example */, - 874D50CB9D57ED75CCA17B703E811C10 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests */, - 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */, - 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 031CA665B29B23A9412E394FBC39639C /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 5BDC499E1F3F2089B50D646806807A6A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - C8330D05E85EB6ADF3D4902BF4389D40 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F6CF63D106363A9CAB47BB8733EBE934 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 00CECBBC3E664D03D81137415A0472A9 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( -<<<<<<< HEAD - BE915A5E64291CDE949DB23640B93639 /* ActivitySheet.swift in Sources */, - 8A26761254A6E9D56F9A6FC19B5D3CDF /* Adjustable.swift in Sources */, - D144C0F2DAD0215282FFDC23B9C51816 /* Alert.swift in Sources */, - 40B297D608B287AB0D9A5CA8D61244C5 /* AlertContext.swift in Sources */, - 1F7F325246D5E7E04E36448552889AAC /* App.swift in Sources */, - 0122DDA489DC7B492E8E990DB755179A /* AppContext.swift in Sources */, - 8822DAE29FB984B65B1EB4A38613919A /* Array+Safe.swift in Sources */, - 88F7619E0A32A61071208059FDABF353 /* Attributes.swift in Sources */, - 1AB935836BE18762D6458997DE60D48A /* BaseApp.swift in Sources */, - 1DADB79D353FFAB2A77F1BCF4A837FFB /* Biometrics.m in Sources */, - 2AF359640A0A777754A7122D53882BD2 /* BiometricsContext.swift in Sources */, - A6B7FB493C8F488D44D14634485B3035 /* Button.swift in Sources */, - 3AEA2FFC92773D0EFC732CABC0E18C6C /* Cell.swift in Sources */, - C0C20915AACF568D40CC98CF23F36929 /* CellContaining.swift in Sources */, - CB65968054732200BD36575DCE6A2DAC /* CGVector+Offset.swift in Sources */, - A310A568875D600282688D84861811AA /* CollectionView.swift in Sources */, - 2316A192914F78C02267AF2CA39430D8 /* Completable.swift in Sources */, - AD90BD422CA4EA2C9A1BE0A9FE5FC8B2 /* Dismissable.swift in Sources */, - 500956630E608335D5C517D60CBE8B98 /* Editable.swift in Sources */, - 17A8E8B06586ED15CE292350563FC0B0 /* Element+defaults.swift in Sources */, - 0CA3C186D251796C4D951EE90108A1B6 /* Element.swift in Sources */, - 299D4F6309CC23F31E5C5D95A7E02A33 /* Header.swift in Sources */, - EB07BD7B218EF378C347B2A6632CB7E0 /* Icon.swift in Sources */, - 0574A88B6171E5AC1A2FD4A50B162645 /* InteractionContext.swift in Sources */, - 26B29BD67B11E99F5980BF54164758C4 /* Keyboard.swift in Sources */, - 563454A482C3F3164A29D86E5A0401C9 /* KeyboardContext.swift in Sources */, - A1B3F36E0EEE1BDC7A741349A679969B /* Label.swift in Sources */, - C93C85055CD7C2C187223967534ABF2E /* NavBar.swift in Sources */, - 4711063A5D424D3F1C6F4B2C3F908CF9 /* NavigationContext.swift in Sources */, - 15A7BFB719F25690E6055C6FC883269D /* NormalizedCoordinate+Locations.swift in Sources */, - C333804EE3B8A149349F4610CECEC57A /* PageIndicator.swift in Sources */, - 42B05AC65B8E1DD3CF49401A9828257E /* Picker.swift in Sources */, - BABF2FE6F19DD036B177606A876D7649 /* Safari.swift in Sources */, - 5C0D078BFF799A5D1948F42CB322E450 /* Scenario.swift in Sources */, - 918CA9288BB549120A5E82A2AB05D92B /* Screen.swift in Sources */, - 4A4823D97F1C603E6E916F6AB8394C79 /* Scrollable.swift in Sources */, - 504271A237775675F1D30EB706BA4B17 /* ScrollableScreen.swift in Sources */, - 58706B337ED14D46E6C40E8657BB4AD0 /* ScrollView.swift in Sources */, - 688A664853F54967B7FA8EB3E218E5C5 /* SecureTextField.swift in Sources */, - D4B4A44C5ECC306EBBD38880B531273B /* SegmentedControl.swift in Sources */, - 0088B9A63F4DF5B1A4C7F38503158A1A /* Sheet.swift in Sources */, - D6E5507372C88FF68394A027AE0CC019 /* SheetContext.swift in Sources */, - 2045E7F7058CE185110A87722D9D8219 /* Slider.swift in Sources */, - 89105B6B18158942616CEFBD48F023C3 /* Springboard.swift in Sources */, - 65D2AF0A336F7C68908F83548A0A9BD9 /* Step.swift in Sources */, - 70D185F324A60A5E004FCB3C /* Image.swift in Sources */, - 0BEC70C054F420D1765994BACDE4029F /* Stepper.swift in Sources */, - 6C2FBEC740A3B92DDC9BC64AD72F95DE /* Switch.swift in Sources */, - 42C8C82E5BB15D0DC327465D2DD5F7CB /* SystemPreferences.swift in Sources */, - 405AF3459DB943FFCD3476BB813B0054 /* SystemPreferencesContext.swift in Sources */, - 0974040D4775D24A132FB5594C6BBDE5 /* SystemPreferencesGeneralScreen.swift in Sources */, - 448350DED9B8E147225037105109EE88 /* SystemPreferencesResetScreen.swift in Sources */, - 5E0C5F15D7EFC37BB1524E6C3B03D29C /* systemPreferencesRootScreen.swift in Sources */, - 14102D5429DDC1D12638AA0B4B457FE8 /* TabBar.swift in Sources */, - 2DDFB2BDB67835155F363681B96D2C2F /* Table.swift in Sources */, - 62B6BF67E74E645C90049BBE1E230A12 /* TABTestCase.swift in Sources */, - 92143C49FB13517B228D2A13C020BD89 /* TABTestKit-dummy.m in Sources */, - 2DD2070024CED10B008E65A4 /* Refreshable.swift in Sources */, - A9808686B93329E6FCF3ED520D55A6F8 /* Tappable.swift in Sources */, - F0B8A40FDBAE033E0558E32C1E0AC593 /* TextField.swift in Sources */, - A262B0D22D6E0B9F7AC7F4E5E1C55383 /* TextView.swift in Sources */, - E977590FD11E4927D24838F78C95A1D2 /* ValueRepresentable.swift in Sources */, - 139AB57FDE6DC66526D631E5C25D62C7 /* View.swift in Sources */, - 62060ABF006B5A82D5AD5F8E11359961 /* WebView.swift in Sources */, - 37A732C41F0A423218BB88950B8597E5 /* XCTFatalFail.swift in Sources */, - DBD259F00DCEBF8B47FAF1C891B2C92E /* XCUIDevice+frame.swift in Sources */, - 14A710FCDBF579DADE8E065FFB02DCA8 /* XCUIElement+hasKeyboardFocus.swift in Sources */, - 385CE3D437C12BCFCF18F14D148A9DBE /* XCUIElement+isVisible.swift in Sources */, - 67EAC080A1EAA18C812E324A0EF30BA5 /* XCUIElement+wait.swift in Sources */, -======= - 182CC29C7BAFE0334AC07728900F1D6C /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests-dummy.m in Sources */, ->>>>>>> develop - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 126C93D1AAB3DC21D9459114A7AB82B8 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AB572CAE0B20E64CD7636DB54A3AACE9 /* ActivitySheet.swift in Sources */, - 30E3E580039B6ACD368053E94CBE704E /* Adjustable.swift in Sources */, - D135CF4B86F1DD96C7BB2F8FDB197271 /* Alert.swift in Sources */, - 66A5B2F5AC59EDC23EB28FD09B338FFE /* AlertContext.swift in Sources */, - 8E34A8C9143656512A48616367E95230 /* App.swift in Sources */, - 20DCE3BEA955E837D61BD1802EF423A4 /* AppContext.swift in Sources */, - 508F2267AB9D58E2EED019FFFF3540B0 /* Array+Safe.swift in Sources */, - 8C520520B3FEA452BE3BED8C7CE8CA1F /* Attributes.swift in Sources */, - 24D7A664D64F1AA1830EB9F476247473 /* BaseApp.swift in Sources */, - F1CBE51E4443204A5E2A6E3601EE7BC1 /* Biometrics.m in Sources */, - B6A9891FF52E74BA2A1A490DD5B85BC4 /* BiometricsContext.swift in Sources */, - 2BA3833D588F9B589293F4D9DD3624BD /* Button.swift in Sources */, - 3401E48E7973EB820670A7FED4276D14 /* Cell.swift in Sources */, - D5EE336DE563CF9BEDED89ECD25CF710 /* CellContaining.swift in Sources */, - 7C65B1AD1DD38309227F918C67C6B3EE /* CGVector+Offset.swift in Sources */, - 155F6FB614546F9AE28C422FC440001F /* CollectionView.swift in Sources */, - B6A9F7439F1AF2978211B410356E9D2D /* Completable.swift in Sources */, - 3FAB8EBF9F8003C7476DB5F87B760E43 /* Dismissable.swift in Sources */, - 2681AF561E209E9349ADEFC141D1D0B8 /* Editable.swift in Sources */, - B44F6E61DB873B6949B16CA4EC909F88 /* Element+defaults.swift in Sources */, - 03B034D04E953E6C5F04E6C880D588AE /* Element.swift in Sources */, - 3BF3F80BCBFEF897650BFAE647F2A280 /* Header.swift in Sources */, - 8AF0B1F740CAFDFA8E7148D75048B43B /* Icon.swift in Sources */, - 1BE15D7A18C0DD91F4459F136801057E /* Image.swift in Sources */, - 11D912514CCC5588417AC5F3179626DF /* InteractionContext.swift in Sources */, - 5FB769765308A595B0FBEEDCA0335275 /* Keyboard.swift in Sources */, - 9BE34F01F1F746E4014941F8AFDA688F /* KeyboardContext.swift in Sources */, - FF137D050D4908DEF2B0F162D58FA346 /* Label.swift in Sources */, - D0428F31B465D7152E8F31D53286A279 /* NavBar.swift in Sources */, - 160F061600313E5870CA5106F8C1F639 /* NavigationContext.swift in Sources */, - 0289FC8AFC384C6607AFF4BAED6B0EF2 /* NormalizedCoordinate+Locations.swift in Sources */, - F9FCDDA7FC7209C38350C381AF1C2BC0 /* PageIndicator.swift in Sources */, - 1729165E909C3E25F5806886F78ED237 /* Picker.swift in Sources */, - 6F64941180F5308FB3A7A5C2577A29A0 /* Safari.swift in Sources */, - 265300EF96BAB888DB099885F7266035 /* Scenario.swift in Sources */, - 2E9B24CA3DD108679F5153006D3FC3CF /* Screen.swift in Sources */, - DAE1EBDCA9285460C9FC349C73297FB1 /* Scrollable.swift in Sources */, - 2E6A459C13067843E9E733B7777D000A /* ScrollableScreen.swift in Sources */, - E587B0B46DA8AFB7B9B7B59809ECE6BF /* ScrollView.swift in Sources */, - 2FD699C493DE16A212BE97242655F7A5 /* SecureTextField.swift in Sources */, - 522B407CD9F5D799715D4D2869DC01E7 /* SegmentedControl.swift in Sources */, - E88F2BBDD3EF2EEB8375325073C3F5E8 /* Sheet.swift in Sources */, - 376E2DDB3B8BA4D09CFC9C00A58FB4FA /* SheetContext.swift in Sources */, - 0E3BE1B9CE0FEB8934EA4107014F6FDD /* Slider.swift in Sources */, - 0A87384682167E8B2102822DAC6EBB33 /* Springboard.swift in Sources */, - 84715F049294F85B91392E9AA16EE230 /* Step.swift in Sources */, - 96BBD059D315A8A095D49DAEAC1B6591 /* Stepper.swift in Sources */, - 2944710EF5C6C830DB74A9D17DC1656C /* Switch.swift in Sources */, - 2ABFECB772D2BE0AC0070C3A4E18787D /* SystemPreferences.swift in Sources */, - 746DE544070D80A4CD388BA873C85EC0 /* SystemPreferencesContext.swift in Sources */, - F1DE6CD29B77DCD7F725E84CEA902EFB /* SystemPreferencesGeneralScreen.swift in Sources */, - 949BEB4CB87783483E0F4A3C9CB745A1 /* SystemPreferencesResetScreen.swift in Sources */, - 924F0FD4C4A04810D33A1159697F7F2F /* systemPreferencesRootScreen.swift in Sources */, - AF85FEFAD781B682F9F98A1C255400EE /* TabBar.swift in Sources */, - 07C13F433F48A5948DCE828FD7C84FF3 /* Table.swift in Sources */, - 37EAD2E9ADB46C4F523F45099708CFB7 /* TABTestCase.swift in Sources */, - 612C506A9BA5B067666BDE960A4D94BA /* TABTestKit-dummy.m in Sources */, - 343D700592AB9FF9DCEDD0796C6A258F /* Tappable.swift in Sources */, - C2BC20E24143ABD6F5B9E4CF5FCB7ABE /* TextField.swift in Sources */, - 048129840F067AC6750F3608B5EA6EB1 /* TextView.swift in Sources */, - D0CB62AABEC1CF3A6880EEFED3632F32 /* ValueRepresentable.swift in Sources */, - 20F75E6ECBE6DD7DCD09F30F4A524FB8 /* View.swift in Sources */, - BB08585A52985192826C66EA51C71625 /* WebView.swift in Sources */, - D765018875AB532D3CE38B77D90E146B /* XCTFatalFail.swift in Sources */, - D42ABDAE7912BEF692859F6B2A94B1CE /* XCUIDevice+frame.swift in Sources */, - DED5DCD6F065ADED8BCC9EE151996A18 /* XCUIElement+hasKeyboardFocus.swift in Sources */, - 6DCDC8BC367DD132D1113E25A086E259 /* XCUIElement+isVisible.swift in Sources */, - 16F9C2B954F613BB9DF95577271980CE /* XCUIElement+wait.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 9D50542E455CC3979D6826F7F6B472DE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7E7556B81F678C3A6E6580D9039C676A /* Pods-TABTestKit_Example-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F3EFCCB3C1AE195157628019EC33351E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8821EB088D8B0427003A1653D503147A /* ShowTime-dummy.m in Sources */, - 3BAACB923E748E95FB43377CCECA0277 /* ShowTime.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 08A0B6359659B5BF0FD2497214BB7C85 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = TABTestKit; - target = 9C4F771642E79689CC6A0648ABEA808C /* TABTestKit */; - targetProxy = B21E0FCC9F1157FF80390E95CD15A108 /* PBXContainerItemProxy */; - }; - A1F7EAEC6E5BF84C0A9AA629558DA8DC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = ShowTime; - target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; - targetProxy = F41BBFB7252426070E01EDB3A893D81B /* PBXContainerItemProxy */; - }; - ED1616B28D516FE2EAEBF45079FC7D0D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = ShowTime; - target = 9C1FEFBBC00DBFB4EC56C99126E8E9B0 /* ShowTime */; - targetProxy = 319333D87D4033A11D3CC144486435AA /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ -<<<<<<< HEAD - 04AD86BD59E502EB4165D14CE560F1DA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; -======= ->>>>>>> develop - 196DFA3E4A09A28224918543529A1885 /* 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_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 = ( - "POD_CONFIGURATION_DEBUG=1", - "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 = 10.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 20BBE192749698B6FF5488E2D716DC1B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 37A6FB6862D9B58B4B71BA0AB31D12BB /* TABTestKit.release.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; - PRODUCT_MODULE_NAME = TABTestKit; - PRODUCT_NAME = TABTestKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 43A9EBE61D5CD254BF71D6D2C4946B25 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 965A292F186CF36A47FF8AB1CADE1B85 /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 98F06A0FF82B22636D978C21C3610096 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AFD57256DAD4C8414BD38FD34982C7B0 /* Pods-TABTestKit_Example.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6903FAEF275774D3317A659DDB3084ED /* ShowTime.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; - PRODUCT_MODULE_NAME = ShowTime; - PRODUCT_NAME = ShowTime; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - AB3028D89F1A9733E9273B202576A7A6 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 14146CA31421B9CAE5A93C48F6E9FFAF /* Pods-TABTestKit_Example.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example/Pods-TABTestKit_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - ABC2BC2DB619DF51CC04B5FF48CDB383 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1502908D890553F47CF6441CE29E6021 /* TABTestKit.debug.xcconfig */; - buildSettings = { - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/TABTestKit/TABTestKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/TABTestKit/TABTestKit-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.4; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/TABTestKit/TABTestKit.modulemap"; - PRODUCT_MODULE_NAME = TABTestKit; - PRODUCT_NAME = TABTestKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - B01D14FDC83DCF9D4BE53066BEA96D05 /* 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_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_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=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 = 10.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - BB20B983018612F88F93316CF971D97A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FDC54A8EC562A73143E238094E80179D /* Pods-TABTestKit_Example-TABTestKit_ExampleUITests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-TABTestKit_Example-TABTestKit_ExampleUITests/Pods-TABTestKit_Example-TABTestKit_ExampleUITests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - D638E423895A2C1C466433CCA95C495B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F544FDA0BB5FE3D9A36851DE3511DABC /* ShowTime.debug.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/ShowTime/ShowTime-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ShowTime/ShowTime-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/ShowTime/ShowTime.modulemap"; - PRODUCT_MODULE_NAME = ShowTime; - PRODUCT_NAME = ShowTime; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 067D966EBEDF3E100B9F20252DC91A03 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example-TABTestKit_ExampleUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - BB20B983018612F88F93316CF971D97A /* Debug */, - 43A9EBE61D5CD254BF71D6D2C4946B25 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 13338E6A92763276D7E744F0BE126971 /* Build configuration list for PBXNativeTarget "ShowTime" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D638E423895A2C1C466433CCA95C495B /* Debug */, - A74D95592E825E0A9FAFB1A2FD4EA183 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 196DFA3E4A09A28224918543529A1885 /* Debug */, - B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E366DB8D3786D6BEF7ECF3CC15E4BA06 /* Build configuration list for PBXNativeTarget "TABTestKit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - ABC2BC2DB619DF51CC04B5FF48CDB383 /* Debug */, - 20BBE192749698B6FF5488E2D716DC1B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E466F9F3945C666B20BA45180ECDC7D7 /* Build configuration list for PBXNativeTarget "Pods-TABTestKit_Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AB3028D89F1A9733E9273B202576A7A6 /* Debug */, - 98F06A0FF82B22636D978C21C3610096 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; -} From 9268f7ee6227480ada2c9a943bdfbe8b3aafd755 Mon Sep 17 00:00:00 2001 From: Zachary Borrelli Date: Mon, 17 Aug 2020 14:58:13 +0100 Subject: [PATCH 103/103] Updaed Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d02c61ca..131c534d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Added Swift Package Manager support - Added a `Refreshable` protocol so for each element/screen that conforms to protocol `refresh` function can be defined - Added a `DatePicker` element. (issue #55) +- Added the ability to access `value` directly from an element ---