浏览代码

UI: Add function to open privacy preferences on macOS

gxalpha 3 年之前
父节点
当前提交
b7a20cd5e4
共有 2 个文件被更改,包括 12 次插入0 次删除
  1. 11 0
      UI/platform-osx.mm
  2. 1 0
      UI/platform.hpp

+ 11 - 0
UI/platform-osx.mm

@@ -373,6 +373,17 @@ MacPermissionStatus CheckPermissionWithPrompt(MacPermissionType type,
 	return permissionResponse;
 }
 
+void OpenMacOSPrivacyPreferences(const char *tab)
+{
+	NSURL *url = [NSURL
+		URLWithString:
+			[NSString
+				stringWithFormat:
+					@"x-apple.systempreferences:com.apple.preference.security?Privacy_%s",
+					tab]];
+	[[NSWorkspace sharedWorkspace] openURL:url];
+}
+
 void TaskbarOverlayInit() {}
 void TaskbarOverlaySetStatus(TaskbarOverlayStatus status)
 {

+ 1 - 0
UI/platform.hpp

@@ -105,4 +105,5 @@ MacPermissionStatus CheckPermissionWithPrompt(MacPermissionType type,
 					      bool prompt_for_permission);
 #define CheckPermission(x) CheckPermissionWithPrompt(x, false)
 #define RequestPermission(x) CheckPermissionWithPrompt(x, true)
+void OpenMacOSPrivacyPreferences(const char *tab);
 #endif