diff --git a/FBControlCore/Commands/FBSettingsCommands.h b/FBControlCore/Commands/FBSettingsCommands.h index d29cf6dde..628815dd3 100644 --- a/FBControlCore/Commands/FBSettingsCommands.h +++ b/FBControlCore/Commands/FBSettingsCommands.h @@ -21,5 +21,13 @@ extern FBTargetSettingsService const FBTargetSettingsServiceLocation; extern FBTargetSettingsService const FBTargetSettingsServiceMicrophone; extern FBTargetSettingsService const FBTargetSettingsServiceUrl; extern FBTargetSettingsService const FBTargetSettingsServiceNotification; +extern FBTargetSettingsService const FBTargetSettingsServiceCalendar; +extern FBTargetSettingsService const FBTargetSettingsServiceFaceID; +extern FBTargetSettingsService const FBTargetSettingsServiceMedia; +extern FBTargetSettingsService const FBTargetSettingsServiceReminders; +extern FBTargetSettingsService const FBTargetSettingsServiceMotion; +extern FBTargetSettingsService const FBTargetSettingsServiceSiri; +extern FBTargetSettingsService const FBTargetSettingsServiceSpeech; +extern FBTargetSettingsService const FBTargetSettingsServiceUserTracking; NS_ASSUME_NONNULL_END diff --git a/FBControlCore/Commands/FBSettingsCommands.m b/FBControlCore/Commands/FBSettingsCommands.m index cb8dbfc5c..eabf4c776 100644 --- a/FBControlCore/Commands/FBSettingsCommands.m +++ b/FBControlCore/Commands/FBSettingsCommands.m @@ -14,3 +14,11 @@ FBTargetSettingsService const FBTargetSettingsServiceMicrophone = @"microphone"; FBTargetSettingsService const FBTargetSettingsServiceUrl = @"url"; FBTargetSettingsService const FBTargetSettingsServiceNotification = @"notification"; +FBTargetSettingsService const FBTargetSettingsServiceCalendar = @"calendar"; +FBTargetSettingsService const FBTargetSettingsServiceFaceID = @"biometrics"; +FBTargetSettingsService const FBTargetSettingsServiceMedia = @"media"; +FBTargetSettingsService const FBTargetSettingsServiceReminders = @"reminders"; +FBTargetSettingsService const FBTargetSettingsServiceMotion = @"motion"; +FBTargetSettingsService const FBTargetSettingsServiceSiri = @"siri"; +FBTargetSettingsService const FBTargetSettingsServiceSpeech = @"speech"; +FBTargetSettingsService const FBTargetSettingsServiceUserTracking = @"userTracking"; diff --git a/FBSimulatorControl/Commands/FBSimulatorSettingsCommands.m b/FBSimulatorControl/Commands/FBSimulatorSettingsCommands.m index 994d30351..a15e71e42 100644 --- a/FBSimulatorControl/Commands/FBSimulatorSettingsCommands.m +++ b/FBSimulatorControl/Commands/FBSimulatorSettingsCommands.m @@ -507,6 +507,14 @@ - (instancetype)initWithSimulator:(FBSimulator *)simulator FBTargetSettingsServicePhotos: @"kTCCServicePhotos", FBTargetSettingsServiceCamera: @"kTCCServiceCamera", FBTargetSettingsServiceMicrophone: @"kTCCServiceMicrophone", + FBTargetSettingsServiceCalendar: @"kTCCServiceCalendar", + FBTargetSettingsServiceFaceID: @"kTCCServiceFaceID", + FBTargetSettingsServiceMedia: @"kTCCServiceMediaLibrary", + FBTargetSettingsServiceReminders: @"kTCCServiceReminders", + FBTargetSettingsServiceMotion: @"kTCCServiceMotion", + FBTargetSettingsServiceSiri: @"kTCCServiceSiri", + FBTargetSettingsServiceSpeech: @"kTCCServiceSpeechRecognition", + FBTargetSettingsServiceUserTracking: @"kTCCServiceUserTracking", }; }); return mapping; diff --git a/idb/common/types.py b/idb/common/types.py index 98307397d..ed5db306f 100644 --- a/idb/common/types.py +++ b/idb/common/types.py @@ -47,6 +47,14 @@ class Permission(Enum): LOCATION = 4 NOTIFICATION = 5 MICROPHONE = 6 + CALENDAR = 7 + FACEID = 8 + MEDIA = 9 + REMINDERS = 10 + MOTION = 11 + SIRI = 12 + SPEECH = 13 + USER_TRACKING = 14 class TargetType(str, Enum): diff --git a/idb/grpc/client.py b/idb/grpc/client.py index da689c130..00a6aa1e4 100644 --- a/idb/grpc/client.py +++ b/idb/grpc/client.py @@ -176,6 +176,14 @@ Permission.LOCATION: ApproveRequest.LOCATION, Permission.NOTIFICATION: ApproveRequest.NOTIFICATION, Permission.MICROPHONE: ApproveRequest.MICROPHONE, + Permission.CALENDAR: ApproveRequest.CALENDAR, + Permission.FACEID: ApproveRequest.FACEID, + Permission.MEDIA: ApproveRequest.MEDIA, + Permission.REMINDERS: ApproveRequest.REMINDERS, + Permission.MOTION: ApproveRequest.MOTION, + Permission.SIRI: ApproveRequest.SIRI, + Permission.SPEECH: ApproveRequest.SPEECH, + Permission.USER_TRACKING: ApproveRequest.USER_TRACKING, } REVOKE_MAP: Dict[Permission, "RevokeRequest.Permission"] = { @@ -186,6 +194,14 @@ Permission.LOCATION: RevokeRequest.LOCATION, Permission.NOTIFICATION: RevokeRequest.NOTIFICATION, Permission.MICROPHONE: RevokeRequest.MICROPHONE, + Permission.CALENDAR: RevokeRequest.CALENDAR, + Permission.FACEID: RevokeRequest.FACEID, + Permission.MEDIA: RevokeRequest.MEDIA, + Permission.REMINDERS: RevokeRequest.REMINDERS, + Permission.MOTION: RevokeRequest.MOTION, + Permission.SIRI: RevokeRequest.SIRI, + Permission.SPEECH: RevokeRequest.SPEECH, + Permission.USER_TRACKING: RevokeRequest.USER_TRACKING, } VIDEO_FORMAT_MAP: Dict[VideoFormat, "VideoStreamRequest.Format"] = { diff --git a/idb_companion/SwiftServer/MethodHandlers/ApproveMethodHandler.swift b/idb_companion/SwiftServer/MethodHandlers/ApproveMethodHandler.swift index c4870f442..cbf8fe722 100644 --- a/idb_companion/SwiftServer/MethodHandlers/ApproveMethodHandler.swift +++ b/idb_companion/SwiftServer/MethodHandlers/ApproveMethodHandler.swift @@ -27,6 +27,14 @@ struct ApproveMethodHandler { .url: .url, .location: .location, .notification: notificationApprovalService, + .calendar: .calendar, + .faceid: .faceID, + .media: .media, + .reminders: .reminders, + .motion: .motion, + .siri: .siri, + .speech: .speech, + .userTracking: .userTracking, ] var services = try Set( diff --git a/proto/idb.proto b/proto/idb.proto index dcafa5ee9..5376c64f3 100644 --- a/proto/idb.proto +++ b/proto/idb.proto @@ -256,6 +256,14 @@ message ApproveRequest { LOCATION = 4; NOTIFICATION = 5; MICROPHONE = 6; + CALENDAR = 7; + FACEID = 8; + MEDIA = 9; + REMINDERS = 10; + MOTION = 11; + SIRI = 12; + SPEECH = 13; + USER_TRACKING = 14; } string bundle_id = 1; repeated Permission permissions = 2; @@ -273,6 +281,14 @@ message RevokeRequest { LOCATION = 4; NOTIFICATION = 5; MICROPHONE = 6; + CALENDAR = 7; + FACEID = 8; + MEDIA = 9; + REMINDERS = 10; + MOTION = 11; + SIRI = 12; + SPEECH = 13; + USER_TRACKING = 14; } string bundle_id = 1; repeated Permission permissions = 2;