浏览代码

mac-capture: Fix availability on macOS 12.5

Whereas the `availability` checks will correctly detect macOS 12.5,
the `__MAC_OS_X_VERSION_MAX_ALLOWED` macro is dependent on the platform
SDK. The most current platform SDK is 12.3, hence why this version
needs to be checked for.
PatTheMav 3 年之前
父节点
当前提交
790c5b66f6
共有 2 个文件被更改,包括 7 次插入3 次删除
  1. 6 2
      plugins/mac-capture/mac-screen-capture.m
  2. 1 1
      plugins/mac-capture/plugin-main.c

+ 6 - 2
plugins/mac-capture/mac-screen-capture.m

@@ -3,10 +3,14 @@
 
 bool is_screen_capture_available(void)
 {
-	return (NSClassFromString(@"SCStream") != NULL);
+	if (@available(macOS 12.5, *)) {
+		return true;
+	} else {
+		return false;
+	}
 }
 
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 120500 // __MAC_12_5
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 120300 // __MAC_12_3
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wunguarded-availability-new"
 

+ 1 - 1
plugins/mac-capture/plugin-main.c

@@ -18,7 +18,7 @@ bool obs_module_load(void)
 {
 	obs_register_source(&coreaudio_input_capture_info);
 	obs_register_source(&coreaudio_output_capture_info);
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 120500 // __MAC_12_5
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 120300 // __MAC_12_3
 	if (is_screen_capture_available()) {
 		extern struct obs_source_info screen_capture_info;
 		obs_register_source(&screen_capture_info);