diff --git a/.github/actions/setup-xcode/action.yml b/.github/actions/setup-xcode/action.yml index 90b449317d14f..409fd8cdfa85f 100644 --- a/.github/actions/setup-xcode/action.yml +++ b/.github/actions/setup-xcode/action.yml @@ -9,8 +9,7 @@ runs: - name: Setup Xcode version shell: bash run: | - sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer - xcodebuild -downloadPlatform iOS -buildVersion 18.2 + sudo xcode-select -s /Applications/Xcode_16.4.app /usr/bin/xcodebuild -version - name: Cache Xcode DerivedData diff --git a/.github/workflows/compose-tests.yml b/.github/workflows/compose-tests.yml index f96366485ccc5..0a24a8407d7d7 100644 --- a/.github/workflows/compose-tests.yml +++ b/.github/workflows/compose-tests.yml @@ -45,6 +45,8 @@ jobs: compose-ios-tests: runs-on: macos-15-xlarge name: Compose iOS Tests + env: + GRADLE_OPTS: -Xmx12g -Dorg.gradle.daemon=false steps: - name: Checkout Repository uses: actions/checkout@v5 @@ -67,6 +69,86 @@ jobs: paths: "out/**/build/test-results/**/TEST-*.xml" if: always() + compose-ios-utils-tests: + runs-on: macos-15-xlarge + name: Compose iOS Utils Tests + env: + GRADLE_OPTS: -Xmx12g -Dorg.gradle.daemon=false + steps: + - name: Checkout Repository + uses: actions/checkout@v5 + + - name: Setup Prerequisites + uses: ./.github/actions/setup-prerequisites + + - name: Setup Xcode + uses: ./.github/actions/setup-xcode + + - name: Run iOS Utils Tests + timeout-minutes: 15 + shell: bash + working-directory: compose/ui/ui-uikit/src/uikitMain/objc/CMPUIKitUtils + run: | + xcodebuild test \ + -resultBundlePath TestResults.xcresult \ + -scheme CMPUIKitUtilsTests \ + -project CMPUIKitUtils.xcodeproj \ + -destination 'platform=iOS Simulator,name=iPhone 16' + + - name: Upload Test Results + uses: actions/upload-artifact@v4 + if: failure() + with: + name: TestResults-${{ github.run_number }}.xcresult + path: compose/ui/ui-uikit/src/uikitMain/objc/CMPUIKitUtils/TestResults.xcresult + + compose-ios-instrumented-tests: + runs-on: macos-15-xlarge + name: Compose iOS Instrumented Tests + env: + GRADLE_OPTS: -Xmx12g -Dorg.gradle.daemon=false + steps: + - name: Checkout Repository + uses: actions/checkout@v5 + + - name: Setup Prerequisites + uses: ./.github/actions/setup-prerequisites + + - name: Setup Xcode + uses: ./.github/actions/setup-xcode + + - name: Configure Simulator + run: | + xcrun simctl list devices + + # Boot a test simulator + xcrun simctl boot "iPhone 16" + + # Write the accessibility flags inside the Simulator: + xcrun simctl spawn booted defaults write com.apple.Accessibility AccessibilityEnabled -bool true + xcrun simctl spawn booted defaults write com.apple.Accessibility ApplicationAccessibilityEnabled -bool true + xcrun simctl spawn booted defaults write com.apple.Accessibility AutomationEnabled -bool true + + # Restart SpringBoard (so system services pick up the change) + xcrun simctl spawn booted launchctl stop com.apple.SpringBoard + xcrun simctl shutdown all + + - name: Run iOS Instrumented Tests + timeout-minutes: 30 + shell: bash + working-directory: compose/ui/ui/src/uikitInstrumentedTest/launcher + run: | + xcodebuild test \ + -scheme Launcher \ + -project Launcher.xcodeproj \ + -destination 'platform=iOS Simulator,name=iPhone 16' + + - name: Test Summary + uses: test-summary/action@v2 + with: + paths: "**/reports/junit.xml" + if: always() + compose-web-chrome-tests: runs-on: ubuntu-24.04 name: Compose Web Chrome Tests diff --git a/.jb-ciscripts/PullRequests/UIKitInstrumentedTests.sh b/.jb-ciscripts/PullRequests/UIKitInstrumentedTests.sh deleted file mode 100755 index 72aa489e69d45..0000000000000 --- a/.jb-ciscripts/PullRequests/UIKitInstrumentedTests.sh +++ /dev/null @@ -1,51 +0,0 @@ - -## Building framework with XCTests -./gradlew :compose:ui:ui:linkInstrumentedTestDebugFrameworkUikitSimArm64 - -# Force-close all simulators -xcrun simctl shutdown all -killall Simulator - -## Configure simulators to disconnect hardware keyboard (and show on-screen keyboard). -# Get list of all DEVICES -DEVICES=$(xcrun simctl list DEVICES --json) -TEST_DEVICE="iPhone 16" - -echo $DEVICES - -# This assumes you have jq installed; you can also parse manually if not -if ! command -v jq &> /dev/null; then - echo "Error: jq is not installed" - exit 1 -fi - -# Export current preferences to PREF_PLIST -PREF_PLIST=~/iphonesimulator.plist -defaults export com.apple.iphonesimulator - > "$PREF_PLIST" - -# Adding "ConnectHardwareKeyboard = false" for every simulator -echo "$DEVICES" | jq -r '.DEVICES | to_entries[] | select(.key | startswith("com.apple.CoreSimulator.SimRuntime.iOS")) | .value[] | "\(.udid)"' | while read -r UUID; do - /usr/libexec/PlistBuddy -c "Set :DevicePreferences:$UUID:ConnectHardwareKeyboard false" "$PREF_PLIST" 2>/dev/null || \ - /usr/libexec/PlistBuddy -c "Add :DevicePreferences:$UUID:ConnectHardwareKeyboard bool false" "$PREF_PLIST" -done - -# Import back the modified plist -defaults import com.apple.iphonesimulator "$PREF_PLIST" - -## Launch Simulator app -XCODE_PATH=$(xcode-select -p) -SIMULATOR_PATH="$XCODE_PATH/Applications/Simulator.app/Contents/MacOS/Simulator" -open -a $SIMULATOR_PATH - -# boot a test simulator -xcrun simctl boot "$TEST_DEVICE" -# Write the accessibility flags inside the Simulator: -xcrun simctl spawn booted defaults write com.apple.Accessibility AccessibilityEnabled -bool true -xcrun simctl spawn booted defaults write com.apple.Accessibility ApplicationAccessibilityEnabled -bool true -xcrun simctl spawn booted defaults write com.apple.Accessibility AutomationEnabled -bool true -# Restart SpringBoard (so system services pick up the change) -xcrun simctl spawn booted launchctl stop com.apple.SpringBoard - -## Launch tests -cd compose/ui/ui/src/uikitInstrumentedTest/launcher -xcodebuild test -scheme Launcher-CI -project Launcher.xcodeproj -destination "platform=iOS Simulator,name=$TEST_DEVICE" diff --git a/.jb-ciscripts/README.md b/.jb-ciscripts/README.md deleted file mode 100644 index 078ba92f4a92c..0000000000000 --- a/.jb-ciscripts/README.md +++ /dev/null @@ -1,3 +0,0 @@ -This folder contains scripts called by CI. - -Storing them in the repo solves the issue of [not supporting different branches in TeamCity](https://youtrack.jetbrains.com/issue/CMP-8136/PR-checks-runs-always-by-main-teamcity-config). diff --git a/compose/ui/ui/src/uikitInstrumentedTest/kotlin/androidx/compose/ui/interaction/BasicInteractionTest.kt b/compose/ui/ui/src/uikitInstrumentedTest/kotlin/androidx/compose/ui/interaction/BasicInteractionTest.kt index dbdaca4c07ac0..1cd9fb81f548b 100644 --- a/compose/ui/ui/src/uikitInstrumentedTest/kotlin/androidx/compose/ui/interaction/BasicInteractionTest.kt +++ b/compose/ui/ui/src/uikitInstrumentedTest/kotlin/androidx/compose/ui/interaction/BasicInteractionTest.kt @@ -22,7 +22,10 @@ import androidx.compose.material.Button import androidx.compose.material.Text import androidx.compose.material.TextField import androidx.compose.runtime.MutableState +import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -131,7 +134,7 @@ class BasicInteractionTest { } } - findNodeWithTag("TextField").doubleTap() + openToolbar(textFieldTag = "TextField") verifyFullToolbarPresent() } @@ -146,7 +149,7 @@ class BasicInteractionTest { } } - findNodeWithTag("TextField").doubleTap() + openToolbar(textFieldTag = "TextField") verifyFullToolbarPresent() } @@ -160,7 +163,7 @@ class BasicInteractionTest { } } - findNodeWithTag("TextField").doubleTap() + openToolbar(textFieldTag = "TextField") verifyFullToolbarPresent() } @@ -175,7 +178,7 @@ class BasicInteractionTest { } } - findNodeWithTag("TextField").doubleTap() + openToolbar(textFieldTag = "TextField") verifyFullToolbarPresent() } @@ -196,7 +199,7 @@ class BasicInteractionTest { fun MutableState.isFullySelected(): Boolean = value.selection.start == 0 && value.selection.end == value.text.length - findNodeWithTag("TextField").doubleTap() + openToolbar(textFieldTag = "TextField") waitForContextMenu() assertFalse(textFieldValue.isFullySelected()) @@ -219,7 +222,7 @@ class BasicInteractionTest { fun TextFieldState.isFullySelected(): Boolean = selection.start == 0 && selection.end == text.length - findNodeWithTag("TextField").doubleTap() + openToolbar(textFieldTag = "TextField") waitForContextMenu() assertFalse(textFieldState.isFullySelected()) @@ -230,6 +233,13 @@ class BasicInteractionTest { assertTrue(textFieldState.isFullySelected()) } + private fun UIKitInstrumentedTest.openToolbar(textFieldTag: String) { + findNodeWithTag("TextField").tap() + delay(500) + findNodeWithTag("TextField").doubleTap() + waitForContextMenu() + } + @OptIn(ExperimentalFoundationApi::class) private fun runContextMenuTest( newContextMenuEnabled: Boolean, @@ -246,9 +256,6 @@ class BasicInteractionTest { @OptIn(ExperimentalForeignApi::class) private fun UIKitInstrumentedTest.verifyFullToolbarPresent() { - // Verify elements from context menu present - waitForContextMenu() - findNodeWithLabel("Cut").let { it.assertVisibleInContainer() assertTrue(it.isAccessibilityElement ?: false) diff --git a/compose/ui/ui/src/uikitInstrumentedTest/kotlin/androidx/compose/ui/test/AccessibilityTestNode.kt b/compose/ui/ui/src/uikitInstrumentedTest/kotlin/androidx/compose/ui/test/AccessibilityTestNode.kt index b646284e6f770..28e4aceab9234 100644 --- a/compose/ui/ui/src/uikitInstrumentedTest/kotlin/androidx/compose/ui/test/AccessibilityTestNode.kt +++ b/compose/ui/ui/src/uikitInstrumentedTest/kotlin/androidx/compose/ui/test/AccessibilityTestNode.kt @@ -331,14 +331,22 @@ internal fun UIKitInstrumentedTest.assertAccessibilityTree( } internal fun UIKitInstrumentedTest.findNodeWithTag(tag: String) = findNodeWithTagOrNull(tag) - ?: fail("Unable to find node with identifier: $tag") + ?: run { + println("Actual accessibility tree:") + println(getAccessibilityTree().printTree()) + fail("Unable to find node with identifier: $tag") + } internal fun UIKitInstrumentedTest.findNodeWithTagOrNull(tag: String) = firstNodeOrNull { it.identifier == tag } internal fun UIKitInstrumentedTest.findNodeWithLabel(label: String) = findNodeWithLabelOrNull(label) - ?: fail("Unable to find node with label: $label") + ?: run { + println("Actual accessibility tree:") + println(getAccessibilityTree().printTree()) + fail("Unable to find node with label: $label") + } internal fun UIKitInstrumentedTest.findNodeWithLabelOrNull(label: String) = firstNodeOrNull { it.label == label diff --git a/compose/ui/ui/src/uikitInstrumentedTest/launcher/Launcher.xcodeproj/project.pbxproj b/compose/ui/ui/src/uikitInstrumentedTest/launcher/Launcher.xcodeproj/project.pbxproj index 9c468f56494ef..c44b3773b91f2 100644 --- a/compose/ui/ui/src/uikitInstrumentedTest/launcher/Launcher.xcodeproj/project.pbxproj +++ b/compose/ui/ui/src/uikitInstrumentedTest/launcher/Launcher.xcodeproj/project.pbxproj @@ -10,10 +10,6 @@ 9928B7FF2D32CD78006277AD /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9928B7FE2D32CD75006277AD /* main.swift */; }; 9928B8042D330AB6006277AD /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9928B8032D330AB6006277AD /* IOKit.framework */; }; 9928B82C2D3422C1006277AD /* Launcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9928B82B2D3422C1006277AD /* Launcher.swift */; }; - 99AEE0582DCC020200AAC8AE /* Launcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9928B82B2D3422C1006277AD /* Launcher.swift */; }; - 99AEE05A2DCC020200AAC8AE /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9928B8032D330AB6006277AD /* IOKit.framework */; }; - 99AEE0642DCC06D100AAC8AE /* InstrumentedTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 99AEE0632DCC06D100AAC8AE /* InstrumentedTest.framework */; }; - 99AEE0652DCC06D100AAC8AE /* InstrumentedTest.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 99AEE0632DCC06D100AAC8AE /* InstrumentedTest.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -24,36 +20,14 @@ remoteGlobalIDString = 997DFCF92B18E5D3000B56B5; remoteInfo = CMPUIKitUtilsTestApp; }; - 99AEE0552DCC020200AAC8AE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 9975AAC12AEABB5600AF155F /* Project object */; - proxyType = 1; - remoteGlobalIDString = 997DFCF92B18E5D3000B56B5; - remoteInfo = CMPUIKitUtilsTestApp; - }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 99AEE0662DCC06D100AAC8AE /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 99AEE0652DCC06D100AAC8AE /* InstrumentedTest.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 9928B7FE2D32CD75006277AD /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; 9928B8032D330AB6006277AD /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = DEVELOPER_DIR; }; 9928B82B2D3422C1006277AD /* Launcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Launcher.swift; sourceTree = ""; }; 997DFCE32B18D99E000B56B5 /* Launcher.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Launcher.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 997DFCFA2B18E5D3000B56B5 /* LauncherHost.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LauncherHost.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 99AEE05F2DCC020200AAC8AE /* Launcher-CI.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Launcher-CI.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 99AEE0602DCC061700AAC8AE /* iphonesimulator.xcarchive */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = iphonesimulator.xcarchive; path = "../../../../../../out/androidx/internal-testutils-xctest/build/objc/iphonesimulator.xcarchive"; sourceTree = ""; }; 99AEE0612DCC067600AAC8AE /* libCMPTestUtils.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libCMPTestUtils.a; path = "../../../../../../out/androidx/internal-testutils-xctest/build/objc/iphonesimulator.xcarchive/Products/usr/local/lib/libCMPTestUtils.a"; sourceTree = ""; }; 99AEE0632DCC06D100AAC8AE /* InstrumentedTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = InstrumentedTest.framework; path = ../../../../../../out/androidx/compose/ui/ui/build/bin/uikitSimArm64/InstrumentedTestDebugFramework/InstrumentedTest.framework; sourceTree = ""; }; @@ -76,15 +50,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 99AEE0592DCC020200AAC8AE /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 99AEE0642DCC06D100AAC8AE /* InstrumentedTest.framework in Frameworks */, - 99AEE05A2DCC020200AAC8AE /* IOKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -115,7 +80,6 @@ children = ( 997DFCE32B18D99E000B56B5 /* Launcher.xctest */, 997DFCFA2B18E5D3000B56B5 /* LauncherHost.app */, - 99AEE05F2DCC020200AAC8AE /* Launcher-CI.xctest */, ); name = Products; sourceTree = ""; @@ -175,25 +139,6 @@ productReference = 997DFCFA2B18E5D3000B56B5 /* LauncherHost.app */; productType = "com.apple.product-type.application"; }; - 99AEE0532DCC020200AAC8AE /* Launcher-CI */ = { - isa = PBXNativeTarget; - buildConfigurationList = 99AEE05C2DCC020200AAC8AE /* Build configuration list for PBXNativeTarget "Launcher-CI" */; - buildPhases = ( - 99AEE0572DCC020200AAC8AE /* Sources */, - 99AEE0592DCC020200AAC8AE /* Frameworks */, - 99AEE05B2DCC020200AAC8AE /* Resources */, - 99AEE0662DCC06D100AAC8AE /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 99AEE0542DCC020200AAC8AE /* PBXTargetDependency */, - ); - name = "Launcher-CI"; - productName = CMPUIKitUtilsTests; - productReference = 99AEE05F2DCC020200AAC8AE /* Launcher-CI.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -228,7 +173,6 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 99AEE0532DCC020200AAC8AE /* Launcher-CI */, 997DFCE22B18D99E000B56B5 /* Launcher */, 997DFCF92B18E5D3000B56B5 /* LauncherHost */, ); @@ -250,18 +194,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 99AEE05B2DCC020200AAC8AE /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ 9928B7EB2D326BB1006277AD /* Build Tests */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -297,14 +235,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 99AEE0572DCC020200AAC8AE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 99AEE0582DCC020200AAC8AE /* Launcher.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -313,11 +243,6 @@ target = 997DFCF92B18E5D3000B56B5 /* LauncherHost */; targetProxy = 997DFD082B18E5DC000B56B5 /* PBXContainerItemProxy */; }; - 99AEE0542DCC020200AAC8AE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 997DFCF92B18E5D3000B56B5 /* LauncherHost */; - targetProxy = 99AEE0552DCC020200AAC8AE /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -452,8 +377,9 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = ""; GENERATE_INFOPLIST_FILE = YES; HEADER_SEARCH_PATHS = ( "$(inderited)", @@ -467,6 +393,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = JetBrains.CMPUIKitUtilsTests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -480,8 +407,9 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = ""; GENERATE_INFOPLIST_FILE = YES; HEADER_SEARCH_PATHS = ( "$(inderited)", @@ -495,6 +423,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = JetBrains.CMPUIKitUtilsTests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; @@ -509,9 +438,9 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 45226JTYHN; + DEVELOPMENT_TEAM = ""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; @@ -524,6 +453,7 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = JetBrains.CMPUIKitUtilsTestApp; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -538,9 +468,9 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 45226JTYHN; + DEVELOPMENT_TEAM = ""; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; @@ -553,6 +483,7 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = JetBrains.CMPUIKitUtilsTestApp; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; @@ -560,67 +491,6 @@ }; name = Release; }; - 99AEE05D2DCC020200AAC8AE /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ../../../../../../out/androidx/compose/ui/ui/build/bin/uikitSimArm64/InstrumentedTestDebugFramework/; - GENERATE_INFOPLIST_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(inderited)", - "CMPUIKitUtils/**", - ); - MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = ( - "-L$SRCROOT/../../../../../../out/androidx/internal-testutils-xctest/build/objc/iphonesimulator.xcarchive/Products/usr/local/lib", - "-lCMPTestUtils", - "-ObjC", - "-framework", - InstrumentedTest, - ); - PRODUCT_BUNDLE_IDENTIFIER = JetBrains.CMPUIKitUtilsTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LauncherHost.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/LauncherHost"; - }; - name = Debug; - }; - 99AEE05E2DCC020200AAC8AE /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - FRAMEWORK_SEARCH_PATHS = ../../../../../../out/androidx/compose/ui/ui/build/bin/uikitSimArm64/InstrumentedTestDebugFramework/; - GENERATE_INFOPLIST_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(inderited)", - "CMPUIKitUtils/**", - ); - MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = ( - "-L$SRCROOT/../../../../../../out/androidx/internal-testutils-xctest/build/objc/iphonesimulator.xcarchive/Products/usr/local/lib", - "-lCMPTestUtils", - "-ObjC", - "-framework", - InstrumentedTest, - ); - PRODUCT_BUNDLE_IDENTIFIER = JetBrains.CMPUIKitUtilsTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LauncherHost.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/LauncherHost"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -651,15 +521,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 99AEE05C2DCC020200AAC8AE /* Build configuration list for PBXNativeTarget "Launcher-CI" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 99AEE05D2DCC020200AAC8AE /* Debug */, - 99AEE05E2DCC020200AAC8AE /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = 9975AAC12AEABB5600AF155F /* Project object */;