diff --git a/sidecar/src/main/kotlin/dev/sanderling/sidecar/DriverService.kt b/sidecar/src/main/kotlin/dev/sanderling/sidecar/DriverService.kt index 8a2f19b..0f3c945 100644 --- a/sidecar/src/main/kotlin/dev/sanderling/sidecar/DriverService.kt +++ b/sidecar/src/main/kotlin/dev/sanderling/sidecar/DriverService.kt @@ -30,7 +30,7 @@ class DriverService( override fun launch(request: LaunchRequest, responseObserver: StreamObserver) { runRpc(responseObserver) { - backend.launch(request.bundleId, request.clearState) + backend.launch(request.bundleId, request.clearState, request.envMap) launchedBundleId.set(request.bundleId) Empty.getDefaultInstance() } diff --git a/sidecar/src/main/kotlin/dev/sanderling/sidecar/Main.kt b/sidecar/src/main/kotlin/dev/sanderling/sidecar/Main.kt index 929ac6d..4aeed6c 100644 --- a/sidecar/src/main/kotlin/dev/sanderling/sidecar/Main.kt +++ b/sidecar/src/main/kotlin/dev/sanderling/sidecar/Main.kt @@ -44,11 +44,14 @@ fun main(arguments: Array) { val serial = arguments.indexOf("--serial").let { index -> if (index >= 0 && index + 1 < arguments.size) arguments[index + 1] else null } + val udid = arguments.indexOf("--udid").let { index -> + if (index >= 0 && index + 1 < arguments.size) arguments[index + 1] else null + } - val backend: DriverBackend = if (platform == "android") { - MaestroDriverBackend(serial) - } else { - StubDriverBackend(platform) + val backend: DriverBackend = when (platform) { + "android" -> MaestroDriverBackend(serial) + "ios" -> IosDriverBackend(udid ?: error("--udid required for ios platform")) + else -> StubDriverBackend(platform) } val service = DriverService(platform = platform, backend = backend) val server = SidecarServer(port, service)