Skip to content

Commit b60ba7d

Browse files
committedJan 6, 2025
fix: add try/catch around applesimutils, simctl operation
1 parent 41b6c39 commit b60ba7d

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed
 

‎maestro-ios-driver/src/main/kotlin/util/LocalSimulatorUtils.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ object LocalSimulatorUtils {
416416
)
417417
}
418418

419-
fun setPermissions(deviceId: String, bundleId: String, permissions: Map<String, String>) {
419+
fun setAppleSimutilsPermissions(deviceId: String, bundleId: String, permissions: Map<String, String>) {
420420
val permissionsMap = permissions.toMutableMap()
421421
if (permissionsMap.containsKey("all")) {
422422
val value = permissionsMap.remove("all")

‎maestro-ios/src/main/java/ios/simctl/SimctlIOSDevice.kt

+12-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ios.simctl
22

33
import com.github.michaelbull.result.Result
4+
import com.github.michaelbull.result.onFailure
45
import com.github.michaelbull.result.runCatching
56
import hierarchy.ViewHierarchy
67
import ios.IOSDevice
@@ -167,13 +168,19 @@ class SimctlIOSDevice(
167168
}
168169

169170
override fun setPermissions(id: String, permissions: Map<String, String>) {
170-
logger.info("[Start] Setting permissions through applesimutils")
171-
LocalSimulatorUtils.setPermissions(deviceId, id, permissions)
172-
logger.info("[Done] Setting permissions through applesimutils")
171+
val formattedPermissions = permissions.entries.joinToString(separator = ", ") { "${it.key}=${it.value}" }
172+
173+
runCatching {
174+
logger.info("[Start] Setting permissions $formattedPermissions through applesimutils")
175+
LocalSimulatorUtils.setAppleSimutilsPermissions(deviceId, id, permissions)
176+
logger.info("[Done] Setting permissions through applesimutils")
177+
}.onFailure {
178+
logger.error("Failed setting permissions $permissions via applesimutils", it)
179+
}
173180

174-
logger.info("[Start] Setting Permissions through simctl")
181+
logger.info("[Start] Setting Permissions $formattedPermissions through simctl")
175182
LocalSimulatorUtils.setSimctlPermissions(deviceId, id, permissions)
176-
logger.info("[Done] Setting Permissions through simctl")
183+
logger.info("[Done] Setting Permissions $formattedPermissions through simctl")
177184
}
178185

179186
override fun eraseText(charactersToErase: Int) {

0 commit comments

Comments
 (0)