Skip to main content
Glama
LocalIOSDeviceController.kt1.67 kB
package util import util.CommandLineUtils.runCommand import java.io.File import java.nio.file.Path import java.time.LocalDateTime import java.time.format.DateTimeFormatter object LocalIOSDeviceController { private const val LOG_DIR_DATE_FORMAT = "yyyy-MM-dd_HHmmss" private val dateFormatter by lazy { DateTimeFormatter.ofPattern(LOG_DIR_DATE_FORMAT) } private val date = dateFormatter.format(LocalDateTime.now()) fun install(deviceId: String, path: Path) { runCommand( listOf( "xcrun", "devicectl", "device", "install", "app", "--device", deviceId, path.toAbsolutePath().toString(), ) ) } fun launchRunner(deviceId: String, port: Int, snapshotKeyHonorModalViews: Boolean?) { val outputFile = File(XCRunnerCLIUtils.logDirectory, "xctest_runner_$date.log") val params = mutableMapOf("SIMCTL_CHILD_PORT" to port.toString()) if (snapshotKeyHonorModalViews != null) { params["SIMCTL_CHILD_snapshotKeyHonorModalViews"] = snapshotKeyHonorModalViews.toString() } runCommand( listOf( "xcrun", "devicectl", "device", "process", "launch", "--terminate-existing", "--device", deviceId, "dev.mobile.maestro-driver-iosUITests.xctrunner" ), params = params, waitForCompletion = false, outputFile = outputFile ) } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mobile-dev-inc/Maestro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server