解决cocos 2dx/creator2.4在ios18下openURL无法调用的问题

由于ios18废弃了旧的openURL接口,我们需要修改CCApplication-ios.mm文件的Application::openURL方法:

objectivec 复制代码
//修复openURL在ios18下无法调用的问题
bool Application::openURL(const std::string &url)
{
    // NSString* msg = [NSString stringWithCString:url.c_str() encoding:NSUTF8StringEncoding];
    // NSURL* nsUrl = [NSURL URLWithString:msg];
    // return [[UIApplication sharedApplication] openURL:nsUrl];

    @autoreleasepool {
        NSURL *nsUrl = [NSURL URLWithString:[NSString stringWithUTF8String:url.c_str()]];
        
        // 检查是否为 HTTP/HTTPS URL
        if ([[nsUrl scheme] isEqualToString:@"http"] || [[nsUrl scheme] isEqualToString:@"https"]) {
            if (@available(iOS 14.5, *)) {
                NSDictionary *options = @{UIApplicationOpenExternalURLOptionsEventAttributionKey : @YES};

                [[UIApplication sharedApplication] openURL:nsUrl options:options completionHandler:^(BOOL success) {
                    if (success) {
                        // URL成功打开
                    } else {
                        // URL打开失败
                    }
                }];

                return YES;
            }
        }
        
        // 其他情况使用旧方法
        if (@available(iOS 10.0, *)) {
            [[UIApplication sharedApplication] openURL:nsUrl options:@{} completionHandler:nil];
        } else {
            [[UIApplication sharedApplication] openURL:nsUrl];
        }
        return YES;
    }
    return NO;
}
相关推荐
yuluo_YX6 分钟前
Alias for Linux/Mac
linux·elasticsearch·macos
小李独爱秋16 分钟前
计算机网络经典问题透视:无线局域网MAC协议中的SIFS和DIFS究竟是什么?
网络协议·计算机网络·macos·网络安全·信息与通信·信号处理
goodmao16 小时前
【macOS】【mouse】设置鼠标大小
macos·计算机外设·鼠标·mouse
Magnum Lehar17 小时前
macos信息采集器appledataharvester-3
macos·网络安全·系统安全
川川菜鸟19 小时前
Claude Code 安装与配置完整指南(Mac)
macos
WarmSword20 小时前
mac上用cursor/vscode调试root权限进程
c++·ide·vscode·macos·mac
Magnum Lehar21 小时前
macos的信息采集器appledataHarvester-2
macos·网络安全·系统安全
echo-niuben1 天前
macOS 端已如何正常安装并配置XcodeBuildMCP ?
macos
刘某某.1 天前
Mac上缺失宋体字体,只有宋体-简
macos
Tom·Ge1 天前
在macOS上安装OpenClaw并实现Chrome网站自动化测试
chrome·macos·策略模式