misc: Make SDL_OpenURL work with VisionOS, tvOS, etc.

(cherry picked from commit 7bbe6025be)
(cherry picked from commit e55a23050e)
This commit is contained in:
Ryan C. Gordon 2024-12-26 14:03:27 -05:00
parent 76816a3bfc
commit ec0ba62326
No known key found for this signature in database
GPG Key ID: FA148B892AB48044
1 changed files with 3 additions and 2 deletions

View File

@ -26,16 +26,17 @@
int SDL_SYS_OpenURL(const char *url)
{
@autoreleasepool {
NSString *nsstr = [NSString stringWithUTF8String:url];
NSURL *nsurl = [NSURL URLWithString:nsstr];
if (![[UIApplication sharedApplication] canOpenURL:nsurl]) {
return SDL_SetError("No handler registerd for this type of URL");
}
if (@available(iOS 10.0, *)) {
if (@available(iOS 10.0, tvOS 10.0, *)) {
[[UIApplication sharedApplication] openURL:nsurl options:@{} completionHandler:^(BOOL success) {}];
} else {
#ifndef SDL_PLATFORM_VISIONOS /* Fallback is never available in any version of VisionOS (but correct API always is). */
[[UIApplication sharedApplication] openURL:nsurl];
#endif
}
return 0;
}