瀏覽代碼

[macOS, Mono] Fix "Wdeprecated-declarations" build error.

(cherry picked from commit 5d54c015b2dd0a26237c00788be25b3da4cfe3dd)
bruvzg 5 年之前
父節點
當前提交
3151ebbd68
共有 1 個文件被更改,包括 11 次插入14 次删除
  1. 11 14
      modules/mono/utils/osx_utils.cpp

+ 11 - 14
modules/mono/utils/osx_utils.cpp

@@ -38,24 +38,21 @@
 #include <CoreServices/CoreServices.h>
 
 bool osx_is_app_bundle_installed(const String &p_bundle_id) {
-	CFURLRef app_url = NULL;
-	CFStringRef bundle_id = CFStringCreateWithCString(NULL, p_bundle_id.utf8(), kCFStringEncodingUTF8);
-	OSStatus result = LSFindApplicationForInfo(kLSUnknownCreator, bundle_id, NULL, NULL, &app_url);
+	CFStringRef bundle_id = CFStringCreateWithCString(nullptr, p_bundle_id.utf8(), kCFStringEncodingUTF8);
+	CFArrayRef result = LSCopyApplicationURLsForBundleIdentifier(bundle_id, nullptr);
 	CFRelease(bundle_id);
 
-	if (app_url)
-		CFRelease(app_url);
-
-	switch (result) {
-		case noErr:
+	if (result) {
+		if (CFArrayGetCount(result) > 0) {
+			CFRelease(result);
 			return true;
-		case kLSApplicationNotFoundErr:
-			break;
-		default:
-			break;
+		} else {
+			CFRelease(result);
+			return false;
+		}
+	} else {
+		return false;
 	}
-
-	return false;
 }
 
 #endif