From 01f11932bc8816e017e6ea80c763ddb7f026d93b Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 13:42:50 +0100 Subject: [PATCH 01/14] WIP --- Tests/Tests/ViewTypes/ButtonTests.swift | 2 -- .../DatePickerWithFieldStyleTests.swift | 10 ---------- .../DatePickerWithStepperFieldStyleTests.swift | 10 ---------- .../DatePickerWithWheelStyleTests.swift | 10 ---------- .../Tests/ViewTypes/FullScreenCoverTests.swift | 2 -- .../ViewTypes/ListWithBorderedStyleTests.swift | 6 ------ .../ViewTypes/ListWithGroupedStyleTests.swift | 6 ------ .../ListWithInsetGroupedStyleTests.swift | 6 ------ .../Tests/ViewTypes/NavigationStackTests.swift | 6 ------ .../NavigationViewWithStackStyleTests.swift | 6 ------ Tests/Tests/ViewTypes/PageControlTests.swift | 4 ---- .../ViewTypes/PickerWithMenuStyleTests.swift | 10 ---------- Tests/Tests/ViewTypes/SearchFieldTests.swift | 18 ------------------ .../ViewTypes/TabViewWithPageStyleTests.swift | 6 ------ .../ToggleWithCheckboxStyleTests.swift | 10 ---------- Tests/Tests/ViewTypes/WebViewTests.swift | 2 +- 16 files changed, 1 insertion(+), 113 deletions(-) diff --git a/Tests/Tests/ViewTypes/ButtonTests.swift b/Tests/Tests/ViewTypes/ButtonTests.swift index f753ab8d..995ebcb6 100644 --- a/Tests/Tests/ViewTypes/ButtonTests.swift +++ b/Tests/Tests/ViewTypes/ButtonTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct ButtonTests { - #if canImport(AppKit) typealias PlatformButton = NSButton - #endif @available(macOS, introduced: 10.15, obsoleted: 26.0) @Test func introspectButtonsBeforeMacOS26() async throws { diff --git a/Tests/Tests/ViewTypes/DatePickerWithFieldStyleTests.swift b/Tests/Tests/ViewTypes/DatePickerWithFieldStyleTests.swift index 845bb16a..045a0f42 100644 --- a/Tests/Tests/ViewTypes/DatePickerWithFieldStyleTests.swift +++ b/Tests/Tests/ViewTypes/DatePickerWithFieldStyleTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct DatePickerWithFieldStyleTests { - #if canImport(AppKit) && !targetEnvironment(macCatalyst) typealias PlatformDatePickerWithFieldStyle = NSDatePicker - #endif @Test func introspect() async throws { let date1 = Date(timeIntervalSince1970: 0) @@ -19,30 +17,22 @@ struct DatePickerWithFieldStyleTests { VStack { DatePicker("", selection: .constant(date1)) .datePickerStyle(.field) - #if os(macOS) .introspect(.datePicker(style: .field), on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: spy1) - #endif .cornerRadius(8) DatePicker("", selection: .constant(date2)) .datePickerStyle(.field) - #if os(macOS) .introspect(.datePicker(style: .field), on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: spy2) - #endif .cornerRadius(8) DatePicker("", selection: .constant(date3)) .datePickerStyle(.field) - #if os(macOS) .introspect(.datePicker(style: .field), on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: spy3) - #endif } } - #if canImport(AppKit) && !targetEnvironment(macCatalyst) #expect(entity1.dateValue == date1) #expect(entity2.dateValue == date2) #expect(entity3.dateValue == date3) - #endif } } #endif diff --git a/Tests/Tests/ViewTypes/DatePickerWithStepperFieldStyleTests.swift b/Tests/Tests/ViewTypes/DatePickerWithStepperFieldStyleTests.swift index 4e8083d2..766eebbf 100644 --- a/Tests/Tests/ViewTypes/DatePickerWithStepperFieldStyleTests.swift +++ b/Tests/Tests/ViewTypes/DatePickerWithStepperFieldStyleTests.swift @@ -5,9 +5,7 @@ import Testing @MainActor @Suite struct DatePickerWithStepperFieldStyleTests { - #if canImport(AppKit) && !targetEnvironment(macCatalyst) typealias PlatformDatePickerWithStepperFieldStyle = NSDatePicker - #endif @Test func introspect() async throws { let date1 = Date(timeIntervalSince1970: 0) @@ -18,30 +16,22 @@ import Testing VStack { DatePicker("", selection: .constant(date1)) .datePickerStyle(.stepperField) - #if os(macOS) .introspect(.datePicker(style: .stepperField), on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: spy1) - #endif .cornerRadius(8) DatePicker("", selection: .constant(date2)) .datePickerStyle(.stepperField) - #if os(macOS) .introspect(.datePicker(style: .stepperField), on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: spy2) - #endif .cornerRadius(8) DatePicker("", selection: .constant(date3)) .datePickerStyle(.stepperField) - #if os(macOS) .introspect(.datePicker(style: .stepperField), on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: spy3) - #endif } } - #if canImport(AppKit) && !targetEnvironment(macCatalyst) #expect(entity1.dateValue == date1) #expect(entity2.dateValue == date2) #expect(entity3.dateValue == date3) - #endif } } #endif diff --git a/Tests/Tests/ViewTypes/DatePickerWithWheelStyleTests.swift b/Tests/Tests/ViewTypes/DatePickerWithWheelStyleTests.swift index 549350cb..861365d5 100644 --- a/Tests/Tests/ViewTypes/DatePickerWithWheelStyleTests.swift +++ b/Tests/Tests/ViewTypes/DatePickerWithWheelStyleTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct DatePickerWithWheelStyleTests { - #if canImport(UIKit) typealias PlatformDatePickerWithWheelStyle = UIDatePicker - #endif @Test func introspect() async throws { let date1 = Date(timeIntervalSince1970: 0) @@ -19,30 +17,22 @@ struct DatePickerWithWheelStyleTests { VStack { DatePicker("", selection: .constant(date1)) .datePickerStyle(.wheel) - #if os(iOS) || os(visionOS) .introspect(.datePicker(style: .wheel), on: .iOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy1) - #endif .cornerRadius(8) DatePicker("", selection: .constant(date2)) .datePickerStyle(.wheel) - #if os(iOS) || os(visionOS) .introspect(.datePicker(style: .wheel), on: .iOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy2) - #endif .cornerRadius(8) DatePicker("", selection: .constant(date3)) .datePickerStyle(.wheel) - #if os(iOS) || os(visionOS) .introspect(.datePicker(style: .wheel), on: .iOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy3) - #endif } } - #if canImport(UIKit) #expect(entity1.date == date1) #expect(entity2.date == date2) #expect(entity3.date == date3) - #endif } } #endif diff --git a/Tests/Tests/ViewTypes/FullScreenCoverTests.swift b/Tests/Tests/ViewTypes/FullScreenCoverTests.swift index 08845413..89c84172 100644 --- a/Tests/Tests/ViewTypes/FullScreenCoverTests.swift +++ b/Tests/Tests/ViewTypes/FullScreenCoverTests.swift @@ -11,13 +11,11 @@ struct FullScreenCoverTests { Text("Root") .fullScreenCover(isPresented: .constant(true)) { Text("Content") - #if os(iOS) || os(tvOS) || os(visionOS) .introspect( .fullScreenCover, on: .iOS(.v14, .v15, .v16, .v17, .v18, .v26), .tvOS(.v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy ) - #endif } } } diff --git a/Tests/Tests/ViewTypes/ListWithBorderedStyleTests.swift b/Tests/Tests/ViewTypes/ListWithBorderedStyleTests.swift index b9128281..41fb62f2 100644 --- a/Tests/Tests/ViewTypes/ListWithBorderedStyleTests.swift +++ b/Tests/Tests/ViewTypes/ListWithBorderedStyleTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct ListWithBorderedStyleTests { - #if canImport(AppKit) typealias PlatformListWithBorderedStyle = NSTableView - #endif @available(macOS 12, *) @Test func introspect() async throws { @@ -18,15 +16,11 @@ struct ListWithBorderedStyleTests { Text("Item 1") } .listStyle(.bordered) - #if os(macOS) .introspect(.list(style: .bordered), on: .macOS(.v12, .v13, .v14, .v15, .v26), customize: spy1) - #endif List { Text("Item 1") - #if os(macOS) .introspect(.list(style: .bordered), on: .macOS(.v12, .v13, .v14, .v15, .v26), scope: .ancestor, customize: spy2) - #endif } .listStyle(.bordered) } diff --git a/Tests/Tests/ViewTypes/ListWithGroupedStyleTests.swift b/Tests/Tests/ViewTypes/ListWithGroupedStyleTests.swift index 3a9179df..277b2cc9 100644 --- a/Tests/Tests/ViewTypes/ListWithGroupedStyleTests.swift +++ b/Tests/Tests/ViewTypes/ListWithGroupedStyleTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct ListWithGroupedStyleTests { - #if canImport(UIKit) typealias PlatformListWithGroupedStyle = UIScrollView // covers both UITableView and UICollectionView - #endif @Test func introspect() async throws { let (entity1, entity2) = try await introspection(of: PlatformListWithGroupedStyle.self) { spy1, spy2 in @@ -17,17 +15,13 @@ struct ListWithGroupedStyleTests { Text("Item 1") } .listStyle(.grouped) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.list(style: .grouped), on: .iOS(.v13, .v14, .v15), .tvOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), customize: spy1) .introspect(.list(style: .grouped), on: .iOS(.v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy1) - #endif List { Text("Item 1") - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.list(style: .grouped), on: .iOS(.v13, .v14, .v15), .tvOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), scope: .ancestor, customize: spy2) .introspect(.list(style: .grouped), on: .iOS(.v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), scope: .ancestor, customize: spy2) - #endif } .listStyle(.grouped) } diff --git a/Tests/Tests/ViewTypes/ListWithInsetGroupedStyleTests.swift b/Tests/Tests/ViewTypes/ListWithInsetGroupedStyleTests.swift index 7ce34b43..69dbcffd 100644 --- a/Tests/Tests/ViewTypes/ListWithInsetGroupedStyleTests.swift +++ b/Tests/Tests/ViewTypes/ListWithInsetGroupedStyleTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct ListWithInsetGroupedStyleTests { - #if canImport(UIKit) typealias PlatformListWithInsetGroupedStyle = UIScrollView // covers both UITableView and UICollectionView - #endif @Test func introspect() async throws { let (entity1, entity2) = try await introspection(of: PlatformListWithInsetGroupedStyle.self) { spy1, spy2 in @@ -17,17 +15,13 @@ struct ListWithInsetGroupedStyleTests { Text("Item 1") } .listStyle(.insetGrouped) - #if os(iOS) || os(visionOS) .introspect(.list(style: .insetGrouped), on: .iOS(.v14, .v15), customize: spy1) .introspect(.list(style: .insetGrouped), on: .iOS(.v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy1) - #endif List { Text("Item 1") - #if os(iOS) || os(visionOS) .introspect(.list(style: .insetGrouped), on: .iOS(.v14, .v15), scope: .ancestor, customize: spy2) .introspect(.list(style: .insetGrouped), on: .iOS(.v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), scope: .ancestor, customize: spy2) - #endif } .listStyle(.insetGrouped) } diff --git a/Tests/Tests/ViewTypes/NavigationStackTests.swift b/Tests/Tests/ViewTypes/NavigationStackTests.swift index de35b763..43098cdf 100644 --- a/Tests/Tests/ViewTypes/NavigationStackTests.swift +++ b/Tests/Tests/ViewTypes/NavigationStackTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct NavigationStackTests { - #if canImport(UIKit) typealias PlatformNavigationStack = UINavigationController - #endif @available(iOS 16, tvOS 16, *) @Test func introspect() async throws { @@ -19,9 +17,7 @@ struct NavigationStackTests { Text("Something") } } - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.navigationStack, on: .iOS(.v16, .v17, .v18, .v26), .tvOS(.v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy) - #endif } } @@ -32,9 +28,7 @@ struct NavigationStackTests { ZStack { Color.red Text("Something") - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.navigationStack, on: .iOS(.v16, .v17, .v18, .v26), .tvOS(.v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), scope: .ancestor, customize: spy) - #endif } } } diff --git a/Tests/Tests/ViewTypes/NavigationViewWithStackStyleTests.swift b/Tests/Tests/ViewTypes/NavigationViewWithStackStyleTests.swift index 674c3d56..96e1d363 100644 --- a/Tests/Tests/ViewTypes/NavigationViewWithStackStyleTests.swift +++ b/Tests/Tests/ViewTypes/NavigationViewWithStackStyleTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct NavigationViewWithStackStyleTests { - #if canImport(UIKit) typealias PlatformNavigationViewWithStackStyle = UINavigationController - #endif @Test func introspect() async throws { try await introspection(of: PlatformNavigationViewWithStackStyle.self) { spy in @@ -19,9 +17,7 @@ struct NavigationViewWithStackStyleTests { } } .navigationViewStyle(.stack) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.navigationView(style: .stack), on: .iOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), .tvOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy) - #endif } } @@ -31,9 +27,7 @@ struct NavigationViewWithStackStyleTests { ZStack { Color.red Text("Something") - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.navigationView(style: .stack), on: .iOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), .tvOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), scope: .ancestor, customize: spy) - #endif } } .navigationViewStyle(.stack) diff --git a/Tests/Tests/ViewTypes/PageControlTests.swift b/Tests/Tests/ViewTypes/PageControlTests.swift index c9df6849..b654176d 100644 --- a/Tests/Tests/ViewTypes/PageControlTests.swift +++ b/Tests/Tests/ViewTypes/PageControlTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct PageControlTests { - #if canImport(UIKit) typealias PlatformPageControl = UIPageControl - #endif @Test func introspect() async throws { try await introspection(of: PlatformPageControl.self) { spy in @@ -17,9 +15,7 @@ struct PageControlTests { Text("Page 2").frame(maxWidth: .infinity, maxHeight: .infinity).background(Color.blue) } .tabViewStyle(.page(indexDisplayMode: .always)) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.pageControl, on: .iOS(.v14, .v15, .v16, .v17, .v18, .v26), .tvOS(.v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy) - #endif } } } diff --git a/Tests/Tests/ViewTypes/PickerWithMenuStyleTests.swift b/Tests/Tests/ViewTypes/PickerWithMenuStyleTests.swift index 2fdc2115..38d945eb 100644 --- a/Tests/Tests/ViewTypes/PickerWithMenuStyleTests.swift +++ b/Tests/Tests/ViewTypes/PickerWithMenuStyleTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct PickerWithMenuStyleTests { - #if canImport(AppKit) && !targetEnvironment(macCatalyst) typealias PlatformPickerWithMenuStyle = NSPopUpButton - #endif @Test func introspect() async throws { let (entity1, entity2, entity3) = try await introspection(of: PlatformPickerWithMenuStyle.self) { spy1, spy2, spy3 in @@ -17,9 +15,7 @@ struct PickerWithMenuStyleTests { Text("1").tag("1") } .pickerStyle(.menu) - #if os(macOS) .introspect(.picker(style: .menu), on: .macOS(.v11, .v12, .v13, .v14, .v15, .v26), customize: spy1) - #endif .cornerRadius(8) Picker("Pick", selection: .constant("1")) { @@ -27,9 +23,7 @@ struct PickerWithMenuStyleTests { Text("2").tag("2") } .pickerStyle(.menu) - #if os(macOS) .introspect(.picker(style: .menu), on: .macOS(.v11, .v12, .v13, .v14, .v15, .v26), customize: spy2) - #endif .cornerRadius(8) Picker("Pick", selection: .constant("1")) { @@ -38,16 +32,12 @@ struct PickerWithMenuStyleTests { Text("3").tag("3") } .pickerStyle(.menu) - #if os(macOS) .introspect(.picker(style: .menu), on: .macOS(.v11, .v12, .v13, .v14, .v15, .v26), customize: spy3) - #endif } } - #if canImport(AppKit) && !targetEnvironment(macCatalyst) #expect(entity1.numberOfItems == 1) #expect(entity2.numberOfItems == 2) #expect(entity3.numberOfItems == 3) - #endif } } #endif diff --git a/Tests/Tests/ViewTypes/SearchFieldTests.swift b/Tests/Tests/ViewTypes/SearchFieldTests.swift index 80b31741..4ebd7eb2 100644 --- a/Tests/Tests/ViewTypes/SearchFieldTests.swift +++ b/Tests/Tests/ViewTypes/SearchFieldTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct SearchFieldTests { - #if canImport(UIKit) typealias PlatformSearchField = UISearchBar - #endif @available(iOS 15, tvOS 15, *) @Test(.`disabled on iOS 26+ except for iPad`()) @@ -19,9 +17,7 @@ struct SearchFieldTests { .searchable(text: .constant("")) } .navigationViewStyle(.stack) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.searchField, on: .iOS(.v15, .v16, .v17, .v18, .v26), .tvOS(.v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy) - #endif } } @@ -35,9 +31,7 @@ struct SearchFieldTests { } .navigationViewStyle(.stack) } - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.searchField, on: .iOS(.v15, .v16, .v17, .v18, .v26), .tvOS(.v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy) - #endif } } @@ -48,9 +42,7 @@ struct SearchFieldTests { NavigationView { Text("Customized") .searchable(text: .constant("")) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.searchField, on: .iOS(.v15, .v16, .v17, .v18, .v26), .tvOS(.v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), scope: .ancestor, customize: spy) - #endif } .navigationViewStyle(.stack) } @@ -63,9 +55,7 @@ struct SearchFieldTests { NavigationView { Text("Customized") .searchable(text: .constant("")) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.searchField, on: .iOS(.v15, .v16, .v17, .v18, .v26), .tvOS(.v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), scope: .ancestor, customize: spy) - #endif } .navigationViewStyle(.stack) } @@ -81,9 +71,7 @@ struct SearchFieldTests { .searchable(text: .constant("")) } .navigationViewStyle(DoubleColumnNavigationViewStyle()) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.searchField, on: .iOS(.v15, .v16, .v17, .v18, .v26), .tvOS(.v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy) - #endif #if os(iOS) // NB: this is necessary for introspection to work, because on iPad the search field is in the sidebar, which is initially hidden. .introspect(.navigationView(style: .columns), on: .iOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26)) { @@ -102,9 +90,7 @@ struct SearchFieldTests { .searchable(text: .constant("")) } .navigationViewStyle(DoubleColumnNavigationViewStyle()) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.searchField, on: .iOS(.v15, .v16, .v17, .v18, .v26), .tvOS(.v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy) - #endif #if os(iOS) // NB: this is necessary for introspection to work, because on iPad the search field is in the sidebar, which is initially hidden. .introspect(.navigationView(style: .columns), on: .iOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26)) { @@ -122,9 +108,7 @@ struct SearchFieldTests { NavigationView { Text("Customized") .searchable(text: .constant("")) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.searchField, on: .iOS(.v15, .v16, .v17, .v18, .v26), .tvOS(.v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), scope: .ancestor, customize: spy) - #endif } .navigationViewStyle(DoubleColumnNavigationViewStyle()) #if os(iOS) @@ -143,9 +127,7 @@ struct SearchFieldTests { NavigationView { Text("Customized") .searchable(text: .constant("")) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.searchField, on: .iOS(.v15, .v16, .v17, .v18, .v26), .tvOS(.v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), scope: .ancestor, customize: spy) - #endif } .navigationViewStyle(DoubleColumnNavigationViewStyle()) #if os(iOS) diff --git a/Tests/Tests/ViewTypes/TabViewWithPageStyleTests.swift b/Tests/Tests/ViewTypes/TabViewWithPageStyleTests.swift index cf0ee236..ef7a2b6c 100644 --- a/Tests/Tests/ViewTypes/TabViewWithPageStyleTests.swift +++ b/Tests/Tests/ViewTypes/TabViewWithPageStyleTests.swift @@ -6,9 +6,7 @@ import Testing @MainActor @Suite struct TabViewWithPageStyleTests { - #if canImport(UIKit) typealias PlatformTabViewWithPageStyle = UICollectionView - #endif @Test func introspect() async throws { try await introspection(of: PlatformTabViewWithPageStyle.self) { spy in @@ -17,9 +15,7 @@ struct TabViewWithPageStyleTests { Text("Page 2").frame(maxWidth: .infinity, maxHeight: .infinity).background(Color.blue) } .tabViewStyle(.page) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.tabView(style: .page), on: .iOS(.v14, .v15, .v16, .v17, .v18, .v26), .tvOS(.v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: spy) - #endif } } @@ -27,9 +23,7 @@ struct TabViewWithPageStyleTests { try await introspection(of: PlatformTabViewWithPageStyle.self) { spy in TabView { Text("Page 1").frame(maxWidth: .infinity, maxHeight: .infinity).background(Color.red) - #if os(iOS) || os(tvOS) || os(visionOS) .introspect(.tabView(style: .page), on: .iOS(.v14, .v15, .v16, .v17, .v18, .v26), .tvOS(.v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), scope: .ancestor, customize: spy) - #endif Text("Page 2").frame(maxWidth: .infinity, maxHeight: .infinity).background(Color.blue) } .tabViewStyle(.page) diff --git a/Tests/Tests/ViewTypes/ToggleWithCheckboxStyleTests.swift b/Tests/Tests/ViewTypes/ToggleWithCheckboxStyleTests.swift index 70347d7f..68562980 100644 --- a/Tests/Tests/ViewTypes/ToggleWithCheckboxStyleTests.swift +++ b/Tests/Tests/ViewTypes/ToggleWithCheckboxStyleTests.swift @@ -6,37 +6,27 @@ import Testing @MainActor @Suite struct ToggleWithCheckboxStyleTests { - #if canImport(AppKit) && !targetEnvironment(macCatalyst) typealias PlatformToggleWithCheckboxStyle = NSButton - #endif @Test func introspect() async throws { let (entity1, entity2, entity3) = try await introspection(of: PlatformToggleWithCheckboxStyle.self) { spy1, spy2, spy3 in VStack { Toggle("", isOn: .constant(true)) .toggleStyle(.checkbox) - #if os(macOS) .introspect(.toggle(style: .checkbox), on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: spy1) - #endif Toggle("", isOn: .constant(false)) .toggleStyle(.checkbox) - #if os(macOS) .introspect(.toggle(style: .checkbox), on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: spy2) - #endif Toggle("", isOn: .constant(true)) .toggleStyle(.checkbox) - #if os(macOS) .introspect(.toggle(style: .checkbox), on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: spy3) - #endif } } - #if canImport(AppKit) && !targetEnvironment(macCatalyst) #expect(entity1.state == .on) #expect(entity2.state == .off) #expect(entity3.state == .on) - #endif } } #endif diff --git a/Tests/Tests/ViewTypes/WebViewTests.swift b/Tests/Tests/ViewTypes/WebViewTests.swift index 70ab59b8..6bb80869 100644 --- a/Tests/Tests/ViewTypes/WebViewTests.swift +++ b/Tests/Tests/ViewTypes/WebViewTests.swift @@ -1,4 +1,4 @@ -#if compiler(>=6.2) && canImport(WebKit) +#if canImport(WebKit) import SwiftUI import SwiftUIIntrospect import Testing From d089f15eb495b8a96e45ee14353421ed9dd0a781 Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 14:12:34 +0100 Subject: [PATCH 02/14] WIP --- Tests/Package.swift | 9 - Tests/TestFramework/TestFramework.swift | 9 - Tests/Tests.xcodeproj/project.pbxproj | 830 ++++-------------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../SwiftUIIntrospectTestFramework.xcscheme | 67 -- .../xcschemes/SwiftUIIntrospectTests.xcscheme | 48 +- Tests/Tests/TestUtils.swift | 13 +- .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 85 ++ .../Assets.xcassets/Contents.json | 6 + Tests/TestsHostApp/ContentView.swift | 24 + Tests/TestsHostApp/TestsHostApp.swift | 10 - Tests/TestsHostApp/TestsHostAppApp.swift | 17 + .../test.ipad-ios-13-screenshot-1.png | Bin 64166 -> 0 bytes .../test.ipad-ios-14-screenshot-1.png | Bin 64307 -> 0 bytes .../test.ipad-ios-15-screenshot-1.png | Bin 76109 -> 0 bytes .../test.ipad-ios-16-screenshot-1.png | Bin 77439 -> 0 bytes .../test.iphone-ios-13-screenshot-1.png | Bin 39107 -> 0 bytes .../test.iphone-ios-14-screenshot-1.png | Bin 66635 -> 0 bytes .../test.iphone-ios-15-screenshot-1.png | Bin 31691 -> 0 bytes .../test.iphone-ios-16-screenshot-1.png | Bin 68961 -> 0 bytes 22 files changed, 312 insertions(+), 832 deletions(-) delete mode 100644 Tests/Package.swift delete mode 100644 Tests/TestFramework/TestFramework.swift delete mode 100644 Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 Tests/Tests.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTestFramework.xcscheme create mode 100644 Tests/TestsHostApp/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 Tests/TestsHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Tests/TestsHostApp/Assets.xcassets/Contents.json create mode 100644 Tests/TestsHostApp/ContentView.swift delete mode 100644 Tests/TestsHostApp/TestsHostApp.swift create mode 100644 Tests/TestsHostApp/TestsHostAppApp.swift delete mode 100644 Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.ipad-ios-13-screenshot-1.png delete mode 100644 Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.ipad-ios-14-screenshot-1.png delete mode 100644 Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.ipad-ios-15-screenshot-1.png delete mode 100644 Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.ipad-ios-16-screenshot-1.png delete mode 100644 Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-13-screenshot-1.png delete mode 100644 Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-14-screenshot-1.png delete mode 100644 Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-15-screenshot-1.png delete mode 100644 Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-16-screenshot-1.png diff --git a/Tests/Package.swift b/Tests/Package.swift deleted file mode 100644 index a7008509..00000000 --- a/Tests/Package.swift +++ /dev/null @@ -1,9 +0,0 @@ -// swift-tools-version:5.5 - -import PackageDescription - -let package = Package( - name: "Tests", - products: [], - targets: [] -) diff --git a/Tests/TestFramework/TestFramework.swift b/Tests/TestFramework/TestFramework.swift deleted file mode 100644 index 783a662f..00000000 --- a/Tests/TestFramework/TestFramework.swift +++ /dev/null @@ -1,9 +0,0 @@ -// -// TestFramework.swift -// TestFramework -// -// Created by David Roman on 30/07/2025. -// - -import Foundation - diff --git a/Tests/Tests.xcodeproj/project.pbxproj b/Tests/Tests.xcodeproj/project.pbxproj index 2c4f8fcb..348179c3 100644 --- a/Tests/Tests.xcodeproj/project.pbxproj +++ b/Tests/Tests.xcodeproj/project.pbxproj @@ -3,273 +3,80 @@ archiveVersion = 1; classes = { }; - objectVersion = 70; + objectVersion = 77; objects = { /* Begin PBXBuildFile section */ - D503B2AC2A49BFE300027F5F /* VideoPlayerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D503B2AB2A49BFE300027F5F /* VideoPlayerTests.swift */; }; - D50556532E3A6F5A00312263 /* SwiftUIIntrospect in Frameworks */ = {isa = PBXBuildFile; productRef = D50556522E3A6F5A00312263 /* SwiftUIIntrospect */; }; - D50FFE8E2A17E2A400C32641 /* ScrollViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D50FFE8D2A17E2A400C32641 /* ScrollViewTests.swift */; }; - D534D4DC2A4A596200218BFB /* WindowTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D534D4DB2A4A596200218BFB /* WindowTests.swift */; }; - D55BAD142DFF2B050038443E /* WebViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55BAD132DFF2B050038443E /* WebViewTests.swift */; }; - D55F448D2A1FF209003381E4 /* ListTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D55F448C2A1FF209003381E4 /* ListTests.swift */; }; - D57506782A27BBBD00A628E4 /* PickerWithSegmentedStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506772A27BBBD00A628E4 /* PickerWithSegmentedStyleTests.swift */; }; - D575067A2A27BF6C00A628E4 /* PickerWithMenuStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506792A27BF6C00A628E4 /* PickerWithMenuStyleTests.swift */; }; - D575067C2A27C24600A628E4 /* ListWithPlainStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D575067B2A27C24600A628E4 /* ListWithPlainStyleTests.swift */; }; - D575067E2A27C43400A628E4 /* ListWithGroupedStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D575067D2A27C43400A628E4 /* ListWithGroupedStyleTests.swift */; }; - D57506802A27C55600A628E4 /* ListWithInsetStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D575067F2A27C55600A628E4 /* ListWithInsetStyleTests.swift */; }; - D57506822A27C74600A628E4 /* ListWithInsetGroupedStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506812A27C74600A628E4 /* ListWithInsetGroupedStyleTests.swift */; }; - D57506842A27C8D400A628E4 /* ListWithSidebarStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506832A27C8D400A628E4 /* ListWithSidebarStyleTests.swift */; }; - D57506862A27CA4100A628E4 /* ListWithBorderedStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506852A27CA4100A628E4 /* ListWithBorderedStyleTests.swift */; }; - D57506882A27CB9800A628E4 /* FormTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506872A27CB9800A628E4 /* FormTests.swift */; }; - D575068A2A27CE7900A628E4 /* FormWithGroupedStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506892A27CE7900A628E4 /* FormWithGroupedStyleTests.swift */; }; - D575068C2A27D40500A628E4 /* ToggleWithSwitchStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D575068B2A27D40500A628E4 /* ToggleWithSwitchStyleTests.swift */; }; - D575068E2A27D4DC00A628E4 /* ToggleWithButtonStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D575068D2A27D4DC00A628E4 /* ToggleWithButtonStyleTests.swift */; }; - D57506902A27D69600A628E4 /* ToggleWithCheckboxStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D575068F2A27D69600A628E4 /* ToggleWithCheckboxStyleTests.swift */; }; - D57506922A27EE4700A628E4 /* DatePickerWithWheelStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506912A27EE4700A628E4 /* DatePickerWithWheelStyleTests.swift */; }; - D57506942A27EED200A628E4 /* DatePickerWithStepperFieldStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506932A27EED200A628E4 /* DatePickerWithStepperFieldStyleTests.swift */; }; - D57506962A27F0E200A628E4 /* DatePickerWithCompactFieldStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506952A27F0E200A628E4 /* DatePickerWithCompactFieldStyleTests.swift */; }; - D57506982A27F32800A628E4 /* DatePickerWithGraphicalStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506972A27F32800A628E4 /* DatePickerWithGraphicalStyleTests.swift */; }; - D575069A2A27F48D00A628E4 /* DatePickerWithFieldStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506992A27F48D00A628E4 /* DatePickerWithFieldStyleTests.swift */; }; - D575069C2A27F68700A628E4 /* ProgressViewWithCircularStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D575069B2A27F68700A628E4 /* ProgressViewWithCircularStyleTests.swift */; }; - D575069E2A27F80E00A628E4 /* ProgressViewWithLinearStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D575069D2A27F80E00A628E4 /* ProgressViewWithLinearStyleTests.swift */; }; - D57506A02A27FC0400A628E4 /* TableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D575069F2A27FC0400A628E4 /* TableTests.swift */; }; - D57506A22A281B9C00A628E4 /* SearchFieldTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57506A12A281B9C00A628E4 /* SearchFieldTests.swift */; }; - D57E66FA2A6956EB0092F43E /* SecureFieldTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D57E66F92A6956EB0092F43E /* SecureFieldTests.swift */; }; - D58119C42A211B8A0081F853 /* ListCellTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119C32A211B8A0081F853 /* ListCellTests.swift */; }; - D58119C62A227E930081F853 /* ViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119C52A227E930081F853 /* ViewTests.swift */; }; - D58119C82A22AC130081F853 /* ToggleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119C72A22AC130081F853 /* ToggleTests.swift */; }; - D58119CA2A239BAC0081F853 /* TextEditorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119C92A239BAC0081F853 /* TextEditorTests.swift */; }; - D58119CC2A239F100081F853 /* TabViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119CB2A239F100081F853 /* TabViewTests.swift */; }; - D58119CE2A23A4A70081F853 /* TabViewWithPageStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119CD2A23A4A70081F853 /* TabViewWithPageStyleTests.swift */; }; - D58119D02A23A62C0081F853 /* SliderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119CF2A23A62C0081F853 /* SliderTests.swift */; }; - D58119D22A23A77C0081F853 /* StepperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119D12A23A77C0081F853 /* StepperTests.swift */; }; - D58119D42A23AC100081F853 /* DatePickerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119D32A23AC100081F853 /* DatePickerTests.swift */; }; - D58119D62A23AED70081F853 /* PickerWithWheelStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119D52A23AED70081F853 /* PickerWithWheelStyleTests.swift */; }; - D58119D82A23B3B00081F853 /* ButtonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119D72A23B3B00081F853 /* ButtonTests.swift */; }; - D58119DA2A23B7700081F853 /* ColorPickerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58119D92A23B7700081F853 /* ColorPickerTests.swift */; }; - D58547F82A1CDD740068ADF4 /* NavigationStackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58547F72A1CDD740068ADF4 /* NavigationStackTests.swift */; }; - D58547FA2A1D12270068ADF4 /* NavigationSplitViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58547F92A1D12270068ADF4 /* NavigationSplitViewTests.swift */; }; - D58CE15629C621B30081BFB0 /* SwiftUIIntrospect in Frameworks */ = {isa = PBXBuildFile; productRef = D58CE15529C621B30081BFB0 /* SwiftUIIntrospect */; }; - D58CE15829C621DD0081BFB0 /* TestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = D58CE15729C621DD0081BFB0 /* TestUtils.swift */; }; - D591D1122A9CC2FF00AE05E8 /* WeakTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D591D1112A9CC2FF00AE05E8 /* WeakTests.swift */; }; - D5AAF56F2A502EF000CAFFB6 /* MapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5AAF56E2A502EF000CAFFB6 /* MapTests.swift */; }; - D5AD0D912A114B98003D8DEC /* TextFieldWithVerticalAxisTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5AD0D902A114B98003D8DEC /* TextFieldWithVerticalAxisTests.swift */; }; - D5ADFACC2A4A22AE009494FD /* SheetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5ADFACB2A4A22AE009494FD /* SheetTests.swift */; }; - D5ADFACE2A4A3482009494FD /* FullScreenCoverTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5ADFACD2A4A3482009494FD /* FullScreenCoverTests.swift */; }; - D5ADFAD02A4A3E54009494FD /* PopoverTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5ADFACF2A4A3E54009494FD /* PopoverTests.swift */; }; - D5B67B842A0D318F007D5D9B /* TextFieldTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5B67B832A0D318F007D5D9B /* TextFieldTests.swift */; }; - D5F0BE4D29C0DBE800AD95AB /* TestsHostApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F0BE4C29C0DBE800AD95AB /* TestsHostApp.swift */; }; - D5F0BE6A29C0DC4900AD95AB /* PlatformVersionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F0BE6729C0DC4900AD95AB /* PlatformVersionTests.swift */; }; - D5F26E022A561130001209E6 /* PageControlTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F26E012A561130001209E6 /* PageControlTests.swift */; }; - D5F26E042A56E74B001209E6 /* ViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F26E032A56E74B001209E6 /* ViewControllerTests.swift */; }; - D5F8D5ED2A1E7B490054E9AB /* NavigationViewWithStackStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F8D5EC2A1E7B490054E9AB /* NavigationViewWithStackStyleTests.swift */; }; - D5F8D5EF2A1E87950054E9AB /* NavigationViewWithColumnsStyleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F8D5EE2A1E87950054E9AB /* NavigationViewWithColumnsStyleTests.swift */; }; + D5E04C312E842584006739F9 /* SwiftUIIntrospect in Frameworks */ = {isa = PBXBuildFile; productRef = D5E04C302E842584006739F9 /* SwiftUIIntrospect */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - D5F0BE6129C0DC0000AD95AB /* PBXContainerItemProxy */ = { + D5E04C2A2E84254D006739F9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D5F0BE3F29C0DB9700AD95AB /* Project object */; + containerPortal = D5E04C0C2E842486006739F9 /* Project object */; proxyType = 1; - remoteGlobalIDString = D5F0BE4829C0DBE800AD95AB; + remoteGlobalIDString = D5E04C152E8424CD006739F9; remoteInfo = TestsHostApp; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - D503B2AB2A49BFE300027F5F /* VideoPlayerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoPlayerTests.swift; sourceTree = ""; }; - D505564B2E3A6F2700312263 /* TestFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TestFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D50FFE8D2A17E2A400C32641 /* ScrollViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ScrollViewTests.swift; sourceTree = ""; }; - D534D4DB2A4A596200218BFB /* WindowTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WindowTests.swift; sourceTree = ""; }; - D55BAD132DFF2B050038443E /* WebViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebViewTests.swift; sourceTree = ""; }; - D55F448C2A1FF209003381E4 /* ListTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListTests.swift; sourceTree = ""; }; - D57506772A27BBBD00A628E4 /* PickerWithSegmentedStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerWithSegmentedStyleTests.swift; sourceTree = ""; }; - D57506792A27BF6C00A628E4 /* PickerWithMenuStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerWithMenuStyleTests.swift; sourceTree = ""; }; - D575067B2A27C24600A628E4 /* ListWithPlainStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListWithPlainStyleTests.swift; sourceTree = ""; }; - D575067D2A27C43400A628E4 /* ListWithGroupedStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListWithGroupedStyleTests.swift; sourceTree = ""; }; - D575067F2A27C55600A628E4 /* ListWithInsetStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListWithInsetStyleTests.swift; sourceTree = ""; }; - D57506812A27C74600A628E4 /* ListWithInsetGroupedStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListWithInsetGroupedStyleTests.swift; sourceTree = ""; }; - D57506832A27C8D400A628E4 /* ListWithSidebarStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListWithSidebarStyleTests.swift; sourceTree = ""; }; - D57506852A27CA4100A628E4 /* ListWithBorderedStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListWithBorderedStyleTests.swift; sourceTree = ""; }; - D57506872A27CB9800A628E4 /* FormTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormTests.swift; sourceTree = ""; }; - D57506892A27CE7900A628E4 /* FormWithGroupedStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormWithGroupedStyleTests.swift; sourceTree = ""; }; - D575068B2A27D40500A628E4 /* ToggleWithSwitchStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToggleWithSwitchStyleTests.swift; sourceTree = ""; }; - D575068D2A27D4DC00A628E4 /* ToggleWithButtonStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToggleWithButtonStyleTests.swift; sourceTree = ""; }; - D575068F2A27D69600A628E4 /* ToggleWithCheckboxStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToggleWithCheckboxStyleTests.swift; sourceTree = ""; }; - D57506912A27EE4700A628E4 /* DatePickerWithWheelStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePickerWithWheelStyleTests.swift; sourceTree = ""; }; - D57506932A27EED200A628E4 /* DatePickerWithStepperFieldStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePickerWithStepperFieldStyleTests.swift; sourceTree = ""; }; - D57506952A27F0E200A628E4 /* DatePickerWithCompactFieldStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePickerWithCompactFieldStyleTests.swift; sourceTree = ""; }; - D57506972A27F32800A628E4 /* DatePickerWithGraphicalStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePickerWithGraphicalStyleTests.swift; sourceTree = ""; }; - D57506992A27F48D00A628E4 /* DatePickerWithFieldStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePickerWithFieldStyleTests.swift; sourceTree = ""; }; - D575069B2A27F68700A628E4 /* ProgressViewWithCircularStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressViewWithCircularStyleTests.swift; sourceTree = ""; }; - D575069D2A27F80E00A628E4 /* ProgressViewWithLinearStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressViewWithLinearStyleTests.swift; sourceTree = ""; }; - D575069F2A27FC0400A628E4 /* TableTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableTests.swift; sourceTree = ""; }; - D57506A12A281B9C00A628E4 /* SearchFieldTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFieldTests.swift; sourceTree = ""; }; - D57E66F92A6956EB0092F43E /* SecureFieldTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecureFieldTests.swift; sourceTree = ""; }; - D58119C32A211B8A0081F853 /* ListCellTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListCellTests.swift; sourceTree = ""; }; - D58119C52A227E930081F853 /* ViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewTests.swift; sourceTree = ""; }; - D58119C72A22AC130081F853 /* ToggleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToggleTests.swift; sourceTree = ""; }; - D58119C92A239BAC0081F853 /* TextEditorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextEditorTests.swift; sourceTree = ""; }; - D58119CB2A239F100081F853 /* TabViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabViewTests.swift; sourceTree = ""; }; - D58119CD2A23A4A70081F853 /* TabViewWithPageStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabViewWithPageStyleTests.swift; sourceTree = ""; }; - D58119CF2A23A62C0081F853 /* SliderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SliderTests.swift; sourceTree = ""; }; - D58119D12A23A77C0081F853 /* StepperTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StepperTests.swift; sourceTree = ""; }; - D58119D32A23AC100081F853 /* DatePickerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePickerTests.swift; sourceTree = ""; }; - D58119D52A23AED70081F853 /* PickerWithWheelStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PickerWithWheelStyleTests.swift; sourceTree = ""; }; - D58119D72A23B3B00081F853 /* ButtonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonTests.swift; sourceTree = ""; }; - D58119D92A23B7700081F853 /* ColorPickerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorPickerTests.swift; sourceTree = ""; }; - D58547F72A1CDD740068ADF4 /* NavigationStackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationStackTests.swift; sourceTree = ""; }; - D58547F92A1D12270068ADF4 /* NavigationSplitViewTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationSplitViewTests.swift; sourceTree = ""; }; - D58CE15729C621DD0081BFB0 /* TestUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestUtils.swift; sourceTree = ""; }; - D591D1112A9CC2FF00AE05E8 /* WeakTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeakTests.swift; sourceTree = ""; }; - D5AAF56E2A502EF000CAFFB6 /* MapTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapTests.swift; sourceTree = ""; }; - D5AD0D902A114B98003D8DEC /* TextFieldWithVerticalAxisTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldWithVerticalAxisTests.swift; sourceTree = ""; }; - D5ADFACB2A4A22AE009494FD /* SheetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SheetTests.swift; sourceTree = ""; }; - D5ADFACD2A4A3482009494FD /* FullScreenCoverTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FullScreenCoverTests.swift; sourceTree = ""; }; - D5ADFACF2A4A3E54009494FD /* PopoverTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopoverTests.swift; sourceTree = ""; }; - D5B67B832A0D318F007D5D9B /* TextFieldTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldTests.swift; sourceTree = ""; }; - D5F0BE4929C0DBE800AD95AB /* TestsHostApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestsHostApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; - D5F0BE4C29C0DBE800AD95AB /* TestsHostApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestsHostApp.swift; sourceTree = ""; }; - D5F0BE5D29C0DC0000AD95AB /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - D5F0BE6729C0DC4900AD95AB /* PlatformVersionTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlatformVersionTests.swift; sourceTree = ""; }; - D5F26E012A561130001209E6 /* PageControlTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageControlTests.swift; sourceTree = ""; }; - D5F26E032A56E74B001209E6 /* ViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewControllerTests.swift; sourceTree = ""; }; - D5F8D5EC2A1E7B490054E9AB /* NavigationViewWithStackStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationViewWithStackStyleTests.swift; sourceTree = ""; }; - D5F8D5EE2A1E87950054E9AB /* NavigationViewWithColumnsStyleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationViewWithColumnsStyleTests.swift; sourceTree = ""; }; + D5E04C162E8424CD006739F9 /* TestsHostApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestsHostApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + D5E04C262E84254D006739F9 /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ - D505564C2E3A6F2700312263 /* TestFramework */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = TestFramework; sourceTree = ""; }; + D5E04C182E8424CD006739F9 /* TestsHostApp */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = TestsHostApp; + sourceTree = ""; + }; + D5E04C272E84254D006739F9 /* Tests */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = Tests; + sourceTree = ""; + }; /* End PBXFileSystemSynchronizedRootGroup section */ /* Begin PBXFrameworksBuildPhase section */ - D50556482E3A6F2700312263 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D50556532E3A6F5A00312263 /* SwiftUIIntrospect in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D5F0BE4629C0DBE800AD95AB /* Frameworks */ = { + D5E04C132E8424CD006739F9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D5F0BE5A29C0DC0000AD95AB /* Frameworks */ = { + D5E04C232E84254D006739F9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D58CE15629C621B30081BFB0 /* SwiftUIIntrospect in Frameworks */, + D5E04C312E842584006739F9 /* SwiftUIIntrospect in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - D5B67B852A0D3193007D5D9B /* ViewTypes */ = { - isa = PBXGroup; - children = ( - D58119D72A23B3B00081F853 /* ButtonTests.swift */, - D58119D92A23B7700081F853 /* ColorPickerTests.swift */, - D58119D32A23AC100081F853 /* DatePickerTests.swift */, - D57506952A27F0E200A628E4 /* DatePickerWithCompactFieldStyleTests.swift */, - D57506992A27F48D00A628E4 /* DatePickerWithFieldStyleTests.swift */, - D57506972A27F32800A628E4 /* DatePickerWithGraphicalStyleTests.swift */, - D57506932A27EED200A628E4 /* DatePickerWithStepperFieldStyleTests.swift */, - D57506912A27EE4700A628E4 /* DatePickerWithWheelStyleTests.swift */, - D57506872A27CB9800A628E4 /* FormTests.swift */, - D57506892A27CE7900A628E4 /* FormWithGroupedStyleTests.swift */, - D5ADFACD2A4A3482009494FD /* FullScreenCoverTests.swift */, - D58119C32A211B8A0081F853 /* ListCellTests.swift */, - D55F448C2A1FF209003381E4 /* ListTests.swift */, - D57506852A27CA4100A628E4 /* ListWithBorderedStyleTests.swift */, - D575067D2A27C43400A628E4 /* ListWithGroupedStyleTests.swift */, - D57506812A27C74600A628E4 /* ListWithInsetGroupedStyleTests.swift */, - D575067F2A27C55600A628E4 /* ListWithInsetStyleTests.swift */, - D575067B2A27C24600A628E4 /* ListWithPlainStyleTests.swift */, - D57506832A27C8D400A628E4 /* ListWithSidebarStyleTests.swift */, - D5AAF56E2A502EF000CAFFB6 /* MapTests.swift */, - D58547F92A1D12270068ADF4 /* NavigationSplitViewTests.swift */, - D58547F72A1CDD740068ADF4 /* NavigationStackTests.swift */, - D5F8D5EE2A1E87950054E9AB /* NavigationViewWithColumnsStyleTests.swift */, - D5F8D5EC2A1E7B490054E9AB /* NavigationViewWithStackStyleTests.swift */, - D5F26E012A561130001209E6 /* PageControlTests.swift */, - D57506792A27BF6C00A628E4 /* PickerWithMenuStyleTests.swift */, - D57506772A27BBBD00A628E4 /* PickerWithSegmentedStyleTests.swift */, - D58119D52A23AED70081F853 /* PickerWithWheelStyleTests.swift */, - D5ADFACF2A4A3E54009494FD /* PopoverTests.swift */, - D575069B2A27F68700A628E4 /* ProgressViewWithCircularStyleTests.swift */, - D575069D2A27F80E00A628E4 /* ProgressViewWithLinearStyleTests.swift */, - D50FFE8D2A17E2A400C32641 /* ScrollViewTests.swift */, - D57506A12A281B9C00A628E4 /* SearchFieldTests.swift */, - D57E66F92A6956EB0092F43E /* SecureFieldTests.swift */, - D5ADFACB2A4A22AE009494FD /* SheetTests.swift */, - D58119CF2A23A62C0081F853 /* SliderTests.swift */, - D58119D12A23A77C0081F853 /* StepperTests.swift */, - D575069F2A27FC0400A628E4 /* TableTests.swift */, - D58119CB2A239F100081F853 /* TabViewTests.swift */, - D58119CD2A23A4A70081F853 /* TabViewWithPageStyleTests.swift */, - D58119C92A239BAC0081F853 /* TextEditorTests.swift */, - D5B67B832A0D318F007D5D9B /* TextFieldTests.swift */, - D5AD0D902A114B98003D8DEC /* TextFieldWithVerticalAxisTests.swift */, - D58119C72A22AC130081F853 /* ToggleTests.swift */, - D575068D2A27D4DC00A628E4 /* ToggleWithButtonStyleTests.swift */, - D575068F2A27D69600A628E4 /* ToggleWithCheckboxStyleTests.swift */, - D575068B2A27D40500A628E4 /* ToggleWithSwitchStyleTests.swift */, - D503B2AB2A49BFE300027F5F /* VideoPlayerTests.swift */, - D58119C52A227E930081F853 /* ViewTests.swift */, - D5F26E032A56E74B001209E6 /* ViewControllerTests.swift */, - D55BAD132DFF2B050038443E /* WebViewTests.swift */, - D534D4DB2A4A596200218BFB /* WindowTests.swift */, - ); - path = ViewTypes; - sourceTree = ""; - }; - D5F0BE3E29C0DB9700AD95AB = { + D5E04C0B2E842486006739F9 = { isa = PBXGroup; children = ( - D5F0BE4B29C0DBE800AD95AB /* TestsHostApp */, - D5F0BE5E29C0DC0000AD95AB /* Tests */, - D505564C2E3A6F2700312263 /* TestFramework */, - D5F0BE4A29C0DBE800AD95AB /* Products */, - D5F0BE7029C0E12300AD95AB /* Frameworks */, + D5E04C182E8424CD006739F9 /* TestsHostApp */, + D5E04C272E84254D006739F9 /* Tests */, + D5E04C2F2E842584006739F9 /* Frameworks */, + D5E04C172E8424CD006739F9 /* Products */, ); sourceTree = ""; }; - D5F0BE4A29C0DBE800AD95AB /* Products */ = { + D5E04C172E8424CD006739F9 /* Products */ = { isa = PBXGroup; children = ( - D5F0BE4929C0DBE800AD95AB /* TestsHostApp.app */, - D5F0BE5D29C0DC0000AD95AB /* Tests.xctest */, - D505564B2E3A6F2700312263 /* TestFramework.framework */, + D5E04C162E8424CD006739F9 /* TestsHostApp.app */, + D5E04C262E84254D006739F9 /* Tests.xctest */, ); name = Products; sourceTree = ""; }; - D5F0BE4B29C0DBE800AD95AB /* TestsHostApp */ = { - isa = PBXGroup; - children = ( - D5F0BE4C29C0DBE800AD95AB /* TestsHostApp.swift */, - ); - path = TestsHostApp; - sourceTree = ""; - }; - D5F0BE5E29C0DC0000AD95AB /* Tests */ = { - isa = PBXGroup; - children = ( - D5B67B852A0D3193007D5D9B /* ViewTypes */, - D5F0BE6729C0DC4900AD95AB /* PlatformVersionTests.swift */, - D58CE15729C621DD0081BFB0 /* TestUtils.swift */, - D591D1112A9CC2FF00AE05E8 /* WeakTests.swift */, - ); - path = Tests; - sourceTree = ""; - }; - D5F0BE7029C0E12300AD95AB /* Frameworks */ = { + D5E04C2F2E842584006739F9 /* Frameworks */ = { isa = PBXGroup; children = ( ); @@ -278,140 +85,101 @@ }; /* End PBXGroup section */ -/* Begin PBXHeadersBuildPhase section */ - D50556462E3A6F2700312263 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - /* Begin PBXNativeTarget section */ - D505564A2E3A6F2700312263 /* TestFramework */ = { + D5E04C152E8424CD006739F9 /* TestsHostApp */ = { isa = PBXNativeTarget; - buildConfigurationList = D50556512E3A6F2700312263 /* Build configuration list for PBXNativeTarget "TestFramework" */; + buildConfigurationList = D5E04C1F2E8424CE006739F9 /* Build configuration list for PBXNativeTarget "TestsHostApp" */; buildPhases = ( - D50556462E3A6F2700312263 /* Headers */, - D50556472E3A6F2700312263 /* Sources */, - D50556482E3A6F2700312263 /* Frameworks */, - D50556492E3A6F2700312263 /* Resources */, + D5E04C122E8424CD006739F9 /* Sources */, + D5E04C132E8424CD006739F9 /* Frameworks */, + D5E04C142E8424CD006739F9 /* Resources */, ); buildRules = ( ); dependencies = ( ); fileSystemSynchronizedGroups = ( - D505564C2E3A6F2700312263 /* TestFramework */, + D5E04C182E8424CD006739F9 /* TestsHostApp */, ); - name = TestFramework; + name = TestsHostApp; packageProductDependencies = ( - D50556522E3A6F5A00312263 /* SwiftUIIntrospect */, - ); - productName = TestFramework; - productReference = D505564B2E3A6F2700312263 /* TestFramework.framework */; - productType = "com.apple.product-type.framework"; - }; - D5F0BE4829C0DBE800AD95AB /* TestsHostApp */ = { - isa = PBXNativeTarget; - buildConfigurationList = D5F0BE5829C0DBE900AD95AB /* Build configuration list for PBXNativeTarget "TestsHostApp" */; - buildPhases = ( - D5F0BE4529C0DBE800AD95AB /* Sources */, - D5F0BE4629C0DBE800AD95AB /* Frameworks */, - D5F0BE4729C0DBE800AD95AB /* Resources */, ); - buildRules = ( - ); - dependencies = ( - ); - name = TestsHostApp; productName = TestsHostApp; - productReference = D5F0BE4929C0DBE800AD95AB /* TestsHostApp.app */; + productReference = D5E04C162E8424CD006739F9 /* TestsHostApp.app */; productType = "com.apple.product-type.application"; }; - D5F0BE5C29C0DC0000AD95AB /* Tests */ = { + D5E04C252E84254D006739F9 /* Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = D5F0BE6329C0DC0000AD95AB /* Build configuration list for PBXNativeTarget "Tests" */; + buildConfigurationList = D5E04C2C2E84254D006739F9 /* Build configuration list for PBXNativeTarget "Tests" */; buildPhases = ( - D5F0BE5929C0DC0000AD95AB /* Sources */, - D5F0BE5A29C0DC0000AD95AB /* Frameworks */, - D5F0BE5B29C0DC0000AD95AB /* Resources */, + D5E04C222E84254D006739F9 /* Sources */, + D5E04C232E84254D006739F9 /* Frameworks */, + D5E04C242E84254D006739F9 /* Resources */, ); buildRules = ( ); dependencies = ( - D5F0BE6229C0DC0000AD95AB /* PBXTargetDependency */, + D5E04C2B2E84254D006739F9 /* PBXTargetDependency */, + ); + fileSystemSynchronizedGroups = ( + D5E04C272E84254D006739F9 /* Tests */, ); name = Tests; packageProductDependencies = ( - D58CE15529C621B30081BFB0 /* SwiftUIIntrospect */, + D5E04C302E842584006739F9 /* SwiftUIIntrospect */, ); productName = Tests; - productReference = D5F0BE5D29C0DC0000AD95AB /* Tests.xctest */; + productReference = D5E04C262E84254D006739F9 /* Tests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - D5F0BE3F29C0DB9700AD95AB /* Project object */ = { + D5E04C0C2E842486006739F9 /* Project object */ = { isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 2600; - LastUpgradeCheck = 1500; + LastUpgradeCheck = 2600; TargetAttributes = { - D505564A2E3A6F2700312263 = { - CreatedOnToolsVersion = 26.0; - }; - D5F0BE4829C0DBE800AD95AB = { - CreatedOnToolsVersion = 14.2; + D5E04C152E8424CD006739F9 = { + CreatedOnToolsVersion = 26.0.1; }; - D5F0BE5C29C0DC0000AD95AB = { - CreatedOnToolsVersion = 14.2; - LastSwiftMigration = 1420; - TestTargetID = D5F0BE4829C0DBE800AD95AB; + D5E04C252E84254D006739F9 = { + CreatedOnToolsVersion = 26.0.1; + TestTargetID = D5E04C152E8424CD006739F9; }; }; }; - buildConfigurationList = D5F0BE4229C0DB9700AD95AB /* Build configuration list for PBXProject "Tests" */; - compatibilityVersion = "Xcode 13.0"; + buildConfigurationList = D5E04C0F2E842486006739F9 /* Build configuration list for PBXProject "Tests" */; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); - mainGroup = D5F0BE3E29C0DB9700AD95AB; - packageReferences = ( - ); - productRefGroup = D5F0BE4A29C0DBE800AD95AB /* Products */; + mainGroup = D5E04C0B2E842486006739F9; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = D5E04C172E8424CD006739F9 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - D5F0BE4829C0DBE800AD95AB /* TestsHostApp */, - D5F0BE5C29C0DC0000AD95AB /* Tests */, - D505564A2E3A6F2700312263 /* TestFramework */, + D5E04C152E8424CD006739F9 /* TestsHostApp */, + D5E04C252E84254D006739F9 /* Tests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - D50556492E3A6F2700312263 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D5F0BE4729C0DBE800AD95AB /* Resources */ = { + D5E04C142E8424CD006739F9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D5F0BE5B29C0DC0000AD95AB /* Resources */ = { + D5E04C242E84254D006739F9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -421,334 +189,59 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - D50556472E3A6F2700312263 /* Sources */ = { + D5E04C122E8424CD006739F9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - D5F0BE4529C0DBE800AD95AB /* Sources */ = { + D5E04C222E84254D006739F9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D5F0BE4D29C0DBE800AD95AB /* TestsHostApp.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D5F0BE5929C0DC0000AD95AB /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D57E66FA2A6956EB0092F43E /* SecureFieldTests.swift in Sources */, - D50FFE8E2A17E2A400C32641 /* ScrollViewTests.swift in Sources */, - D58547F82A1CDD740068ADF4 /* NavigationStackTests.swift in Sources */, - D57506982A27F32800A628E4 /* DatePickerWithGraphicalStyleTests.swift in Sources */, - D57506962A27F0E200A628E4 /* DatePickerWithCompactFieldStyleTests.swift in Sources */, - D57506902A27D69600A628E4 /* ToggleWithCheckboxStyleTests.swift in Sources */, - D58119CC2A239F100081F853 /* TabViewTests.swift in Sources */, - D57506802A27C55600A628E4 /* ListWithInsetStyleTests.swift in Sources */, - D575067A2A27BF6C00A628E4 /* PickerWithMenuStyleTests.swift in Sources */, - D57506922A27EE4700A628E4 /* DatePickerWithWheelStyleTests.swift in Sources */, - D57506822A27C74600A628E4 /* ListWithInsetGroupedStyleTests.swift in Sources */, - D5ADFACE2A4A3482009494FD /* FullScreenCoverTests.swift in Sources */, - D575068A2A27CE7900A628E4 /* FormWithGroupedStyleTests.swift in Sources */, - D575067C2A27C24600A628E4 /* ListWithPlainStyleTests.swift in Sources */, - D534D4DC2A4A596200218BFB /* WindowTests.swift in Sources */, - D58119CA2A239BAC0081F853 /* TextEditorTests.swift in Sources */, - D57506842A27C8D400A628E4 /* ListWithSidebarStyleTests.swift in Sources */, - D575069E2A27F80E00A628E4 /* ProgressViewWithLinearStyleTests.swift in Sources */, - D57506862A27CA4100A628E4 /* ListWithBorderedStyleTests.swift in Sources */, - D5F8D5ED2A1E7B490054E9AB /* NavigationViewWithStackStyleTests.swift in Sources */, - D591D1122A9CC2FF00AE05E8 /* WeakTests.swift in Sources */, - D57506942A27EED200A628E4 /* DatePickerWithStepperFieldStyleTests.swift in Sources */, - D5AD0D912A114B98003D8DEC /* TextFieldWithVerticalAxisTests.swift in Sources */, - D58119D02A23A62C0081F853 /* SliderTests.swift in Sources */, - D5ADFAD02A4A3E54009494FD /* PopoverTests.swift in Sources */, - D58119D82A23B3B00081F853 /* ButtonTests.swift in Sources */, - D5F26E022A561130001209E6 /* PageControlTests.swift in Sources */, - D55F448D2A1FF209003381E4 /* ListTests.swift in Sources */, - D5AAF56F2A502EF000CAFFB6 /* MapTests.swift in Sources */, - D58547FA2A1D12270068ADF4 /* NavigationSplitViewTests.swift in Sources */, - D5F8D5EF2A1E87950054E9AB /* NavigationViewWithColumnsStyleTests.swift in Sources */, - D57506882A27CB9800A628E4 /* FormTests.swift in Sources */, - D55BAD142DFF2B050038443E /* WebViewTests.swift in Sources */, - D58119C82A22AC130081F853 /* ToggleTests.swift in Sources */, - D58119D22A23A77C0081F853 /* StepperTests.swift in Sources */, - D58119DA2A23B7700081F853 /* ColorPickerTests.swift in Sources */, - D575068E2A27D4DC00A628E4 /* ToggleWithButtonStyleTests.swift in Sources */, - D5F0BE6A29C0DC4900AD95AB /* PlatformVersionTests.swift in Sources */, - D58CE15829C621DD0081BFB0 /* TestUtils.swift in Sources */, - D57506782A27BBBD00A628E4 /* PickerWithSegmentedStyleTests.swift in Sources */, - D58119CE2A23A4A70081F853 /* TabViewWithPageStyleTests.swift in Sources */, - D5ADFACC2A4A22AE009494FD /* SheetTests.swift in Sources */, - D575069A2A27F48D00A628E4 /* DatePickerWithFieldStyleTests.swift in Sources */, - D503B2AC2A49BFE300027F5F /* VideoPlayerTests.swift in Sources */, - D57506A02A27FC0400A628E4 /* TableTests.swift in Sources */, - D58119D42A23AC100081F853 /* DatePickerTests.swift in Sources */, - D575068C2A27D40500A628E4 /* ToggleWithSwitchStyleTests.swift in Sources */, - D58119C42A211B8A0081F853 /* ListCellTests.swift in Sources */, - D57506A22A281B9C00A628E4 /* SearchFieldTests.swift in Sources */, - D5F26E042A56E74B001209E6 /* ViewControllerTests.swift in Sources */, - D58119C62A227E930081F853 /* ViewTests.swift in Sources */, - D575067E2A27C43400A628E4 /* ListWithGroupedStyleTests.swift in Sources */, - D575069C2A27F68700A628E4 /* ProgressViewWithCircularStyleTests.swift in Sources */, - D58119D62A23AED70081F853 /* PickerWithWheelStyleTests.swift in Sources */, - D5B67B842A0D318F007D5D9B /* TextFieldTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - D5F0BE6229C0DC0000AD95AB /* PBXTargetDependency */ = { + D5E04C2B2E84254D006739F9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = D5F0BE4829C0DBE800AD95AB /* TestsHostApp */; - targetProxy = D5F0BE6129C0DC0000AD95AB /* PBXContainerItemProxy */; + target = D5E04C152E8424CD006739F9 /* TestsHostApp */; + targetProxy = D5E04C2A2E84254D006739F9 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - D505564F2E3A6F2700312263 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - ALWAYS_SEARCH_USER_PATHS = NO; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = ( - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 1.0; - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.siteline.TestFramework; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = auto; - SKIP_INSTALL = YES; - STRING_CATALOG_GENERATE_SYMBOLS = YES; - SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; - SUPPORTS_MACCATALYST = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; - SWIFT_APPROACHABLE_CONCURRENCY = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_MODULE = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4,7"; - TVOS_DEPLOYMENT_TARGET = 14.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WATCHOS_DEPLOYMENT_TARGET = 6; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Debug; - }; - D50556502E3A6F2700312263 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - ALWAYS_SEARCH_USER_PATHS = NO; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_USER_SCRIPT_SANDBOXING = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = ""; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = ( - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 11.0; - MARKETING_VERSION = 1.0; - MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.siteline.TestFramework; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = auto; - SKIP_INSTALL = YES; - STRING_CATALOG_GENERATE_SYMBOLS = YES; - SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; - SUPPORTS_MACCATALYST = YES; - SWIFT_APPROACHABLE_CONCURRENCY = YES; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_INSTALL_MODULE = YES; - SWIFT_INSTALL_OBJC_HEADER = NO; - SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4,7"; - TVOS_DEPLOYMENT_TARGET = 14.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - WATCHOS_DEPLOYMENT_TARGET = 6; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Release; - }; - D5F0BE4329C0DB9700AD95AB /* Debug */ = { + D5E04C102E842486006739F9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - DEAD_CODE_STRIPPING = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MACOSX_DEPLOYMENT_TARGET = 11.0; - ONLY_ACTIVE_ARCH = YES; - SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator"; - SWIFT_STRICT_CONCURRENCY = complete; - SWIFT_VERSION = 6.0; - TARGETED_DEVICE_FAMILY = "1,3,2,6"; - TVOS_DEPLOYMENT_TARGET = 13.0; + TVOS_DEPLOYMENT_TARGET = 15.0; + WATCHOS_DEPLOYMENT_TARGET = 8.0; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; - D5F0BE4429C0DB9700AD95AB /* Release */ = { + D5E04C112E842486006739F9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = 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_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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - DEAD_CODE_STRIPPING = YES; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MACOSX_DEPLOYMENT_TARGET = 11.0; - SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator"; - SWIFT_STRICT_CONCURRENCY = complete; - SWIFT_VERSION = 6.0; - TARGETED_DEVICE_FAMILY = "1,3,2,6"; - TVOS_DEPLOYMENT_TARGET = 13.0; + TVOS_DEPLOYMENT_TARGET = 15.0; + WATCHOS_DEPLOYMENT_TARGET = 8.0; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; - D5F0BE5629C0DBE900AD95AB /* Debug */ = { + D5E04C202E8424CE006739F9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -783,11 +276,13 @@ COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; - "ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = NO; + ENABLE_APP_SANDBOX = YES; ENABLE_PREVIEWS = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + ENABLE_USER_SELECTED_FILES = readonly; + GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -802,45 +297,47 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; - INFOPLIST_KEY_UILaunchStoryboardName = ""; - INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleDefault; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; - INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.siteline.TestsHostApp; + PRODUCT_BUNDLE_IDENTIFIER = mn.dro.TestsHostApp; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; + REGISTER_APP_GROUPS = YES; + SDKROOT = auto; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx xros xrsimulator"; SUPPORTS_MACCATALYST = YES; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,3,6,7"; - TVOS_DEPLOYMENT_TARGET = 14.0; }; name = Debug; }; - D5F0BE5729C0DBE900AD95AB /* Release */ = { + D5E04C212E8424CE006739F9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -875,11 +372,13 @@ COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - "ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = NO; + ENABLE_APP_SANDBOX = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_PREVIEWS = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + ENABLE_USER_SELECTED_FILES = readonly; + GCC_C_LANGUAGE_STANDARD = gnu17; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -888,44 +387,45 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES; + "INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphonesimulator*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents[sdk=iphonesimulator*]" = YES; - INFOPLIST_KEY_UILaunchScreen_Generation = YES; "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphoneos*]" = YES; "INFOPLIST_KEY_UILaunchScreen_Generation[sdk=iphonesimulator*]" = YES; - INFOPLIST_KEY_UILaunchStoryboardName = ""; - INFOPLIST_KEY_UIStatusBarStyle = UIStatusBarStyleDefault; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphoneos*]" = UIStatusBarStyleDefault; "INFOPLIST_KEY_UIStatusBarStyle[sdk=iphonesimulator*]" = UIStatusBarStyleDefault; - INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait"; - INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.siteline.TestsHostApp; + PRODUCT_BUNDLE_IDENTIFIER = mn.dro.TestsHostApp; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; + REGISTER_APP_GROUPS = YES; + SDKROOT = auto; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx xros xrsimulator"; SUPPORTS_MACCATALYST = YES; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_APPROACHABLE_CONCURRENCY = YES; SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2,3,6,7"; - TVOS_DEPLOYMENT_TARGET = 14.0; }; name = Release; }; - D5F0BE6429C0DC0000AD95AB /* Debug */ = { + D5E04C2D2E84254D006739F9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; @@ -961,7 +461,8 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -976,38 +477,34 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.siteline.Tests; + PRODUCT_BUNDLE_IDENTIFIER = mn.dro.Tests; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; + SDKROOT = auto; + STRING_CATALOG_GENERATE_SYMBOLS = NO; SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx xros xrsimulator"; SUPPORTS_MACCATALYST = YES; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_APPROACHABLE_CONCURRENCY = YES; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,6,7"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestsHostApp.app/TestsHostApp"; - "TEST_HOST[sdk=macosx*]" = ""; - TVOS_DEPLOYMENT_TARGET = 14.0; + TARGETED_DEVICE_FAMILY = "1,2,3,7"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestsHostApp.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/TestsHostApp"; }; name = Debug; }; - D5F0BE6529C0DC0000AD95AB /* Release */ = { + D5E04C2E2E84254D006739F9 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; @@ -1043,7 +540,8 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -1052,68 +550,52 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.siteline.Tests; + PRODUCT_BUNDLE_IDENTIFIER = mn.dro.Tests; PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; + SDKROOT = auto; + STRING_CATALOG_GENERATE_SYMBOLS = NO; SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx xros xrsimulator"; SUPPORTS_MACCATALYST = YES; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SWIFT_APPROACHABLE_CONCURRENCY = YES; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,6,7"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestsHostApp.app/TestsHostApp"; - "TEST_HOST[sdk=macosx*]" = ""; - TVOS_DEPLOYMENT_TARGET = 14.0; + TARGETED_DEVICE_FAMILY = "1,2,3,7"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TestsHostApp.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/TestsHostApp"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - D50556512E3A6F2700312263 /* Build configuration list for PBXNativeTarget "TestFramework" */ = { + D5E04C0F2E842486006739F9 /* Build configuration list for PBXProject "Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - D505564F2E3A6F2700312263 /* Debug */, - D50556502E3A6F2700312263 /* Release */, + D5E04C102E842486006739F9 /* Debug */, + D5E04C112E842486006739F9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D5F0BE4229C0DB9700AD95AB /* Build configuration list for PBXProject "Tests" */ = { + D5E04C1F2E8424CE006739F9 /* Build configuration list for PBXNativeTarget "TestsHostApp" */ = { isa = XCConfigurationList; buildConfigurations = ( - D5F0BE4329C0DB9700AD95AB /* Debug */, - D5F0BE4429C0DB9700AD95AB /* Release */, + D5E04C202E8424CE006739F9 /* Debug */, + D5E04C212E8424CE006739F9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D5F0BE5829C0DBE900AD95AB /* Build configuration list for PBXNativeTarget "TestsHostApp" */ = { + D5E04C2C2E84254D006739F9 /* Build configuration list for PBXNativeTarget "Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - D5F0BE5629C0DBE900AD95AB /* Debug */, - D5F0BE5729C0DBE900AD95AB /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - D5F0BE6329C0DC0000AD95AB /* Build configuration list for PBXNativeTarget "Tests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D5F0BE6429C0DC0000AD95AB /* Debug */, - D5F0BE6529C0DC0000AD95AB /* Release */, + D5E04C2D2E84254D006739F9 /* Debug */, + D5E04C2E2E84254D006739F9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1121,15 +603,11 @@ /* End XCConfigurationList section */ /* Begin XCSwiftPackageProductDependency section */ - D50556522E3A6F5A00312263 /* SwiftUIIntrospect */ = { - isa = XCSwiftPackageProductDependency; - productName = SwiftUIIntrospect; - }; - D58CE15529C621B30081BFB0 /* SwiftUIIntrospect */ = { + D5E04C302E842584006739F9 /* SwiftUIIntrospect */ = { isa = XCSwiftPackageProductDependency; productName = SwiftUIIntrospect; }; /* End XCSwiftPackageProductDependency section */ }; - rootObject = D5F0BE3F29C0DB9700AD95AB /* Project object */; + rootObject = D5E04C0C2E842486006739F9 /* Project object */; } diff --git a/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a6..00000000 --- a/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/Tests/Tests.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Tests/Tests.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d98100..00000000 --- a/Tests/Tests.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTestFramework.xcscheme b/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTestFramework.xcscheme deleted file mode 100644 index badd8b7f..00000000 --- a/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTestFramework.xcscheme +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTests.xcscheme b/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTests.xcscheme index 72528b38..462e51cb 100644 --- a/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTests.xcscheme +++ b/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTests.xcscheme @@ -1,39 +1,25 @@ + version = "1.7"> - - - - - - + buildImplicitDependencies = "YES" + buildArchitectures = "Automatic"> + shouldUseLaunchSchemeArgsEnv = "YES" + shouldAutocreateTestPlan = "YES"> + parallelizable = "YES"> @@ -51,16 +37,6 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - - - - - - - - diff --git a/Tests/Tests/TestUtils.swift b/Tests/Tests/TestUtils.swift index fa1c1afc..aa786f3b 100644 --- a/Tests/Tests/TestUtils.swift +++ b/Tests/Tests/TestUtils.swift @@ -10,7 +10,7 @@ enum TestUtils { static let window = UIWindow(frame: UIScreen.main.bounds) #endif - static func present(view: some View, file: StaticString = #file, line: UInt = #line) { + static func present(view: some View, file: StaticString = #file, line: UInt = #line) async { if let window = UIApplication.shared.connectedScenes.compactMap({ $0 as? UIWindowScene }).first?.windows.first ?? @@ -18,6 +18,9 @@ enum TestUtils { { window.rootViewController = UIHostingController(rootView: view) } else { + while UIApplication.shared.delegate == nil { + await Task.yield() + } window.rootViewController = UIHostingController(rootView: view) window.makeKeyAndVisible() window.layoutIfNeeded() @@ -61,7 +64,7 @@ func introspection( }, ) - TestUtils.present(view: view) + await TestUtils.present(view: view) let startInstant = Date() while @@ -101,7 +104,7 @@ func introspection( }, ) - TestUtils.present(view: view) + await TestUtils.present(view: view) let startInstant = Date() while @@ -153,7 +156,7 @@ func introspection( }, ) - TestUtils.present(view: view) + await TestUtils.present(view: view) let startInstant = Date() while @@ -215,7 +218,7 @@ func introspection( }, ) - TestUtils.present(view: view) + await TestUtils.present(view: view) let startInstant = Date() while diff --git a/Tests/TestsHostApp/Assets.xcassets/AccentColor.colorset/Contents.json b/Tests/TestsHostApp/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..eb878970 --- /dev/null +++ b/Tests/TestsHostApp/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Tests/TestsHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/Tests/TestsHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..ffdfe150 --- /dev/null +++ b/Tests/TestsHostApp/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,85 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Tests/TestsHostApp/Assets.xcassets/Contents.json b/Tests/TestsHostApp/Assets.xcassets/Contents.json new file mode 100644 index 00000000..73c00596 --- /dev/null +++ b/Tests/TestsHostApp/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Tests/TestsHostApp/ContentView.swift b/Tests/TestsHostApp/ContentView.swift new file mode 100644 index 00000000..9ee1a4d3 --- /dev/null +++ b/Tests/TestsHostApp/ContentView.swift @@ -0,0 +1,24 @@ +// +// ContentView.swift +// TestsHostApp +// +// Created by David Roman on 24/09/2025. +// + +import SwiftUI + +struct ContentView: View { + var body: some View { + VStack { + Image(systemName: "globe") + .imageScale(.large) + .foregroundStyle(.tint) + Text("Hello, world!") + } + .padding() + } +} + +#Preview { + ContentView() +} diff --git a/Tests/TestsHostApp/TestsHostApp.swift b/Tests/TestsHostApp/TestsHostApp.swift deleted file mode 100644 index abed6a52..00000000 --- a/Tests/TestsHostApp/TestsHostApp.swift +++ /dev/null @@ -1,10 +0,0 @@ -import SwiftUI - -@main -struct App: SwiftUI.App { - var body: some Scene { - WindowGroup { - EmptyView() - } - } -} diff --git a/Tests/TestsHostApp/TestsHostAppApp.swift b/Tests/TestsHostApp/TestsHostAppApp.swift new file mode 100644 index 00000000..2435522f --- /dev/null +++ b/Tests/TestsHostApp/TestsHostAppApp.swift @@ -0,0 +1,17 @@ +// +// TestsHostAppApp.swift +// TestsHostApp +// +// Created by David Roman on 24/09/2025. +// + +import SwiftUI + +@main +struct TestsHostAppApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} diff --git a/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.ipad-ios-13-screenshot-1.png b/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.ipad-ios-13-screenshot-1.png deleted file mode 100644 index 9fcbc3d8654702d1d7e68238783a529f59f461f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64166 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%0D5C^m;WyNaQGn9 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 HOE>=y8*JW` diff --git a/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.ipad-ios-14-screenshot-1.png b/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.ipad-ios-14-screenshot-1.png deleted file mode 100644 index f008882b2f4f0ec2e931b56c45ee39349c2675e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64307 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ⅆEtWz8^?Li*`j1_I6jF`6q6pkwZROrwNle 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 diff --git a/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-13-screenshot-1.png b/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-13-screenshot-1.png deleted file mode 100644 index a1f9cab1a58043c3ad5ae6a318f9619d2c925bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39107 zcmeIbd00~E`#+vpW1Cr7S-DWtl+&0xZE9}RWLe{+HBD-6RF+zbXr|x--7f1o!{A9&T%{_Vm1zmMuWKhXdCy}{fE z*JU2pe#`8Fo7Zo^tM+`rKm9Aff8T$3)xJOW&F>u>v*yj)H}8ns{@)OK6N3i$8ThH8 z=o*t6UU^+xStz_C`)aXoXX2J?-#tFyc;xV5*x_BP_wV1oP;Yh`J3qT#Jq)+p6~k%Ie<{h~yp+{*T!i=Gf)5%A5gYoajPyxhpE>(7g}GqS zijDiO%+s6yZXs!#OdWv%-p>7P;{vx_gAI$n9$mP=%|CgQjI;3T(S7(dyDy)+vQJNs z>V5jK8oFOQ4Dj6*&_|hHM>)1{AAZfcKhgeQhXKY6+dOx=1&dY#A6$5Sgt_+bOQ3G0 z{e3ZCPgkQm-T&V=Gnse_Z$9Z#xOw(2_sc>wmM_Xn7#L$IFcwK|V~% z)k1_*|h;jKr-*ra4dSyfpone_U#(xlM zZXe8nM12qWcJ8w1Yf^vCD8EQ%UCyg2yPB6YQ`t!G|Ipiwz;g#N%LqKW&1@B zLd(`XyDYoL4#>DvH#TwH`PikIr}K%E z1zCje2^bVY&=$h}fJ-_*^B6?eQz4|6XM2ASBTDnADXu>v4XK2fnhEoJ&)NVjI}Ka< zrZD^jnU%MNJi5zsUBg5+)r9n;d@83XtFjBCy$*+;%tGI-@p8Nv5Fzp%5~Wxt-ra(! zS2mv=@7ou#*{(`i9VhrR(Vq70O{Q!%GuN|ARRY-|r@Cj_xWH!aSZ1Mw=BAMJ6V!>S zrv{90vTvBfd`-Uz(;WgIn;IY@FPHB%0};pc?q{x0^>8m&H;NC=$)wJw)F}I)8GMb-(*$R2Rnn(<{DHdPF`OZbxIqi)MKpOt2%TiyB{4 zv+EFAPCDvyKY)5+&J0)FXk^uFC|v=K2Cu(|Mk% zbT%yR4+LuauiFZCXBbD{@1MwZ?21(GS)2KU;v|z>-dN_;AJIgNQ8O|Lv-0=FY=ndo zKuUc%%ez{`7~d(n(ocbzqNB}x$x%hNM=gGE{Ub!WrX(Qhv-GULYv)?qgbV`?ZNHm; zVbt$)0_pu=a1A3GvS$PMXn%HJB))k~p$}~{bmfj{4PwkF(yYQfzSTIotTr+n=Mb{H z|M&3b+riPv2ZNHmhE6s>bS;( zvXbQxjX&@D^s@3W-Tt+pJd^M)|4p#HC@^BS?_ko_ri=8%k1W* zuPm`3XTFrm3vy}4bs*!|p3te^@<5Qx);C+|x7drK^Bnw~LSLo5`|am7P%6~N`Sdf` znOE?dft=Y$ybCYXKGIs$6*{81b2zCqGVyd=?HGaaN^zh!!VK(Lb2Wo-Xn27ZNlXwL z9btQX_tLhKpGnP1AgU*#n5UwbMgHn^;6&`H=(2ZLx5qff;9W$~bah;|EIZVu3J%;+ zyYLPorEN^VCaav7bXnR9GRo-KgZi*p@IB$3*TN)eX6qx+l*$xDHw8zZ`ST?H=tYO4 zTJS>rp`zX2um?jxoH|~=7{*an42opws4wkzNV zwAMMUulW=~TEgGB)bowy#b$F}7Y?!eyP)@LJ5IOcusR%EWYV`$!_x1%I4H3$V z$;xc|NCmX$eqmcU?P+k>egBSu)&NA$SS+sYQw;yOO0)ye!8?}duI{ejkQmI`Py%Qf znoc>CqHLUTJxC9UY`4^E{h9@F!js_{w%0ECJ&0D_pV7@yN-qX% zwONmiAdhx{?*+O*@y)sB4T+Z>uZM7I%3{8yw!6l!hPkGi;H#}#6yDd3f-?;0k49L# zTxmIH=XD_7OYcU(5Q9=bzH*mWgwcmg^_UC0<88j&MfRzZ_31W5_Ch3-u4cyl@ywXv z;<%87(+cvB+bR-qe)L;m8D%Y-FNy*{@3;Nyd%AR)dU9D-)2O=hJ19IBGU~N&i z02#X{1#yF&4KdZ+c|M#%p=g)z0tQ(c*H_z9sGOiCP7J!!0HsC6z*&m~ zRZC(J3%cEX0$vnGRHtW_Xk-d|(rR$Pa5v6(#wqB}epGX!`Sqn>RgrzxkFkmQrTZ}W zqr+0GIgJd;wsxJmI7L>~Q76u@pF~8fFB(MjrW^2CuLywq197(4Zm1cWF!iCUgzW{X z*UrB5-JP9f_{Q$+E@-g1*Ti7h(l-+2a7!2KJVtbGZ1UGvnOHkxsg>vm{pP)y=OrXsc3)4LR1YKC z_wJl$^SA?N;FJAqeVIOCDJA^#qwIDUXi}c^`<}zah+#zi<~`|AK4{9S%46H@m3@x^ zuoHaWWU@M6IH1)g(X#Oo{?@ZUpl-BaNig{bg#LJlFz%F|AHM9$=O5;b;Qhw6xC{Qu zz0mNa*eX>-JgWY|_Y8V3s(E~NRiQPGI5eO7%W)48;=L%PjE-LFeM(94S;!5?cX+6}KK&=zMx5`&3pbjdyU3LUaQh zngg{qWwqT~B?1k^`#@O0dYJ!x6{6l+ z@D?yV<{bRy35E}SRY`to$Lm!1rZ?Dpv3!R2Mr`(EbFoS|m=>bS{m)R#5Zq1v$lVRf>J>e6F(cs0m7shK{R7O19P=E;O< z!GeJ{_SL!7&|)MfH9vxL1)dv5U;aMOX;q0^k+pQaEZl+pU z1i!tMnJN~>=Hp8C-r;ApM+5UTIwKeSE zmve2*y%J^&{c@Ul$@AwwDr>y?;x0+`HL_JL{8wn(MIJ3X{N=LG8UHJe`<2jH1Nu4* z^1p|c*VM215_~5|%ztzguN8ak{aCUnl`#LndvE#d*E=#}^6#NF*)`vOxkWdR{yS3d z|Cx#U5@;u@|2;I9IpzJ`mvg;XoN7ls^!3Jnzi}gN$+B(!<8-4hLw|()duWwEBmL`2 z*!_DY&RZcBo4yP!U;3}1pP^g*Z)vBvXoYT(b&IUiWPmyQRj0}SO&99S^*=m;&Rpw! zvd$;}w~^2RuYV*`binH$MnZ?Kbs>~4g!&Q$>dpU>ZPmre|Hx?T;^coA2^|@tBSUnI z*B8$2?`Ekf=fqh{)4g5r5gWX zBy_+_2fTFo<`ohs7hlm8K&>429GcsB-*1yxfafjJf#WKTn*wRPHg*8(j%s%SeVq*NReI5OPH7P!#|dCL=pgTL=ea%ZCWP-apShb8e4BFA?s_DVZzmgQ(vOnBl>9{ADkyP3{~p|HZqs|I)g%U1i+uY)SUXF=fNEpEQ8k_?+Xtuv zQ?Q*HjT1PIhA}E}Uq1suUTXHTs1Rm`ssfbi{@ZB8lrqrq-uudsdGm}~w7mdS#zpGB z$xIlp<1jst=0)t^&gejsxIIPr%D3jsCY#}ohS)TMIS8xIfC7~gb?`noJvR$hzxWr1 zq9AG5iYCj=uMIEcXDCp@7{T<-lzbW9-^lfBmHF&mjjfUErLnt+vC5`&TL<-D2W;b~ zCxoza$KGZ~MpwzENX&-z^xM7sG+Wx%(fq9ySy#gR zCCd}dk-dYa^Z5*TEjrU@ze={r-CEk?M!)i@%5?3G&7pWhQ}uh2q<(fHv?fw9ysO~F zkZFHUP68`~0L^Tfp;1B_9&!(s?Ew{71RVRt87Op9zlEF>|Nju)P(RDXKp%2E#_Gl1NmQSg^zB!3r4T3S*QJ%_p`9j-# z=ZPq}vB88%fkwnNT9$(WvsHRvM86Xj%`&VMOpMmVwog&l(h;wpc}ZbD>QnSXdD8Y0 z@a5_CUh22|QzF8twNb?Wi1pCp#S+BF#FT?L#<`2F#?Yl`|KLp6MXlgKC4}Lr1$J{~ zGQisK8TJ-|ind@|nW>T5Z-9I#qG38!(XKLrRfT2P&mcADg?}yk{oNes3vV z4-01o2cDsYGSynbNu~xpD3 zhlCPx+jc56ca6)}lX&RFHuviZ1&a)L0~@XC@&}4 zF94Kb^3K?(1g(zJY`{L-amtRLn{Nsg-E3*F(Wr*gMbB%c>pBs7C+draj~8iXBtdF} zCfThMILFVAh8?hUq2hWhy8}TeH&2>!bN*phfM{Ehb6q}I5*aJyW@Hi1e&1f}?cBKb z?(ExL14ygYOk4|n4Sn+w(PM5GN6^B#`ira6dLALn{|u)o zgphRVB%&qeL6ZbA^aQrFZ#M8v8q-ytH)|%?<(cqiB!>{2&>EH@i9kt4g%$)66Q`^~ ztV)`aVrghBVq=W-V$xH;uI>>Zle|d#-1CpDvy3tOmzOA6i+gLD%74LcQC|$6GyKpX z&lSEW=4zpMOYn)zO*9ty9o#J1&snevUMZT_JreU*6S_R6kbjK=S%1xh42k)$uu5~1 z(qtiWIAQkViwDT+!Tl{M2(6IXquDR1&oEixK+SQ&Zq(_Q(%O1(i+=USfw535Pbv~EXz_aMISZx z;6TdKH^CR03L%xr*~j>GBG;?KQ^)Q29~^c_BKNezD4LhIEnMSe?>-&>u4xCmqkoO1 z?cVr0^OyW2DK~p?g>A2CwgPQA@MC-%lxG9&V#T9Gk0rQB6J1g+zFzVdsA=le2D+0ed z=Z^xUWudjFP|*lqCV3HBp!xHiW~WaE!Pq829EArvC?Ch+Q?RnG;SY#_$N78nQsH}m zlI)cao_U?iPpsKMG`HArqof|rxOxPbK(n;zl87@!wS#k_8?A|(g6Jkot<~$Fi6VQ> zc!&-U-)a04J-CxbV`tr)h6wYdDG(l9`VO<)bG)KBbJ zxzb;h(lc2`d#A^91~sy#rCqFJx2dz1DHcuxx4dG9{j;3I9W?J1F7Ws9f-kIZ>eg z`Skh!U527Z*6OOH9;Aii098HB1Fyj)ZBQQ=+)jIxjZ!~OX-;|6T)3yH`m=iPdT4ax zu&BPc>D}WnP$3ADc~r$bBN)8sT;ou>2DblRow5s}k*pD#+U$KfaM1|@T>Ta101REV z%hp-4@PvQh6fUE%47!=|dxi9h=*?I~&5EF;cf%$8kg9WdbEJru!mhFZ7T*93*%_<; zj(S#kCdKMTtkyGG$0SCrpWh0UT>^@bb3E>TgEb&Pp@r5Y(QT6G*fC}OAH&9k&xhzm z5@zU>!O@mM=wtuKLG>4{U86S#foJ%=47&jXuY>;18|?EypgwAzrl}irW7p;i+Ft&f z0b;krJV7|TQS|sCab&<)L@jOF;*T$@pKcypffYGzUoAvsy05QMBD+;;;ea75{xd5q zoSteFbtwn|NPNa+E-|sc!PeY0&n{@kTI?%3Q)rDjVkjy{Y2Ayw#I?@m z9}`8tXgdGY;zGvKH}36#*6K5^->ef%glfBU_<{-~Rd+u#%3Ai*Hph!(p-}2GV_Wbn z>x_|zQ_M>7V+A{smLINPa8dA3dzD*k9VI^3UEXk#+ZxX1^;;m* zJeE@l?d|^dZwxr?fuegE=SGp3c<&)V_D9{9o>`n5 z7{XP?RrLc$4GNYUU{+ugZn542vf*RF8}JAE-)v|gukt;$4_}s;(y+6^O0XU<^Tdrb zmI}_Ne76kVsC6~=X0e*#54A=Gt*c&sEZ+m5mfuCg>-(xY$fHpAf*k>urc}>wQ}O`g zXcESubYoFdZMS{ads2+LE+(cLAHbJYP0wa`w*|35*md@$QgpeL-By4{&WwX&wdj>8 zdQso+VjI&Acq{NP5q&M>dI7F5HUzWY>mdPTvQjvk-_SS^1K3MInC$x)_f~<|1#^#C z8C$nN;!FA7yJgh2N6?EG|J%5jxcMtBH(*&*SKHv!D{G<012q$JFUoxp7cafAE4RdeH`tS|&Gx?(dEe;IxnszTHQR)ub+4vPY0W>& zDYMj!#6xU^N?Yin14C~!m_H`%35v24?|;ufTV)AM4QM{&WW)-5#NR7&K-GiJd!IIc zv`}h=`EULG&w#-uiy+Mg#mK#uO9V|=YZ}X=D98a7=%>uWE=3LK2bl^FrkdP5xYuz1 zWLYng_0faj9B>*qjn{4v$x*q!BQ|oYGk_jzqnzcdgtzjX+iL<9qK8}A9}pLMbF&na+x8{<+Bpu8P)e|{XzDhF{tr{6o@hQvp@eb$lm7)ep>xvZq!7j$7fvbdo^1ug! z5v=iEDT6M2`w20>LFL;$JQRJqZ{o?Nx%K@DMhpk%zzDzyoDS3q=y`neLK@~ssuTNN zSO#%K`peB>iv(^*ttKlh73ATV2ezlN&UAG!Hb5V zGA87+M9y%TR(m;tCVkwIb&v&%%u*ZO2Q-rg&Qc#S&&A!muA@~ZzTM89)+nFlY%kE* zX1Pv~O31R?0@SBkyj-OZN)nFRlcc?#uEh4Zjy)ZwMH<#K6Km8-92Pmgi?ZHTCa|AP z^Ea^tPs^hTrsZgL581p(*}2UGCAbTTX*0BS7JklQB(_bH#J?Lbku$?=oU6D!r6orr z+kxTRf^PyHe0JfSM6*69sY&F>-e(cfg`c=L?nhXS!t z9l4nJ&W>zNMmur}V$mQ({}wy!wAl|szFJwX>=l<-Vx49YEoER*_p5C{w;^()!Gz{i z{_T0mS2s@**jb71PT7;?_*O>rhg$}m4HAu?>nwwba~d*2$rHU>-Xsr9y~o*O5f`t$ zj&VSUVpSfUBz1IVat)=Q>h*fw*l9lW#+iRWC{iFdGa#aV+rhSfA!<1hM zi%B_prBShfJ6y8z95#+~KF3gYmwc&Y$l5gN5E$GdQ8y6sbF1^!kCaL&!AO2<2)_p^; z1wnB=h8egl&07V?b)4W6gqX%yOx=N~KN>Lhq?e)4?OQs0WrJ_h=Dt<}%);DGZ$8>` zGS@Qy_`@C~0bdN?lq8W!1l*eMOgy!1B@;`cLtNXu%2;%tf4-Zcdc2uak6;sf=?e<==zydlhmgYmO{XYcD`a7 ztw^gOU&_;%cs3x=?V7Oy&VYZA-LFGeEs{FuSwO?IhRHTE-lAvSE0$0rCxIQNdwh~w zPBM>y3F3~d_=y7HK|Ei!Xkgxar?o4frU@wx>@@jniD@#XRx^BSzlKYysTWI;p&!`- zsVrLETafVXmAkaFm7ElyC}PMyz9P>yhbJkb-N8}aF}z;;0A+kek&s)LvS$TBp?d2S zq)wIwy@uqHON*&`#%7T9^u1;3_0RP^bYFlRO^lv`iaP-n{vLDTh1!P8aP$yk`9 z2#;iR1-dkudO0I^pKzI}E%Cu4hFwZyBI9KX?a7bP-TF6ETx78t=>;@xy(C(qZ0C8t zJS_@0n)1V&pNsNwA36@;DqudU@7wzhUR!e6;D$m0BTeq=g`I;HLRCfFcJ07e5+=u&(Qnoqih+55@GI#TLarU+!H?+)e z2+p?XdGAj9YX;&fh6dl!no`$j-dT-3ai&^)D5V#h#E^fx8tM_IKD_bp*Zcd?eA0k| zJto{|2A|bx4IPOd4^zmjVQ$jaLL*iAw9tur1gAFeLQ87%{LJKcdIu4M5}Stb;lE6S ze0xulgAjrf1mdHg(+?C(wX!3~v8-`+1USB>n|&t{7teTaTlzx+%aExt0!gQ%^UflaW7DrhA3ro?Z%5^cRdcq^@I>aUd~28-*kB=Bme7(_V2*Q6Nd&X+aG!AuBN$7p|3! zqEi#q3!6E_ZL<Rf5u;vqQ?3m#}E%P1BX{B0ROgwJ1K5etxO58-_n z`QyOTdHdk|1~KZ7{WZv;tHLtkNP3ypsJ(B9FoB9A-zR)J%gnd6=I)sS$MqaVCTn=V z7h!glmgYqhxK+^wfZ>6n&$wLP?O8u8=Sb2TikESN0_ybc{wZ|${8s(uX7kSox0-qu zZ2V6X4T1~R;9wtof1|1CiDFb1(0muR_Cs5WcF1T)6&nmH)9)Xw@`FJ*rl;%=K>!VQ9d~J-WxITR-CD1xVCrj72@yl=qMnozP%Ui0rHV zz@Tkz7>)I~7%nb>1wHxT@C2plS!ywn>z9$B37Pgj9Ef6PkY`!8N~IMxW`Ga=6dm6Q z#SFC-AuohK;wQEf;S-e>Ljm?xlxB6IfqLR8kHoRERs9(Xk$b+Nt70AWWSiis*VnW#sg8Vc?v_+gsW4TDAQ$G}mYQ#5uA*ahIX&qppz_rpue5Hr1 z;29Ki0m5)Nnld|1KS;+~D5R);B?Z3)$_EDJNjIOkr#aH%qFO1L{hV;x`>Fzc^F(L$ ztk0SV;iI)+)aPoInZQ11=4A%DI%KfPZ$0$dss>_RwCRW z{;8O(nIRV^_9R@nDB9a5GJGN=n?OFzA~}O6ulbOJ5_&TI$-*vuXZB*ESDoUhswN-e z!;qroZ-SIvOjrB58EUlZq=y&AyY$9tX>n15%HGql%C^Wv{HV@|tTAUhixb`H%OhpA zACQOWk^*=~ZCyfX<)!DaBeo>XfYaY-j%VUh`cp~hI)x81!XN2L?>l|a-zA{#jyL-( zoX{^{xs)B}eZD;DR)CAp`LEg~MAXiS+VV20_a?@Z^1dD;8go^j{}+u+RCK(qhW!qx zq`Uv%b6XOtpN*=sAU#j{buEnZKFr^_>3yurVh5WFi0n7`FuQ;hxzF-9G_;}PbRPNr zQ?JtIIBHLhW+1~gR0O2m5)Q!vLR2L229u7LwE_=;zpFY9OZ5h5LLVROt4c(21`myv zz%r+|HyjVvYNLfW>>TgW7`Kd=0jbvT?&dbkJOyp&onqQ5Uhr+6w_H|KGmn$GcT?HU z9#n63c~LlJvu){OjH1M`YIldD|$(GkXJO50U3!6ryRH{-a@|gUY5au1ZWXtOLwA?@@Pf-Ge_J=Y;1aTP0>_--DL za`d^N)LlwY#16NC9oxNsMmqIwPw@4JeDW4@ioLEVm?q92g~Mg;M|zbNIMqOeOS@y_ znTDERV$F@x`d8*qOXlo}ngB^4`zJN;L=dje`_kT9jR0ID7&bI9iqTslKNKvwY_R>H z|KL4X-DFh@k`G4GKoZMmktWcS9-8S#9py#`OH$%ne9Dx_9W?F_E$sM{DH&^GncYlh z62ZdMf9I+7Q1JlE0o@=+jVnFSO1u+j11F%qE`M-JO!YRBmJO)mEPM2id)UX0f)aiG z3!x$<5DMqB(_K~D$S)8HWuWm89&`))5tqNs!=ze`F^6XOt1A@Dmsqa_IC2!)<4R*W zumV7EdSGFlKH-o*@!ovhUg>#@_($C#-~XN7L3owvXJ`8yDEM+|IwFGOJaFfvZ|N zGf!zKPr^zh4{o%|-Xt>c(zqe92@3{zALFlzJB537H}cLtc;ox9M4pJ!UBti;>GFW` zx=~;P40b>K9Rw~i>2gtZhEu&szRzvS3J#fJlcKu~Z8vNOBjv^|2g{QB74O4J)~<*A zO2)-sOH{p0arJknXTfChFsqvAz`NlXR&Am$Fo*I=EJBqvjqR~NZIJ6SS>)b2yxu42 z{NRv$gnZ^#(Ej?*rzS|%Ky&zsyK~*~?0$RTboxBLyXJ<8wx4$tEuq=h40FHbYe!j zIau*s8*7ww!k+>yW>R9!-&#XJP;v3O=*$ux_Eq)e#JEX{MUQJ?8Mtvaqg)DNr^nUz z>nCmgNh`$r8vdxXNHX8LXVg4`nX_VJR1^>iTxXmC<%x*dN7s%m@3WzCTY8-qw;-V| z1~hQO3vf{xO4==@dqm2I?>d!vZR3IFRqUb3jUkkx#2X!YdjTY0T3^h6#Q)4AB@SGd zPxRb{_*%}ge~E2h2{pLX>O|ur|FXh~O8qs$+9Mv|t!GB>OQwN!2QD#a3S8cRvT3fJ zG=~uexdxa>xD&5C1%eiFdT|Lsh`b`KMHz;{$2~tK@vz{9W{JmvdmC}*fA8&4e7BRK zg7V#s)x}IF8j5wpGRxTNgg1)$%>MfsA7~~a;c0}kexlgWHmQ5uCo9H=1c?>xtjQp_ zHjwH&&xkx)>QE27nb-YpggM>xXTVMk3Yvq&Y0>Nrn$~=B-QaD4_{To!m4Sp)j2?Qu z_>NXw746el$MQOhZ}}bj`b8m%PA+tTKgB+BM0)0YY^*qn=5QWZa){V{UQfzA7_#tP zkG0b^AU+2=HQLQAR}5)RL}lh~{b*jXmBzK}Ekew2&fnNL7FNRD0KRf*)bew$|1lGC z)M$em@iV?)lR4J#cn04!@DV#=-16Hl>xqslWxZ;jN8O>4-k3YF^dGzhWckZ(V*s|H zeRG^6m8k^%`q4EzVlRk4Qs2Yfde+LTVtCtL!$C-C=NP4&w~AZXnytP_1kY9w00$Az zL=%-(^2KeRV5&4yF|ZIp1-`m$VuyiTvB)*}ff%~JZOwdIk-uoC(wqrq+`Pi`|B zxzrkn)>r&51O(I=wncntDw^pG^wcgP*G)W?G}x4(x|=LHjHwq1wm&soDSiL!(L+xq z$4gZxuPBec4w#FjMM2K$IAst(>`C&&f#o~^QT-~3-m69F3d;Rns}I~JxnkL7+VaV4 z31)4XCAxzsdm?Tc%0Z!;THEU$2IbjD{?ZWs!ZocB^;aVD_dw*+Bjnu`YQl?4M3qfG zqv^TH{2qV%wdj0gYb$RXm3oW4foEB33&4de%5PPIoUv}p4rGrpiG(7YROOY22B}L? ziwNx%(gPoQfY>LHan%9fe7uj^KtF*1yYo-L&{jbzh#?aVJVsFaQNYpz7{SB+F*uDOTZ+XiGmzZl+1rq%^ z)}!~NFeBivaihE#_ocRs$Cc%rYdMav@zxx5Ezlg+M)?OFoxnR$Zt$Xi152v+!oz2` z+7~q9?*+AG(DqQhL;aIZyhfo0-m$Lv8*i)t7!IHfC*WcQSCD{($4KWmG}}Y|s*^5h z-bNe6l<00`{KBIy8+Qkd;5))fI*ixDH9T~JTpni1Z01%^ViQMuyTY5fRGfT&p4jyY z>f)tvy!ntdF0zD@E+2o}%rT&3K4W@3Kz$#I4Sn0C4-*GWZdSc{(E{?$Aom_f5WhX^ z(l`4!oUC$hCq2O-FGOz)eqQsYOv+E%2=U-_58HDjQTL_e3x z|HuNuy=TJKIVLLqN*H~RSi&F3_dIQpEKka8?j1*usEm4x3cE2wrC8QSkk9eK**uSe z9hkIyEw^Owr3-2WZ$3G`bN!l&Dn`qbgAGd`x&}rVFv&@a0iNe6a0x^dd`~yoGIvWw z{yrBgKkzWgbw*6%L89K6<5YKujALL^JSyomKwJ?~>w4oLqnEWbT-cmmf9(>hH~*3K z>BISbU!Qr>i2u+2tMh?ptTf(y>hicE`b&?A2mjeq_6z3~d-m@~seGCP9RJ05{WW{@ zb<0=I3gCYJ=P4{-7_F|fzn{?Zi`9QLy4?soqGjQ-3$z1EOtoFRfw}tqXJ1#K!|u{` zzgiN$K8fYWvj1#VJ5P_g_Q%H;jJ8GOeQDgPo2+hSbz=NKk2uol?B5NOzHsh30|g`; zbk_LqS`nS=`QL}A>HO@MRNcH}9jN%9YC9cV{JSfR4pitsg*G_RMLoI@PlurX=K(l6 z1f@ezTHK_gWpo^r-h3Tg)WJpVjz%4CtRu;Fgqtq?p?#K~F4v<=Y+c!>V;6PoqAnS& z%e-r|^g1e4N2ThhRJ{YbWV9|Bt=k8s+w`Tw#yV{L{}3CWD!zMl-n>Po+U|bZGG(0` z(zzj>8`8NUog4ap=Y}TI8V_K=Bdr*RnfDa4gb!y@%u)9=i&h}I7I4wUh0C2L{%kT* zz1Y0GOhcU=K}Y%g{Iv$3w;%{HvdP38)kjS+kNe|nVwd1q;EH6jadBkg#2KLiQmS@W zs5i&b>tOEtp~FuFe_jcjMlVW+E<}w-3#|xs?jn%he4_O+O<^EHdIpEgi=@vwb=t&U z$uI;e4Ahd16=jVkF0&sK1TAQwbBkHBoXMXCC5C-;DbD?QXyejU0#sOGH1%D;;5SRU zqRA=!%i9~O!#5q9FDBDvDIh{JbIHJW^G&~FXh>f$SJhBzEKS~Q^s>(#WrkNkeRg9TS?;L%x9%v!z05{G z;H-k>iN-Hz(7u>tduR10Z0wtdJ}#d>vXg$JCmlIMA^vcz*&BNb**~1p!|@@%O5v3^ z)G(%ne?&HJ{lE0{_@fSPs!eYJ1tASzDonHl_um_8@il=$+SlR-ZT}a~qsHKz;?uXLYv-HH1O6R3=;>De)9K&; E4~oj^!vFvP diff --git a/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-14-screenshot-1.png b/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-14-screenshot-1.png deleted file mode 100644 index 74dfd54e481e020527b57054c42dc442bc201521..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66635 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 diff --git a/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-15-screenshot-1.png b/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-15-screenshot-1.png deleted file mode 100644 index d8c9541b96cee7b5c7c8d631c54c24bf8b553cb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31691 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 diff --git a/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-16-screenshot-1.png b/Tests/UITests/__Snapshots__/StatusBarStyleUITests/test.iphone-ios-16-screenshot-1.png deleted file mode 100644 index a5129697e39301780e4fb8bd0d64950ce3bab7ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68961 zcmeFaXIN8N+cs>+j>;$^B`PY8G%KK#*wH~iMM0!Qk)o1Ng#aN$Zd6o+s0gT(IHDp_ zLXl9?KPJ3Eg z&)WrjUOI2l{7v%~&zu6hEat2K_4(xdo%0s{I1XGV`o_FPKhLoN-e-O~f!EA;X5SaS zn*Z}`;Ml7Lzs_Ft^wq*&pO+2HeC=eIrwj15%*T))Yr!6YM!sR-Z~CH zzpL)|t;?(rp1i;3AoI6fr|WJVzV5!Y?#`Nrf2@AXd8Wa7_gaN4f=X_>cq`hwCEXof z7Bo4;Vu(lwh8&wR*V09r4pHQW97 z5#V1t=XVW7$NqH=@ZtW3$FP?E{GuP<`Sp*k9n@c!nK`sZe>3%U%{55mKd)b4jaxh0 z(vNR#zI+&W0$oE|@Q*Gma!-b8|Kq}kKi-DMXrYmd|JkQnqpp+x=y>Gy`CS{#wIs`b z^=0PV$FPFff41GSpg=#&Yn5yfc_TioPhpct)Ozt*X26Wj=@6kHPK7#C6a7e zgCL@2A|0G(Hdv?R!1^q9M`rr?W$216rsoSBBl|`LG++tWL#Yr($=wgO zEYG0+%jZ`ZG7$}?sHurQNEz>1%!iV&a(y`L)$Emg0&6RZNrB>iY_%@d3yq1TCoSikU6eMA4TLS1O>!su)?-o z(|p{H(z~YvBxx*Z%_<#B73Pee?h2mYHLVX}gt|El$mz}SM5J|MMW3TOM4_#plMF?KK_~K6QB#tp^zJC@JQyi&#ivfWi&H4hY2!r=Nyy%S zj&>_j`-&>Md`MeRDlx6s@p97aEv1l-2-`Gkaaj@_4r z%8B3MmpRjnT!r8v!(@7ze=1mE@}4w5f@2F=(S6M!Lb$@~;L+6D8)@^N6hDD6Q(*~S zSyqFN#NBlqAxN~?O7JZ);8mi&v%@MRvd!^`Yw>M7gJR}!G69Z*S+k`EZWIv3OdjV?q@sdBpT-ST<-&`)F^jK>>Tf zQMhYX+dtOJ6IXjqUNxk$1aIgv+vIE6Sm@DQ`W^NNxUAK?8!1I~Pv(60cm9D@-lATQ zz;eF1zLIjfR-=FPq25V6S=(Mok?Nqw*RCXHO?y(&vhQ+rU(lcO6fXh1!bm4zTD$cD zltI%Ea>1o~$G%L;*B=r>5NPtf>P;t5%u5+l4we!3%h z6%=w4@s1QGhGv0Wu?AQayGXD^G=gzPRvDg73pPleUwU+w`#66rA7RA8WT{QjU>|oU zV$oMlwICV|XDiyV77hsZuMCX-3{A z!O2AG?ZsHGKAE!z5iw7=4_s7M>)O!_ErReLZ#|1Xw!Yp7A7Bi2ZOwzH< z|IbbS=%=C@KLHwo?UtbPU*rQe)DkgFQ@^DG8qI0}>TcR9nPyp*6TRtoK zHM)Lc_%*6L*hdnkP36e_t%w{cXK>uhjc;|2A$T+7yh5%|)v8|BubF(!nLJSdabeMJ z8Gib(+DVB)Z2kORDX>r=d;lu6_!^8uiggUhiu%DV#hM4lc2Rv$4NtK4{V;`=qpY$| zE;tkrrAoSjM0f|D)7^bjp@ES96+V%O}Te6rnUOkhw z_SWn(t<;s-K7l>ahN4038Z6{Ey=TI+FejoYK){R!q&@Ptw0jJ7IV5%J6K)F5V%Wne zvejG1hx=!Tae!^;gg9wQF>M!=W!RoJ{cP~9p`)uz$?8M{m@N2CE;|ou*BP}6ic*PS zU`ZF?=inbpTNidBm({RM%{gJ_&)YoWVQAUJj0z3s4M4NN+T9jHZ7tj(dVx5-h(_LW zNV3)l?wAoMypkpq@|BkrgWTysKgOo6o@GVc!oP9Sm2010*7~lB^C_&WeK{d4vkrrz zPn=Mu1xC@f^IwFu#j~x52PGX z+}{}A%Pd~Y3iEK184XRQ1juGtGJ-m&7(&-*mgPm1sRLus2V&EVqnL?zg^{OqsaDFl4yatMucq{f0i&7q zlA7W(b6Y8uHm*VSSh-Lc z1_}!8hd84&pM2J?#o7H)rZ&5A{jyeQh;pxwM$tA>#eGk*@Wp1T@l=lgxSKdSiHOw> z7&tN(p67U8Df3ur!?DYn?o5jgjLAVNi%MfJBynup8%F!XiaBg*c7z&x%(Am*aLCmN zlj-~17_*YJmD+rOnkIYHr1HHxLHvSCvzYG8I4bMr8OnRY>UwM7GQ*nOLxYo}L@H;vHXb+aNDzYQyPmF)hD%Pe) ztmOkMO~UilY8;BkV^0^BT7O;N6`b2;pH7oLLQGzGugmZ7=D*`oqp-!!lBOgW!yPH} zWGwTSd=HZCL7N4Xqr^3DU0d9PlEr6n?3cooKc{cSGUrNszNX0F=4jMp6HdpR_x+2G z^f6lx@*xV-zovNQG{k%hm8INkj~>|Hg_8+uYgLo0$jM4J*ai=uJa1S8QM4t9^DG=8hkDP~ z^dMEf7p|PTBRM4fx~vOeOS$9~G>O$y%=BqXpJ@a+P-a1ixHDSQ4IINB4CwHREUPVw z=nkfXVOckjZAk_-#67js@k8Tb#Onh@PMH~Mbp3_VNj`nt>qQvRd0-k~gr?Ijzq?Z% zQ*yS?agb`J6 zf$k=&-*I^YQ+*6O&>sdVf=io*>iotM!s=QKL&hsqJR}r@(RN>ylcLKG%yA;_AM`g| z>Lk#mev%)VW^#`IaAuTSzWX6oe@0m<0@qgiL5)@Ld$D*hJ1nC|g>H#J)CU!o`RgAf zXlM;=-8#^%si8mtz|n@#f+}d;y<0{d+HjPtTt!oh@jMd%w9&{w%VpZrb-Q_#P`~$!M{fGG+}*0Z+ziIA^Z9H?8uP{@PzM@f2b) za<(9c4c+pSZEenz!6<A0tO6AaXRTN+>Uczav#=0Jx za3V!y8ZUVd&d&C#HdORY9AhBH!?sWj1H#azzGUDLIOmpE{=x1wz!wP)gvF5O4+H*jxS;2;q{ z9_2P#NO?Zr57@xCPZfOq2D>!EM}{JEL;J*`T6z?Q7thxpUS+7`MWt8>Y8OhrQXn91 zCOCXx315@T0{9_x^`(r!r4ww%tuf5n)N^BQi4C|F&A4xm*lU%kW>0cmx@55fwx!<+ zWbJq0J^4)QP8Nv;8DpIv4E}^l#?)f%H6w&QULcXqt)9|aT)%txPwQ`ZnKOIz7)M5W zZxQO>75tyCUOj=KpE|Up1|Gz0luM?vZ3*v0_=pO4$OJu#0RtF);1mvY>FzhSFNuV6 z^&g1DgbgfNei10E0TQ)s0N3O>%;V~3+D_KJK^q`E(Q0O)ohRdgOR_Au8uj~<} zcUb0f`1X;*l>XB;s2sr+PuR(?j{0O?|_PyvR8M6@>m5DuOMTySHN67`88L@+w;V7_sQPD%FZDUz>B!DcQ&jk<6MV((j10a$s}aM6ULmw2P5Z~k5N9jnf=gK`Scs#2E zU*pN%rED$c7brg^9`JD~bHl5d6+h$`nYo}wX74I{`IYqyJDr%N6c`6;*Y%Rhb(KjD z&I#1sXuwGnej_%__d_6|wU%Z6FpHGNS80fGEon{0$tDrLoN>1H7&1O5Fs1v1)*rZ3 zIIivEYE&*VkU|=K)yI#{PvZli= z9f2KHq)fdeJOIgOUhR2^3F}EWY|A-$6m3mD`=*8iKNzN7DPT@2a zzWvLqdnU zO4=QVM@ji`-z+#ZOWCm32F~rP5YQ%-EV8&a;=$PrZz^&$oAzy`{1FuY9BQf|@-hZ+Uf@bc~9pQIm9*nYhWqRD52B~FQ9>L109!>l3$ zEUu4L(R%EIlD#rEVw62!Q0f=kAhw76Yv|!omzLkwzZze(^yA`x4Vl=Q*645hI{pTJnZ0Fk193&XHA ziXYFmH$w~~_bm9=$dFg#^lgz3`R_fm-`fMiN zoR#|5rkNGUoLl5C3vcOc#_OD0RL(N=n+%LHNnJhS$ z8}}DF{Cv*gTyET4Zro3EbMBVGIX~Q-AMTgAIp>F)^TW;g;pY5sbJ@Rhcj3=H_TiTu z^?!Rq&9tHmKY87$pv>a?>BcK=ZriFi7Cvj#{r0u?)u}QGe+qb+2}VOX9g_%aa)hib zdFQe6EA!U+A3k+gL-zG?9hk4t&(c~N<5-aObGto{1^b7}h_Zy21F;*`N5 z33?_Gc(6AS%u2Jvf0$-E1kvU8sdn4{=d;<1Zg(b@nKk)4ANz&zfYYFC?HX$3|9Bkw zn+5yNx+}8FX#Bd96y)|u*~7X93B9G_I?egPAIZmy*j( zZHaxl9N7e8ZYNdQOR!;~YD=4U z(EVBKot)ndSuJ*Jbm8uE!pO^xVVugoCN!S~S!>fo8SsdSVJAi)kMC<1GH8V<7Ic9Q zjie;_w5|O({=4Pt&frDsTi>l4K7Sah0#u;9gf3Th7Gg##Cx)YxEpCmqtilw6%tm^` z4wC(i#=p@sIrxG}W? zk&9&xT+%_Bo@od-y|-)L0<_=!e3<#dc1xj8hGfyvD-o|kML}5a#|K|uqvCB#x1E%F zJeKJzX$j-gL5$mvGfr1F`{HHB^$4Hd8m z3}-0BmCG{Dj06mY(r;B;2W=A;nI~=UxtyPqd+r5k{GM^nXo1r`n&-%qow)60iLiB% zmd|c?;?m}iYTwlP=D1+R;tka}GF)(s94I}#g2@=J(l*DzTCv(w{FVLOx3|csu|1eW z5rSGW!$c%q=jqmmFp!g;yzuhXcNzJ^YomrWFTF^#N^wGw_d|UJZ5jHKq4;xj>^TF8+>3qSIUwP$-)+8%l zds%a_okp~qN<(H_s~J|BTFdfb_r_~#!X*bfNbfAfZem=PYyPwA2rrW#T}H(C+*q^} zYX8>~I|Y>_3#7a$r}!9HvaAO(BDJg(A~MUhb#P5P`;ON^NL-3lNX!TZ+&}d8530%M zwfWThFzO}$n5~Cj9XSkjqTDX}^TNwD!)LCnp{9k_t*C#$XNMMCqNGE&%Rh*#LZj$` z^;LV!ko_-;34&)tUUHcsh~KHbR78o37^|`E3{;GC$iCj_h~RX(P>Tkg+`Dpl0+8k; zdo3+}KW{T$2@UqQVv9Z}#a-2D6CWotUG&d;|7YO-E2Ul0}PdFOFfE&^um z7d|m)m^Kk?d+#wmB22(7az$RoC+T>Os6{w?oO&;Eaa73 z!q^GMt?>$RpRL}wE?0D3I?P+;MK9YYf{o_uADVb%74aPd9#M&kI}Uk$9`3^H2X!H< z!v)C@H4W=k`T7y84a)tw-l|@U-a%~x>u~450mMvJ+zI8J$$E&<7 z(aq`i$O|)asl-LYHTkw2Y3g1-=|corI&Fu&T-NmMnv-+#Auonu;vo9W@q&jH!_p7r zAVsuQ)~U6V`}D%M8*GpzNJ!3`EWEgZqg||dqU;z9gbaud_bpehYAa?Jyca#F4T#Pa z=7T%=px5kC3Lz(LOZDL7iboE(<_VW1*(u^{-iRWwXW0s4?Fjevs^Ri#bI2xNE#t=L z1rB=7Ra2_P>!|Ya=iCxbH%9XgOJs8*#dNeR&D72h(ry zvre{e^o8ZSQwyk2Bv&8l9JcKttg3#|`~}`W-TCd>yEk4x35`*%5RxFNer}r&SZ&tE zpjECpnb`=`IpQRCJegLC>D&X_rr?dh`@s?p1$m^FLId{o^Pm2b%uMUBx zDJsIeYcl%HswB1~zfl(egkbslx$e~o=aP+#vETFcpPn~co9hZa zgKCIW>chv_mQCpNeK@+Zwr?~%N-ZsfDp^9t#^|1S(q0c$@TD1XzSJ>VzmJIjb>L%i zMCcdykt_a2imc|+tkoY27gxUm=XQ>fS%b!|lOODS!VqSK`0SnHqWw6SY6Ch=;iA(s zkyVJ|FRtr+Uc-<_PP9YaEY2N2`Oy2iM}wCN+CupKg)tq}!7#wf`RDE*Vf3GGYiK6= zZZ3^Q;i_;9i>nkcVYDzRu2MH2UL^?dC9~GIq>IBQpv`2YP#J}!ymjgkRONL=xDqO~gYI2ld#7X1XA;tWKJ=t@z2?TZCTvy0wigwiK>pG0|PP zdL<`%Em-f-fE{J}Jsy-s*0^kREk*^H>FMaO73l?r=G?ld0nl~{$V+qMSZ~WpLGVeX}0WKUUC~ zRr2!F%r?f7N0kLF%CFsq-sZ#Bq!dmcT#N!Y%s~pDQ91zKIEm4~{^ou8ChW zo8rhyC#!#WA84`glGp!fPC;`e*w4EQ|Xwh1u7f z!k1boUUM^}(Ox~m_E-zGq-vZ{^FnyP&omdP($sHd*kUI83ewApTj3FvwcY=OZtmnW zHMcxc%e^L7^mhl(IO>IF3IUi$aMB0v$&JQ3DU^t)s*|ku3BHpr@2 zyLnd0kM#Wf_8+LhT{;ndqwvTx|ft@{Jd0-bA2?hgxij) z<|m3-Up_f)Hqg|oR&Bc(U9v2K_%QYzN=i^%Dts8{nRd>yf-L z>ANg??eFN2IM-G(2+{o(yuUy?RBWV9?fY|WkY(SF{dV@6Z?m1OrI`btwkyZI%c;bP z?cYuoTe+O8Gb*C${k9S1pC=VX9eQbKzOD-A@6KJfIq&8_wCT`hT$L9?$JV5jgsyea zl=ms<$RVj$AFc*hQg%`KU4NP+DuFcFs$0L(|B3s+xejo6@4ot!J)5-jyr!97E8NUp z=jd%SxTWV@D~;iu_;QF|xem9Hnpn_?ySm##3k{3L3S+30JDrl=?5MKc*|5t~MR!-% zyWr%C9oC}2dOCha557B_96c|x4WMxV!OG2jop|Q^sTnTEyykRkAc3i|OS|^DFpf$G zgQ>u9Djp+yzZLh_wRn8)Q*uy$QA1Q|fbwV!cMD^cH>8vKn$~@LnpUV5j8`49s`P~J z!C7B@(A3!~#LLTE%zS*V8V*6i`xT0i{I`s-RLG~V4ogyzy^ARuea|zD6`$1U`z-=x z9GZjlde^bO-wp@HF0uS(??%lpCS*a+zo`%Nz7}?3JGIqkU+0_OQLC4ijla?Yue+x2 zM*Z#Pcq-7c=NnxVxAZ-nPMsRdquD z?oV8g6Q6k%eHn2K7yI8-uojZ$yQ7zdZao_deW)7CJXc`$j>jI%K$H8QUXUddOF9}p zxi*qbc87MPSq(9}`gEh3<7#ligv)F~OL3^G&-tFKWFJXye6yno^{XmC(Cpoukbm^O zN&dn@na`WI3rHb;{`;_@TZp46mMjRJtB#5>$u@c8*9;b=*0qBQXv7E3jVg*kaW z(0^eek29=jPgcE1l9qK?i&U#VsFOI^RO5BmBapl6L1-8VeASj{?w?*YG8&s=UmPpp z+WI{1pyDf!F+5xy6~zRTM%7M| zP93zkq|sB<7fJJK!d_2z=sUPPh-~x_Ms3)OlxjNEv6{To==G^)Mz5(CpprK8qz-kk zNlsqNE>CRD!fhq^)Bfx|w}F8kVsM;B&q-C^%gFoL%xn(raTBDlgQ8%Nhs zmk8zC4qu7>iCHC$_LiIfoWZPhRJZ<7^(~codwu>m7q)*pz`HO(yvhD|JNS=p^-Z13 z&mmpxzhNv3=t}E4E?ZR>vZklDu(nz$#{bx}FjEF#6-2F%l{zvGZQrmLM76H~I&OaI zO^~ti0a*``qIu*x!rLw%_T|Z4b%~}>rk?^3xviv)wWV62}DY6 zhw1PQbLP8uOe-T~@$b|^_H57BQyv^^8p{ca}3TUGOMzypxBj%o4 zdWO+mvfrT?IjJUjSDeHAq26;Mt~;4UTpQ08wIx8sKKn-byQb+p?LF zUH`H|ue>S+rh?i3z2X~_iwGo`Xi@u$4?$2JUJbRvEM?RdpNT#4bEX>$(3QB5EIrYb zIx17oDDf=EdjhbWG$D6%eVc6cH1#aR-=jSAwTq2jKqmTq6jyF+R0)DQX*Nvp;80s) zDAs(mJY2P%Uk`L14V$sEgDf}5zxb!eRdS6+asEDT=?7~dpcxv@)@)n2>{?bXd8jQa zA@|38biP^7o@FR`U}5~cNKGIirhVTPTJK&b&B!}|=`{4La|7ei2drCF?cQAf*cu$h z)Ei~47g1Fjopinu24?Nh&ez9fxPK6)xrg_{aN{$!V!<7NwbuzZC9U4TEt&A}xWPLf z8LPEz_oW7j4Jq&AOY7ErSdd=wCKMR(KQ)|;5Nv0Fhd*sn^jv_(u%+F{loR4sa!4lh zm<(6(=eJj#l??D-Lb60~V3Qn!#;ov;;%+e{{6TpA6n3-Nv1L}{4Z+Q@fU<~R;FjEZ z@^*RHq9qHP0CT}YqkqEyzkE+_+A5#;HT`7qzK^8Cs-OFwI7L0Pk6Ij8iMu{A&;W71 zM;o-X=Y7nY=!;G?f8afGWsi>-lDI*|iyngNYK`5|Cw4V!eC4zL+Yi~lt7as*D()3L zL6c<*)q}j45C#;A?RPxQJU2e7bo5 zjc*^Vsc#V7?{1X6J01V-#)_pokFH%4Q=om+@dWJL@1_gt4Pu}kPfqBcy->bjvEw4H zfd8@sDdjb$cnzhbKqh3Vp=4K4|G_}dh{gmDhC|gR}?Fxz17i- z!7>F)E@f^JJojHsq2?9i+l18(apV#W=F37%y9-lky62qy=AZ0B!;q`+_)g(ykgCD0 zrV^>l64U7-62`cyB!y3mUu4{3qv8zAu1oMsd`!h{6n0sTdawAK??$q`V>L;F9h07g zr*?)6jF62Zia1ZPTH$Cm)1sIlzbyCkRtc7(2OdbcR0#&$P zrIov|R>9l>pYO`0Q^EVaD7cM<4)!$C1?beFEx~si7!gyo*Ot8djT|P+PsR^#qWPIn z`*sNMQq6Slh|vR(vTJQyY!C9c(9El^X^`+jc57-?NwYWF6x%~a^WZ6xu?P5}V$D*| z&p3y;9pm6!$xWbRI}3BP8W=g|g@kY5LxU9y7eGv=EEuJN6*NAVD5Djct%{H|)*uCR zQ%lrQu2pmo;=4iObXJuoRaM!17%@%nGJlNeMk35U_Tu9^54qsmScwVGz$7U*_6L1Pft{rAy zZ!RFyWeppHenV8#417yl8gQyTy+JTOcCVG>lnHRIFxo_ch!1!DEh6lMK8u5`4$(zgU{}i%ic>Abf?28)G*bPcBlTh&FUZ-FT7i zKRHp{P(GtHRET>1D!Dt)3ZKnt(++2OoIF_Qz0UqAqk3aBtm1z{=BWdy-9MH zgR!0R7cL;l*i|LvGw-VZUInkA>LK>R_45}_AytD^xP|;d5UQ zt|b8#AYi+gq!QTciHH}%{ux>1^hH9;#@`MuRO=*-wqZo&EjrRBf2aD}Z+ zs#JuoREC|!;}Es!*qXF`5s>0s`kDhyu9G^!sJ?wsZ}(fA;ywko1r=?=0U`a}Yq|X~f>{5KJ$cD^Chooz4zfKt?v*AXXs2_LmE~Fh&V!L_5WfdK`UU1sX8i zy=JT8ne1Lb)NHEqbdoxiGE*|pT=;Z>er`KLZJWS-BOO{6-`ACa%f_N*MPTv_47Yxpn9%UfI$d$Cf-0b`eF@JX4m-IyA=@Z3^}| z@EFFUhUsOv3Mc5#`rfu2P$hF3a|{plzIH&9*G#n^@Cv6YxOC1v-o3g83X;Q3lRvji zogNOk%KF|wcO|9n&E1fxfh7c)G~n~^Kx38>MxWb}`(G-CwLV?f?t?Lhykzosj94A% zMW)#`{&wGCqV}HE8!AWNN=y`hxab<5(mg{Pl*1EWv|cJWVGg@#hRBdxKZ6yT89M`( zSJ;9AcKKLdyVE&smFp*76{nX1jVK?Gb+6}g*-zuVoE~WueZhBEg03kYqNCcV9+>Ua zFmCt53X~ruBbqVRq5ln76r7jov7Of}yhrtE-eH3aAE820(A+g|6K4Eq zQaHB_Llt<&AhQGzr_m{eOUhE zX^pcmV6cVS2dW7{rVEZXh2W~%`q)<&dhJnTH$*7f;FUVx`s#@;(~brD^q?+;?$COs zg;zBSpTW_y(O~vlY9JfL4WD2@`&}ssp3>X5OEJ)^1bLzUqdn za(BbZEUJD#w1Xae>uR`$ZnK7+#a9mo$6U#if_r|NaAXgid2qLa^BA4u8Za;IaD+zkeHrWF;Z6izGNlhHz=C86~QR2DT9qr+K^w`?# z7iMPYBQ&N)3v*FdV6Edxy}y%gr^;NRhDzP_$&gNL2Z&a2gM}5YO6cGd;dwAN#2Q*1 z^rEcLq~E09VU$SSXECxrBDLhrI;-#jZdoBl++YfJCYA1?gEoTBC7Z;y+~xx9@j;LJn<@cZH9Y#t_qaqlVn4`qMWGA5rL;C>0N?kcGbk zAouUHx4uknUxOIP&k}sJ)B2653IZb-toUlm*#fX)eJ&gV>=2(Mb2|87xaCF1zRE4U zvSF|WG2;8c!@;S(GxvC!K0Kq^8d!K|yp4?QkW1ZQIHq@P;F;iJkg3hWNzOH!&=zsS zR_W{PzQ$M-+0!mXsfd-T^|-=YuWQUU`2&T%uy4c$D2urpC`miy9UUZ9`@RmK{T~j8 zF9OO|BYem~Z!ONCV}3m0u`%jroz7GGYq)gjhzkg<;_^st<~N?jEK?Ns9kUw@J+g#! zxD@|j)ogOo=A7G5DuqL*0KpiKc6Dn*YSY`Xw<*Eoou(Q95aE+bl9vK~zbX3rHUe@|viXDjt{qEbnW# z*xhNGR+MQqynNBp#;C(73k&t~JLPFacv?Qc${$x<<5OlKAL|b9ucNxI_01S_(I>IQ z*DSNsl(wRu{1{*Mm7kSEzuZ2YvQd`TK<~CH$OOy3q}kHS!agsTgBy=&|F~BraO-C3 zrcRgSc;@Tq)3?j>$^nIb9Y7^(>8?CpM2zn#YM9*Ge>uN*k8HM(@0#mJe?C#<<2FC) z6Ysu;ihis38avpnItoN&>wmY4%*8)YWSx0BE9uhPQ12UXSTiPD%VPe5x8*uP?KkpZjsGpG_P7uR5tk zGjneyIX~d@b7E&sFRx$o-_;FfTXs~dSz@;QA5Bl6`0r=1ya5(QW|9}=VGrydg-JDCg8y{<$nR&^kA!nY<+!6nRZa4N4t+YtF}v6ByJq|yZg zo+8;P`3^2G$Vo`pYrA04-q|v{vXys2_gf$&=uJXLiK);WY5#>!Y$a)atyFE$jfSR zp*>e=zP5(&@_Z`m{$e@fV<2@+0h5nTSyv9#pl!E}TK zj|X!dkpXF?3H#JgOM%!{JJ{;8Bzpe4byvT*ye}dr7-ToOOkq+B& zj9iuD*;BND8lx`qOqW`piyw%E{A-nSP)CroEU_h~eF_3g_`5w)^G zcoswiNyTEV^@H+=4VQLOU-xL?N5ow^+EmZtZg7WlMVHZnM}mSxZ0P|cJ-iEt zlAkY81u*&NR%}c!Ka8t-A*SQSZ`2eIl7PXoi?ecs&=|Y4h{+Y0I zsEMhqw}Ge>fNVx+(`;SgGWMTqpPze`1S1DlgKkMG^8G37;^vT}RolI&HE0tt%-aSv z!b>8!%ij7z0xyTZ<76o@u2t80m2{)D0??>K0qm>}mvQ47men-cmyj zpy3{)n0wR}?D5Yv*upQ{3t(H+l7JfVSDa@z|IoQt#osj625=Umy4cHWs%4ajdLj9F zf6`Qe{_F zGgWqzRXySa`AQpaT>+uv8VC2|`z_hiN+jr3O2!7|fHXuW)+f|dYM33S@XX8AR0kF{ps&F^; zuO6+ButD5f)*A}u#~A$7j2+M6scyGBVp)H>F+0c)N5k&VUkl#E_yzXnxv z#U0oX2t4ckeV*6N*I4Q5FCRG(bLer==emyvyGC5@; zy4u4^LLluYJH5{@NMB?gnpUgntuY%kly>slx`oo%QU_Qiu~&UM0yzK+9CH<*^5 zq4tl^;E2;)wUYNxQ%)b5Jrs&%bJaiuf;%I$p~VexGV6J-$jNp0nz}tdx*CBgVPB-B z$Hj)+B^d7k1NQwDkJ-xV0K!cLztpDoF~lKch@(l%zVroZLf9J~sY>G{{rs1KWW2>MV!Cg+| zfLe2}Mx4i!t{Uiyx?_fj(Q@rwC?Iy;vd{Swn&|cYbpcyR5MGx2HOLDb^qrn`w^#%G z+StOngC=Q>4e2KP_S!ydehzDa5>@ie!p4S=9Xw5)$p?EfyW1TG?7E`1=IxB6+f44H zy4~?^j<{T^6IPL!937pyo%;G&HQ9gE0Uo}Yjt?0e@^THQW2&3I2}xK2qm#rKe1fSM zc^Lyyg>=$r=ge{)3t*-0a^W+E*~C}lSot&T>FV&ls`oSEaNS&$EbBY)(Pt<<7Vt+% z#4)a#SaNC+Kk?Fi`ZaX%Sqp&n_dks(dm~sm)^zjAd!d=TF*PJ~92DnD{*sUsQ>+eN zqJesS@>n$s5=O^VVmddHj}l-9=zY{x=Y1NV!u*$he+I)2YXy75)AY1WWGc^Zug(UoA!Lw!$TtrtY~i_JJgMZWnf~I{IB&VeiWcmzVxc zOjsusfBEBauCc6>B;7li&`+3~<7R@^989=$XpMf{kP z?m;a6XdNCuu($pe8kwK5?ZNKRQ`h=^Of7^-I%C7BT01^yTRges%FcB_c}fSr_^d93 z0wA`})5(lM;<6~g`yRMzmS8=YY+{4JGFLpHVq~%3hH<`mOWJzg&4C#|nQ>jGN#9rF zq>d3>hNshhYV`_8`>OS}Lm8z?oYLcPHOEO2RBn@$pU z$s@NH!W-{f^6Uz8RBgO`kmn4S)sGMr!zw?l-{A8#@ZkQ7SWYqTNI@ny{!z#FvQZRZ zEsnCUqB&tVaeSNhbs4+WLb%sc))ksjuEM$fT{yyC&3<70R*f36JvXYK`-Cwc`|k6e zesa+SA{M`yjH~!P>h%xhp8J<*_W$pvPF?o5KY1y*M(UgUPk}-n+r9bhbo%b`E zqS2R&zbxuoxt}OVrHA(=^gC!Z7^@$@iC@z&Z|-?_>gyWL9a)If;sp*P~vF*ERX3ib^=S{Y7`_l5PF#b3#%x@Si}| z2#ot32z=1Qda%-RPYUeZioqM}6&(r1)=+Z5KnV4!=w4mRqUu6es7Ki{yfF-U(Hh-zDwbLSlxQ}A%d=LFw9HnAAu;s4e4y5o+iA@M707{_2(M4c8@NSL@$eUfBzk$gIguhbm8xD{=BA7gJsk z2^XPgFDLk*n(@2(N7W-P`ZnR@FG5uDbYs9%-i!RZxm_+==&f|MP8w^Amjy}E=4Kp5 zDfemYjlDm8=?St%0|TSv2r6R?hjn$PzwDFyh2P;>)yEH4){IwY5YOUHY)?a0tiU54 zIglYCpQd>{7vPrk$kKH`$a-YxZ-8zQ6zI#4+D&81tA#C7xLzcOH&&ur&w4@#Auapt}%RteE`lQ!6>f2nCSw05{Ywdgao7 z{McvhM~dJNjl(;L(v7t^B2y|D@mg?Is-*+yb^7q(KK3gW?7oJ(M6WBxL*vzOwk(`* za9_Q?%_z8m*cg#|l|FH>^}gQk>$>hD2BM;)-VS|oNXKFgHHlK@8LeYCT>Kf~#sh&<1OB0gEXut) zvG{tUdbAYV=Yox=B3Ca%Dvlq#CHlbM^O~Qohs2e`7F5CR3%N8trj#BytM-F}j%|0w zavrgJ?)mMDP6Kc%h|%V&SJGcS^}dxkkGy5joaX*_lw%Fniw#@D>S}vx@u+SYTri+< zHEATH@k%7ud)11!}+vQ+%$X%|a93UACn2yhPlwH%cVOH(SMjoLSMqLqpS0DkJ|R;9h! zj14Cx0-sm+h#ppMYQ%cYzM|dj4{&mI(gn|?3iVGR$lFMQJb7j)tY*HO6EAO`-|=fg z%cG{vO96Tlv1VQt_B(VxuZT8N!b&-OT)uD}Jxo8`gAj8J8?tK9MW?uVkYbg=h08}f zIBR1s_eQ0S4uJtqr&XE`;bwzRe_2So8jHDNq28$K+s~5my*@A-92dX;^FT}{t~}{v zRY&=IBWCH*Tya#nu1~>N%83DNgrbt4+P2%8wO<`=HQ}>W!~0r=3t2bU_K~SpmB?g% zA4ZY$0iRWkL!9vYlq`s4ruq@PL^6t?Z{uXN0(NcqIvSI7wNWkq$+^c(X)!sv6k`)$ zJ04e8p8upM<;5<(1$%lVU&r04y7QUMsA%C0MG_&M@U}#Cz3a0G&uI02|40p!k;_ym zDaIk9lD6nHO;A~V$BVD)Xi8k`LlHjVu)G2Ch@oy2NAYHm~9rgZ^33m+SzyDZHcS&G}<2FG{TxwXDiG?e?-pG2fJ{SAU%(j^|p-Q zsNdrB$pwCIznL+mWVO2RBcKuQx119ppQ2mKN`&a$z`zsMOc_+*PYl%kc`hVo7#n*I zb)XNJ`*Z3iSosdqy`B|O(`3{6&~psa2XcD~Ef@N`nC+ZhGp0yfi zra}25@_9F4^DmE1gjfUAZoegWoWaI#mh5HdiOTjzg&fT{9!_-jwuBUsbn7ds%xXIG>=#hQg_(oRLPzp|=N4UqdzK^A&hrjrzW-O@TzDQV ze?HTRSA1LSYCvP2(`6PjMYF!)tPQv4#51k;*jh*53c7#VTDRHx|b{s%h1sIhBl%mIwR z{$*2DOk+W0E;rM*;F0Ggj&~C+i7brsYmO6W&nH@M_EzrexTo8q6H@VF=blva;RZ(M zo`SaSGz?=m@1{R*yTzqO5x2I6(zz$v=Qm~Hst7?O&&1s|IK6I<0j={ruyjKj9xl1- zeNz^xvBg8BLE~@k(Vg$oSMEJZq!{bNe1?f$e1E?G@GY?U7^~eX9j#lxxM!uaXPN4e zM2RZ73ZHub47GTiU)mHmop`?u(D0*w#O0C`MI-!9M_%>vx&>^Kh&}&2fAC%FkxMb& zO{%`K@stSw^bD^dt#p7u9^!k6>2|stBR?b%GGqGae`RN*BQuZ3HV!eX7F0Tw2aUZo z)=LH5~_M-(>vA8Zdu8W1JTvhhtKk*KP*t@dsZ z`hJTLy#^T7zNr|8g7xBSSZ2Pgq*ub%ls*5gl0iPVs8kwG7;UO?K9BJ>0ZY1Bq90z- zevj|?0Fms{`>vXgfNy`hwtPeR^Kd*hQbT)=BVa@y@aU`QA9KF|mBdFC^8 zLI=J7ktnAH#pIUeiK?4ApNS4S<~#h} z-0nu3Z`TBew@&jgFH}8^Vj0*r9YP;JbG~#!F79EH<9Qmeic}5Pe6+Y6!-rvPp1M1o z;N0xPGU!!*tu97u>Z6#?7l*wcv2ksyo6CPfaSj-Ln;=zIx^3Ly=45`iJw<@N%J?{Z z!$`vgK73KnxMG8uV!|FJvV-O=(-p=V1%lp8fLv8_^^UJQiA;N^A}1Q2L_UQ^tS_iRAK9+21=qOJ6`z`V{ICz{8xtAQ?! znKEjU>0Bsk;bI4KUIp(U6*Nyu!MyEp2-kmA>(~nGF!f&h={qHW+bRm^DR(FdY;AzO z*~wd3rQz`&htN#YN1ZWFZ^a0OF3EqgePU^c;ja?C?A@4>XKZIFfK92ZDzAR_vU)7( z1OUJR9@yd3k`wfnYO(qd?!MH6{m81IR+&tvC#V9~Zi%~MPq?$(u5fQZo+~_QN^6SE zJQ8ORzs@R_yN}>kTq$S?_v2V;qZ1e)@(PyGKaDYz-)&D^1e?Z6+hOy|hA->m`)|{L zzFQqN4!KN2{E>I$XUPM|1=hN92*nf-xBIPRi!t3?9HScQAOd1~bll2vyb3GVK8_)T z@gqxnyiOjPZeTuoQ!sKQSFh(3>x#h!pUus&ji+a=L=UHf$7N{X=>QL!psk2D%sL6z zk5e%KKz+tRyEYk>mSj)(y{L`ZSZ=zP39CUy{O0ohAbK^UeL~^&MqS)cEb#>Bw_N9C zW&ROz;Hm_j`xSQ$6Ht&5Pb<8?6GchBRhnT{U|KsbX0^8F@m-!dI3La`MT98al=o zB?2}2;ZsD)pM@J#Xux@|w$km-*v7ADqGE<{HKRl?dbkZSxUBpO-@mLkNm4{3lL6=| zvffqe=;YG@uiv1tm+)@+--?-iF&U;?fj20#p1=A+Rbc{+?^Vk#jpGV$XKAc2hG!B4 zWn2UWerITwW4DYnDub;k-qfbXCVh|`V`3T)vDC9l6*q*d@(dah(q{Z+gVZ;zmew5?2#S^6`(Cac-T#AtB6<^kLA8mW>QC_-{cOHoN30?1H zLM{V2z^O#H<3I%DzVwOl=#!cB1CK9GIHh!G?h_IO)3547^XL(_hmQ z5Uj95{>|nFYw|MY*6b*r30K<;e8>T2w0vlw1es?3LbXx`KaUZ{b))K3OP{omGt}kM zon;;$D?jYD+R~@ip;Xh1pvpoWn475hW}Q$WyQS%>_5w8K_h(X!0nu<*AsUvK&(y(YMy>=tLZ@IM_J0q@#KcQ6Za7j zzZc&O@n5xn6KelVUafu`XqqE}uLZ)b?QjqFg^iD4 zYe9#Yg%OCMHap%30`Mc$tV(YB-BT7@_8|p~Fs|1OWR>jrkLz;K@HNaSORG7tn_FWI@IsUsQCqKk&># zsBoXBnIV{thRlFael}6Y!3akDwBte!3Y5pRI!pU+kGlS&Hv58XvShcI`g)igpHE!X zVoSvzM^OTk^NF3|uCsK;1lK-IP1@7$m(`{5C9X23on@JM!G9S+7eipyH3VUXFL&B@%P2?GMR5qcl4w%n)O$Notj@mRUBzu zF?@Kjv4xohZBR$YS)Gw9ewZ4|NR;0AJRt)Axz`e>7wX}rwNJL#zjZ@?@Lxn$JIrBY zZP~-dW_j9luem>-$k{MGM{huo7r3CrbBZGROl$Jf}4H)ZhPX#CA z{TJcXOMS+ssUq;%aiVtYyT|SrG5*|!b%Cy6x1GG>huf1wGWpZER&3`~Ay+*y0zMF>kn8yIfP2VwC}={!W!wrN+&2+5OkxNKHUk6!MIB=R0&*RY>j1Gf6!RYV z@oWNFmN(=&AlGr&03xh@X$6q$fLsUUI{x?AX5$E?{A4eH2{w9ybA*Wdarxyx11V@9 zg!VybAN=3j2cf<1yXpjqmSgq7kmmbqsUD&aAo>7G*nsj~##$pl2^&zt21K1g$!fBO zDiC!FQK!HPpj63i)IHxaJ3+1}lxYg`xgp8`%5w%?P9fL~!Dc8~4V>-=WgI9#H6G(U zBc!xJN*e^5p#m+az70y$g~|h=>dK!egA(aE-Xj0*q8D=4ZJ&$7?Wsq#mPUPuwp?}T z!sTsCiPy9{_FRmT*S?@^v+CBKHAR|yH8(l-F3y=09vc_XB@TSV$X@?+D$(Z zr2l|un23!!96Yr+82?l2=i`>RCylvXi%RmQJaqq0t|AY>=}eDD4fm&%2AAkhR%=gk zF*iW(<&J^wq8XcHh2N8Ux8hHgya1K`({*=UpvROifQAhkwh5DofUFH12Ryl`0JR4# z(*KNKpuH^zGuhZcW+sqJ_(3CvJn6RY{#Sm^V+er!XFU=GKxmWbOy+YT-1dW@2mufX zfP8BaqX`99P)s@j$01MpLuxMMNg+@A9ZEpN5yZDml=DF`DHM}_hfol^3$eQpyDQ`B zAPMIGuX06lX0DQxo7rr=>yM+JkbC$)x`!`UrZddwVFPU+T~->9!V6IT;ga^zk+#m+ zKx8bMUSZUUIIK=dXFVS%XR&!c@G#L=Nd#DFX`oH|kwO>Y;jXkL1@;j&NY*;ut zf(lDI8`s!XIuObTvo}%!cR?$dV2@Vxbt2BHQ!-LqGD(G`(SZRr;win8)y!FC`9NEf zX68Fr!NmGYR~p_TgCp%L{7Lvizbw^K?=gkU%}= zh=+!I;^Gon*P9muLiTfH318$>VZ=q`s8jNjP*(j9=P2w24V&YRPnWM%5OOGRiJ&Fr zDgl#dpK?(yLPI{*ABOd;=+hhU_E4TK?+x0F-{-##jhA)_56ZV#f9b1;=E0cuiE_NyXuHPp< zJ>7VH?|g=#fZSpqrZ!!^Sjl8G`70lVf6u`!-hIJx-?*w>tI&)0g8R)?D6pPJqTLS7 z+`1q_70ABeE-k%MON$i|O7p~2h8O<5@iC3-B}juWJRGstVcK?#Ttv#c@s`tISgL|= zqIeANX$l4A(-_tQo#Mz5%3K8mIMEo!x-!5P^%~9n{GvpP<&E}BNVFgVTlfcfU7A8K z4@d9JbhJ>4crY%XC$H({rQx@mov`TFTkFFL{FtWMi=M9*{)Bs}YoPvWRimAb`Ho8l zfA3jk`DOn!YTFr`3nd}br6I*4T31yjFSBCV0AFdx%1j@ry&Oq8h$cx!`sIV>sM)<> zg#?-1X9Kc*k-mdTrUOjO* zwah;r1Vi}?ZO5)qSTm*Kp~UpplDcUcJ#5(&;=l6Om#tSKQNPD*3MN*+PFUdN;WL4e zOe*=7j=#Q)%`_hCqCSE9Ils;w;3NkP*-v@sy79w0zujGKT=Y#lA$Ff4eST5s9kjZy>FmZs_kC*xLlcuO{ g5dlBvQhbq`S}Y88TIYUH4*Xf~w%wJn Date: Wed, 24 Sep 2025 14:29:55 +0100 Subject: [PATCH 03/14] WIP --- .github/workflows/ci.yml | 28 +++++++++++-------- .../xcschemes/SwiftUIIntrospect.xcscheme | 10 +++---- script/create_simulators | 10 +++---- 3 files changed, 27 insertions(+), 21 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c5573984..e78fc9bb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -61,24 +61,24 @@ jobs: - [iPadOS, 18, 6] - [iPadOS, 26, 0] + - [macCatalyst, 15, 0] + - [macOS, 15, 0] + - [tvOS, 15, 4] - [tvOS, 16, 4] - [tvOS, 17, 5] - [tvOS, 18, 5] - [tvOS, 26, 0] + - [visionOS, 1, 2] + - [visionOS, 2, 5] + - [visionOS, 26, 0] + - [watchOS, 8, 5] - [watchOS, 9, 4] - [watchOS, 10, 5] - [watchOS, 11, 5] - [watchOS, 26, 0] - - - [macOS, 15, 0] - # - [macOS, 26, 0] - - - [visionOS, 1, 2] - - [visionOS, 2, 5] - - [visionOS, 26, 0] steps: - name: Git Checkout uses: actions/checkout@v5 @@ -104,6 +104,12 @@ jobs: esac fi + if [ "$PLATFORM" = "macCatalyst" ]; then + XCB_PLATFORM="mac-catalyst" + else + XCB_PLATFORM="$PLATFORM" + fi + RUNTIME="$PLATFORM $MAJOR.$MINOR" echo "PLATFORM=$PLATFORM" >> $GITHUB_ENV @@ -140,7 +146,7 @@ jobs: max_attempts: 3 command: sudo xcodes runtimes install "$RUNTIME" - - if: ${{ env.PLATFORM != 'macOS' }} + - if: ${{ env.PLATFORM != 'macCatalyst' && env.PLATFORM != 'macOS' }} name: Create Required Simulators run: | set -eo pipefail @@ -162,7 +168,7 @@ jobs: uses: davdroman/xcodebuild@destination with: xcode: ~26.0 - platform: ${{ env.PLATFORM }} + platform: ${{ env.XCB_PLATFORM }} platform-version: ~${{ env.MAJOR }}.${{ env.MINOR }} destination: ${{ env.SIM_UDID }} action: build @@ -175,7 +181,7 @@ jobs: uses: davdroman/xcodebuild@destination with: xcode: ~26.0 - platform: ${{ env.PLATFORM }} + platform: ${{ env.XCB_PLATFORM }} platform-version: ~${{ env.MAJOR }}.${{ env.MINOR }} destination: ${{ env.SIM_UDID }} action: build @@ -188,7 +194,7 @@ jobs: uses: davdroman/xcodebuild@destination with: xcode: ~26.0 - platform: ${{ env.PLATFORM }} + platform: ${{ env.XCB_PLATFORM }} platform-version: ~${{ env.MAJOR }}.${{ env.MINOR }} destination: ${{ env.SIM_UDID }} action: test diff --git a/SwiftUIIntrospect.xcworkspace/xcshareddata/xcschemes/SwiftUIIntrospect.xcscheme b/SwiftUIIntrospect.xcworkspace/xcshareddata/xcschemes/SwiftUIIntrospect.xcscheme index 21c5793e..d41171e8 100644 --- a/SwiftUIIntrospect.xcworkspace/xcshareddata/xcschemes/SwiftUIIntrospect.xcscheme +++ b/SwiftUIIntrospect.xcworkspace/xcshareddata/xcschemes/SwiftUIIntrospect.xcscheme @@ -1,10 +1,11 @@ + version = "1.7"> + buildImplicitDependencies = "YES" + buildArchitectures = "Automatic"> - - + shouldUseLaunchSchemeArgsEnv = "YES" + shouldAutocreateTestPlan = "YES"> "Apple TV (18.5)", 26 => "Apple TV (26.0)", }, + "visionos" => { + 1 => "Apple Vision Pro (at 2732x2048) (1.2)", + 2 => "Apple Vision Pro (at 2732x2048) (2.5)", + 26 => "Apple Vision Pro (26.0)", + }, "watchos" => { 8 => "Apple Watch Series 7 (45mm) (8.5)", 9 => "Apple Watch Series 8 (45mm) (9.4)", @@ -37,11 +42,6 @@ devices = { 11 => "Apple Watch Series 10 (42mm) (11.5)", 26 => "Apple Watch Series 11 (42mm) (26.0)", }, - "visionos" => { - 1 => "Apple Vision Pro (at 2732x2048) (1.2)", - 2 => "Apple Vision Pro (at 2732x2048) (2.5)", - 26 => "Apple Vision Pro (26.0)", - }, } # Map script platform keys to CoreSimulator OS display names From 920002d3657e76d9f7332a1da4b76a25b32bc88b Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 14:30:48 +0100 Subject: [PATCH 04/14] WIP --- Tests/TestsHostApp/App.swift | 10 ++++++++++ Tests/TestsHostApp/ContentView.swift | 24 ------------------------ Tests/TestsHostApp/TestsHostAppApp.swift | 17 ----------------- 3 files changed, 10 insertions(+), 41 deletions(-) create mode 100644 Tests/TestsHostApp/App.swift delete mode 100644 Tests/TestsHostApp/ContentView.swift delete mode 100644 Tests/TestsHostApp/TestsHostAppApp.swift diff --git a/Tests/TestsHostApp/App.swift b/Tests/TestsHostApp/App.swift new file mode 100644 index 00000000..050f4177 --- /dev/null +++ b/Tests/TestsHostApp/App.swift @@ -0,0 +1,10 @@ +import SwiftUI + +@main +struct App: SwiftUI.App { + var body: some Scene { + WindowGroup { + EmptyView() + } + } +} diff --git a/Tests/TestsHostApp/ContentView.swift b/Tests/TestsHostApp/ContentView.swift deleted file mode 100644 index 9ee1a4d3..00000000 --- a/Tests/TestsHostApp/ContentView.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// ContentView.swift -// TestsHostApp -// -// Created by David Roman on 24/09/2025. -// - -import SwiftUI - -struct ContentView: View { - var body: some View { - VStack { - Image(systemName: "globe") - .imageScale(.large) - .foregroundStyle(.tint) - Text("Hello, world!") - } - .padding() - } -} - -#Preview { - ContentView() -} diff --git a/Tests/TestsHostApp/TestsHostAppApp.swift b/Tests/TestsHostApp/TestsHostAppApp.swift deleted file mode 100644 index 2435522f..00000000 --- a/Tests/TestsHostApp/TestsHostAppApp.swift +++ /dev/null @@ -1,17 +0,0 @@ -// -// TestsHostAppApp.swift -// TestsHostApp -// -// Created by David Roman on 24/09/2025. -// - -import SwiftUI - -@main -struct TestsHostAppApp: App { - var body: some Scene { - WindowGroup { - ContentView() - } - } -} From 4b19344c6eb88b90692657db9d50c9583605464d Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 14:31:49 +0100 Subject: [PATCH 05/14] WIP --- Tests/Tests/TestUtils.swift | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Tests/Tests/TestUtils.swift b/Tests/Tests/TestUtils.swift index aa786f3b..fa1c1afc 100644 --- a/Tests/Tests/TestUtils.swift +++ b/Tests/Tests/TestUtils.swift @@ -10,7 +10,7 @@ enum TestUtils { static let window = UIWindow(frame: UIScreen.main.bounds) #endif - static func present(view: some View, file: StaticString = #file, line: UInt = #line) async { + static func present(view: some View, file: StaticString = #file, line: UInt = #line) { if let window = UIApplication.shared.connectedScenes.compactMap({ $0 as? UIWindowScene }).first?.windows.first ?? @@ -18,9 +18,6 @@ enum TestUtils { { window.rootViewController = UIHostingController(rootView: view) } else { - while UIApplication.shared.delegate == nil { - await Task.yield() - } window.rootViewController = UIHostingController(rootView: view) window.makeKeyAndVisible() window.layoutIfNeeded() @@ -64,7 +61,7 @@ func introspection( }, ) - await TestUtils.present(view: view) + TestUtils.present(view: view) let startInstant = Date() while @@ -104,7 +101,7 @@ func introspection( }, ) - await TestUtils.present(view: view) + TestUtils.present(view: view) let startInstant = Date() while @@ -156,7 +153,7 @@ func introspection( }, ) - await TestUtils.present(view: view) + TestUtils.present(view: view) let startInstant = Date() while @@ -218,7 +215,7 @@ func introspection( }, ) - await TestUtils.present(view: view) + TestUtils.present(view: view) let startInstant = Date() while From 45ebc2efa0138f973cc1822b3917fe2a1a8570a0 Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 14:54:23 +0100 Subject: [PATCH 06/14] WIP --- .../contents.xcworkspacedata | 3 +++ .../xcschemes/SwiftUIIntrospectTests.xcscheme | 11 +++++--- Tests/Tests.xctestplan | 25 +++++++++++++++++++ .../DatePickerWithWheelStyleTests.swift | 2 +- Tests/Tests/ViewTypes/MapTests.swift | 3 ++- .../ViewTypes/PickerWithWheelStyleTests.swift | 2 +- Tests/Tests/ViewTypes/SliderTests.swift | 2 +- Tests/Tests/ViewTypes/StepperTests.swift | 2 +- Tests/Tests/ViewTypes/ToggleTests.swift | 2 +- 9 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 Tests/Tests.xctestplan diff --git a/SwiftUIIntrospect.xcworkspace/contents.xcworkspacedata b/SwiftUIIntrospect.xcworkspace/contents.xcworkspacedata index b3695494..104a7194 100644 --- a/SwiftUIIntrospect.xcworkspace/contents.xcworkspacedata +++ b/SwiftUIIntrospect.xcworkspace/contents.xcworkspacedata @@ -10,4 +10,7 @@ + + diff --git a/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTests.xcscheme b/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTests.xcscheme index 462e51cb..026e39cd 100644 --- a/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTests.xcscheme +++ b/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTests.xcscheme @@ -11,12 +11,17 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES" - shouldAutocreateTestPlan = "YES"> + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + + parallelizable = "NO"> Date: Wed, 24 Sep 2025 15:00:01 +0100 Subject: [PATCH 07/14] WIP --- Tests/TestFramework/TestFramework.swift | 13 ++ Tests/Tests.xcodeproj/project.pbxproj | 272 ++++++++++++++++++++++++ 2 files changed, 285 insertions(+) create mode 100644 Tests/TestFramework/TestFramework.swift diff --git a/Tests/TestFramework/TestFramework.swift b/Tests/TestFramework/TestFramework.swift new file mode 100644 index 00000000..299589f5 --- /dev/null +++ b/Tests/TestFramework/TestFramework.swift @@ -0,0 +1,13 @@ +internal import SwiftUI +internal import SwiftUIIntrospect + +struct TestView: View { + var body: some View { + Text("Hello, World!") + #if os(iOS) || os(tvOS) || os(visionOS) + .introspect(.view, on: .iOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), .tvOS(.v13, .v14, .v15, .v16, .v17, .v18, .v26), .visionOS(.v1, .v2, .v26), customize: { _ in }) + #elseif os(macOS) + .introspect(.view, on: .macOS(.v10_15, .v11, .v12, .v13, .v14, .v15, .v26), customize: { _ in }) + #endif + } +} diff --git a/Tests/Tests.xcodeproj/project.pbxproj b/Tests/Tests.xcodeproj/project.pbxproj index 348179c3..1abf8278 100644 --- a/Tests/Tests.xcodeproj/project.pbxproj +++ b/Tests/Tests.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + D5CEB5582E84304900A88BA3 /* SwiftUIIntrospect in Frameworks */ = {isa = PBXBuildFile; productRef = D5CEB5572E84304900A88BA3 /* SwiftUIIntrospect */; }; D5E04C312E842584006739F9 /* SwiftUIIntrospect in Frameworks */ = {isa = PBXBuildFile; productRef = D5E04C302E842584006739F9 /* SwiftUIIntrospect */; }; /* End PBXBuildFile section */ @@ -21,11 +22,17 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + D5CEB5502E84303E00A88BA3 /* TestFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TestFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D5E04C162E8424CD006739F9 /* TestsHostApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestsHostApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; D5E04C262E84254D006739F9 /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ + D5CEB5512E84303E00A88BA3 /* TestFramework */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = TestFramework; + sourceTree = ""; + }; D5E04C182E8424CD006739F9 /* TestsHostApp */ = { isa = PBXFileSystemSynchronizedRootGroup; path = TestsHostApp; @@ -39,6 +46,14 @@ /* End PBXFileSystemSynchronizedRootGroup section */ /* Begin PBXFrameworksBuildPhase section */ + D5CEB54D2E84303E00A88BA3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D5CEB5582E84304900A88BA3 /* SwiftUIIntrospect in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; D5E04C132E8424CD006739F9 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -62,6 +77,7 @@ children = ( D5E04C182E8424CD006739F9 /* TestsHostApp */, D5E04C272E84254D006739F9 /* Tests */, + D5CEB5512E84303E00A88BA3 /* TestFramework */, D5E04C2F2E842584006739F9 /* Frameworks */, D5E04C172E8424CD006739F9 /* Products */, ); @@ -72,6 +88,7 @@ children = ( D5E04C162E8424CD006739F9 /* TestsHostApp.app */, D5E04C262E84254D006739F9 /* Tests.xctest */, + D5CEB5502E84303E00A88BA3 /* TestFramework.framework */, ); name = Products; sourceTree = ""; @@ -85,7 +102,41 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + D5CEB54B2E84303E00A88BA3 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ + D5CEB54F2E84303E00A88BA3 /* TestFramework */ = { + isa = PBXNativeTarget; + buildConfigurationList = D5CEB5562E84303E00A88BA3 /* Build configuration list for PBXNativeTarget "TestFramework" */; + buildPhases = ( + D5CEB54B2E84303E00A88BA3 /* Headers */, + D5CEB54C2E84303E00A88BA3 /* Sources */, + D5CEB54D2E84303E00A88BA3 /* Frameworks */, + D5CEB54E2E84303E00A88BA3 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + D5CEB5512E84303E00A88BA3 /* TestFramework */, + ); + name = TestFramework; + packageProductDependencies = ( + D5CEB5572E84304900A88BA3 /* SwiftUIIntrospect */, + ); + productName = TestFramework; + productReference = D5CEB5502E84303E00A88BA3 /* TestFramework.framework */; + productType = "com.apple.product-type.framework"; + }; D5E04C152E8424CD006739F9 /* TestsHostApp */ = { isa = PBXNativeTarget; buildConfigurationList = D5E04C1F2E8424CE006739F9 /* Build configuration list for PBXNativeTarget "TestsHostApp" */; @@ -142,6 +193,9 @@ LastSwiftUpdateCheck = 2600; LastUpgradeCheck = 2600; TargetAttributes = { + D5CEB54F2E84303E00A88BA3 = { + CreatedOnToolsVersion = 26.0.1; + }; D5E04C152E8424CD006739F9 = { CreatedOnToolsVersion = 26.0.1; }; @@ -167,11 +221,19 @@ targets = ( D5E04C152E8424CD006739F9 /* TestsHostApp */, D5E04C252E84254D006739F9 /* Tests */, + D5CEB54F2E84303E00A88BA3 /* TestFramework */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + D5CEB54E2E84303E00A88BA3 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; D5E04C142E8424CD006739F9 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -189,6 +251,13 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + D5CEB54C2E84303E00A88BA3 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; D5E04C122E8424CD006739F9 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -214,6 +283,196 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + D5CEB5542E84303E00A88BA3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = mn.dro.TestFramework; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = auto; + SKIP_INSTALL = YES; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; + SUPPORTS_MACCATALYST = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3,4,7"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + D5CEB5552E84303E00A88BA3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + 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; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = mn.dro.TestFramework; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = auto; + SKIP_INSTALL = YES; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; + SUPPORTS_MACCATALYST = YES; + SWIFT_APPROACHABLE_CONCURRENCY = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_MODULE = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3,4,7"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; D5E04C102E842486006739F9 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -573,6 +832,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + D5CEB5562E84303E00A88BA3 /* Build configuration list for PBXNativeTarget "TestFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D5CEB5542E84303E00A88BA3 /* Debug */, + D5CEB5552E84303E00A88BA3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; D5E04C0F2E842486006739F9 /* Build configuration list for PBXProject "Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -603,6 +871,10 @@ /* End XCConfigurationList section */ /* Begin XCSwiftPackageProductDependency section */ + D5CEB5572E84304900A88BA3 /* SwiftUIIntrospect */ = { + isa = XCSwiftPackageProductDependency; + productName = SwiftUIIntrospect; + }; D5E04C302E842584006739F9 /* SwiftUIIntrospect */ = { isa = XCSwiftPackageProductDependency; productName = SwiftUIIntrospect; From d066f0f43b1b05c94dca53a4a1b6f51d5d66a089 Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 15:00:41 +0100 Subject: [PATCH 08/14] WIP --- .../SwiftUIIntrospectTestFramework.xcscheme | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTestFramework.xcscheme diff --git a/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTestFramework.xcscheme b/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTestFramework.xcscheme new file mode 100644 index 00000000..a98568b5 --- /dev/null +++ b/Tests/Tests.xcodeproj/xcshareddata/xcschemes/SwiftUIIntrospectTestFramework.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + From dac37fad1366330a0153e04422a26911cce4723d Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 15:01:20 +0100 Subject: [PATCH 09/14] WIP --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e78fc9bb..db86a817 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -209,20 +209,20 @@ jobs: strategy: fail-fast: false matrix: - platform: [iOS, macOS, tvOS, watchOS, visionOS, macCatalyst] + platform: [iOS, macCatalyst, macOS, tvOS, visionOS, watchOS] include: - platform: iOS destination: "generic/platform=iOS" + - platform: macCatalyst + destination: "platform=macOS,variant=Mac Catalyst" - platform: macOS destination: "generic/platform=macOS" - platform: tvOS destination: "generic/platform=tvOS" - - platform: watchOS - destination: "generic/platform=watchOS" - platform: visionOS destination: "generic/platform=visionOS" - - platform: macCatalyst - destination: "platform=macOS,variant=Mac Catalyst" + - platform: watchOS + destination: "generic/platform=watchOS" steps: - name: Git Checkout uses: actions/checkout@v5 From 3a3592a7974851c926d8873b9290192cf99bb0e2 Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 15:07:34 +0100 Subject: [PATCH 10/14] WIP --- Examples/Showcase/Showcase/Controls.swift | 2 ++ SwiftUIIntrospect.xcworkspace/contents.xcworkspacedata | 3 --- Tests/Tests.xcodeproj/project.pbxproj | 4 ++++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Examples/Showcase/Showcase/Controls.swift b/Examples/Showcase/Showcase/Controls.swift index cc0191f0..3efe2dfe 100644 --- a/Examples/Showcase/Showcase/Controls.swift +++ b/Examples/Showcase/Showcase/Controls.swift @@ -74,6 +74,7 @@ struct ControlsShowcase: View { #endif } + #if !targetEnvironment(macCatalyst) HStack { Slider(value: $sliderValue, in: 0...100) #if os(iOS) @@ -97,6 +98,7 @@ struct ControlsShowcase: View { } #endif } + #endif HStack { Stepper(onIncrement: {}, onDecrement: {}) { diff --git a/SwiftUIIntrospect.xcworkspace/contents.xcworkspacedata b/SwiftUIIntrospect.xcworkspace/contents.xcworkspacedata index 104a7194..b3695494 100644 --- a/SwiftUIIntrospect.xcworkspace/contents.xcworkspacedata +++ b/SwiftUIIntrospect.xcworkspace/contents.xcworkspacedata @@ -10,7 +10,4 @@ - - diff --git a/Tests/Tests.xcodeproj/project.pbxproj b/Tests/Tests.xcodeproj/project.pbxproj index 1abf8278..127febc2 100644 --- a/Tests/Tests.xcodeproj/project.pbxproj +++ b/Tests/Tests.xcodeproj/project.pbxproj @@ -8,6 +8,7 @@ /* Begin PBXBuildFile section */ D5CEB5582E84304900A88BA3 /* SwiftUIIntrospect in Frameworks */ = {isa = PBXBuildFile; productRef = D5CEB5572E84304900A88BA3 /* SwiftUIIntrospect */; }; + D5CEB6452E8431FB00A88BA3 /* Tests.xctestplan in Resources */ = {isa = PBXBuildFile; fileRef = D5CEB6442E8431FB00A88BA3 /* Tests.xctestplan */; }; D5E04C312E842584006739F9 /* SwiftUIIntrospect in Frameworks */ = {isa = PBXBuildFile; productRef = D5E04C302E842584006739F9 /* SwiftUIIntrospect */; }; /* End PBXBuildFile section */ @@ -23,6 +24,7 @@ /* Begin PBXFileReference section */ D5CEB5502E84303E00A88BA3 /* TestFramework.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TestFramework.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D5CEB6442E8431FB00A88BA3 /* Tests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Tests.xctestplan; sourceTree = ""; }; D5E04C162E8424CD006739F9 /* TestsHostApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TestsHostApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; D5E04C262E84254D006739F9 /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -77,6 +79,7 @@ children = ( D5E04C182E8424CD006739F9 /* TestsHostApp */, D5E04C272E84254D006739F9 /* Tests */, + D5CEB6442E8431FB00A88BA3 /* Tests.xctestplan */, D5CEB5512E84303E00A88BA3 /* TestFramework */, D5E04C2F2E842584006739F9 /* Frameworks */, D5E04C172E8424CD006739F9 /* Products */, @@ -231,6 +234,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + D5CEB6452E8431FB00A88BA3 /* Tests.xctestplan in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; From abeaa4ce527658c12949a75e704df97320729612 Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 15:39:36 +0100 Subject: [PATCH 11/14] WIP --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index db86a817..3b4ff89d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,10 +97,11 @@ jobs: else case "$PLATFORM" in iOS) SCRIPT_PLATFORM=ios ;; + macOS) SCRIPT_PLATFORM=macos ;; + macCatalyst) SCRIPT_PLATFORM=mac-catalyst ;; tvOS) SCRIPT_PLATFORM=tvos ;; - watchOS) SCRIPT_PLATFORM=watchos ;; visionOS) SCRIPT_PLATFORM=visionos ;; - macOS) SCRIPT_PLATFORM=macos ;; + watchOS) SCRIPT_PLATFORM=watchos ;; esac fi From 5126efac447605f2fda9695286a3c6c57e85bdc0 Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 16:34:48 +0100 Subject: [PATCH 12/14] WIP --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3b4ff89d..b8d766fb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -119,7 +119,7 @@ jobs: echo "RUNTIME=$RUNTIME" >> $GITHUB_ENV echo "SCRIPT_PLATFORM=$SCRIPT_PLATFORM" >> $GITHUB_ENV - - if: ${{ env.PLATFORM != 'macOS' }} + - if: ${{ env.PLATFORM != 'macCatalyst' && env.PLATFORM != 'macOS' }} name: Check for ${{ env.RUNTIME }} runtime run: | if xcrun simctl list runtimes | grep -q "$RUNTIME"; then From 7691ced3bfeb4448094c660bb658f0ef787a59aa Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 16:35:06 +0100 Subject: [PATCH 13/14] test --- .github/workflows/ci.yml | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8d766fb..21e16607 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,36 +49,36 @@ jobs: fail-fast: false matrix: runtime: - - [iOS, 15, 5] - - [iOS, 16, 4] - - [iOS, 17, 5] - - [iOS, 18, 6] - - [iOS, 26, 0] - - - [iPadOS, 15, 5] - - [iPadOS, 16, 4] - - [iPadOS, 17, 5] - - [iPadOS, 18, 6] - - [iPadOS, 26, 0] + # - [iOS, 15, 5] + # - [iOS, 16, 4] + # - [iOS, 17, 5] + # - [iOS, 18, 6] + # - [iOS, 26, 0] + + # - [iPadOS, 15, 5] + # - [iPadOS, 16, 4] + # - [iPadOS, 17, 5] + # - [iPadOS, 18, 6] + # - [iPadOS, 26, 0] - [macCatalyst, 15, 0] - [macOS, 15, 0] - - [tvOS, 15, 4] - - [tvOS, 16, 4] - - [tvOS, 17, 5] - - [tvOS, 18, 5] - - [tvOS, 26, 0] - - - [visionOS, 1, 2] - - [visionOS, 2, 5] - - [visionOS, 26, 0] - - - [watchOS, 8, 5] - - [watchOS, 9, 4] - - [watchOS, 10, 5] - - [watchOS, 11, 5] - - [watchOS, 26, 0] + # - [tvOS, 15, 4] + # - [tvOS, 16, 4] + # - [tvOS, 17, 5] + # - [tvOS, 18, 5] + # - [tvOS, 26, 0] + + # - [visionOS, 1, 2] + # - [visionOS, 2, 5] + # - [visionOS, 26, 0] + + # - [watchOS, 8, 5] + # - [watchOS, 9, 4] + # - [watchOS, 10, 5] + # - [watchOS, 11, 5] + # - [watchOS, 26, 0] steps: - name: Git Checkout uses: actions/checkout@v5 From f00c6be73bb75f04e7cc1ebd10dbdb6d522abfdd Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Wed, 24 Sep 2025 16:40:13 +0100 Subject: [PATCH 14/14] Revert "test" This reverts commit 7691ced3bfeb4448094c660bb658f0ef787a59aa. --- .github/workflows/ci.yml | 52 ++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 21e16607..b8d766fb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,36 +49,36 @@ jobs: fail-fast: false matrix: runtime: - # - [iOS, 15, 5] - # - [iOS, 16, 4] - # - [iOS, 17, 5] - # - [iOS, 18, 6] - # - [iOS, 26, 0] - - # - [iPadOS, 15, 5] - # - [iPadOS, 16, 4] - # - [iPadOS, 17, 5] - # - [iPadOS, 18, 6] - # - [iPadOS, 26, 0] + - [iOS, 15, 5] + - [iOS, 16, 4] + - [iOS, 17, 5] + - [iOS, 18, 6] + - [iOS, 26, 0] + + - [iPadOS, 15, 5] + - [iPadOS, 16, 4] + - [iPadOS, 17, 5] + - [iPadOS, 18, 6] + - [iPadOS, 26, 0] - [macCatalyst, 15, 0] - [macOS, 15, 0] - # - [tvOS, 15, 4] - # - [tvOS, 16, 4] - # - [tvOS, 17, 5] - # - [tvOS, 18, 5] - # - [tvOS, 26, 0] - - # - [visionOS, 1, 2] - # - [visionOS, 2, 5] - # - [visionOS, 26, 0] - - # - [watchOS, 8, 5] - # - [watchOS, 9, 4] - # - [watchOS, 10, 5] - # - [watchOS, 11, 5] - # - [watchOS, 26, 0] + - [tvOS, 15, 4] + - [tvOS, 16, 4] + - [tvOS, 17, 5] + - [tvOS, 18, 5] + - [tvOS, 26, 0] + + - [visionOS, 1, 2] + - [visionOS, 2, 5] + - [visionOS, 26, 0] + + - [watchOS, 8, 5] + - [watchOS, 9, 4] + - [watchOS, 10, 5] + - [watchOS, 11, 5] + - [watchOS, 26, 0] steps: - name: Git Checkout uses: actions/checkout@v5