SDL: misc: Fix SDL_OpenURL on newer iOS releases.

From ffed1c50c03c31774b9058b7694f44c3b4c84ca9 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Thu, 26 Dec 2024 11:40:30 -0500
Subject: [PATCH] misc: Fix SDL_OpenURL on newer iOS releases.

Apparently as of iOS 18.2, the deprecated API we were using just refuses to
work at all.

Fixes #11728.
---
 src/misc/ios/SDL_sysurl.m | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/misc/ios/SDL_sysurl.m b/src/misc/ios/SDL_sysurl.m
index 9a504b21e2236..cc340bc350f4e 100644
--- a/src/misc/ios/SDL_sysurl.m
+++ b/src/misc/ios/SDL_sysurl.m
@@ -35,7 +35,15 @@ bool SDL_SYS_OpenURL(const char *url)
 #else
         NSString *nsstr = [NSString stringWithUTF8String:url];
         NSURL *nsurl = [NSURL URLWithString:nsstr];
-        return [[UIApplication sharedApplication] openURL:nsurl];
+        if (![[UIApplication sharedApplication] canOpenURL:nsurl]) {
+            return SDL_SetError("No handler registerd for this type of URL");
+        }
+        if (@available(iOS 10.0, *)) {
+            [[UIApplication sharedApplication] openURL:nsurl options:@{} completionHandler:^(BOOL success) {}];
+        } else {
+            [[UIApplication sharedApplication] openURL:nsurl];
+        }
+        return true;
 #endif
     }
 }