解决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;
}
相关推荐
高斯的手稿080111 分钟前
使用VNC从Windows/Mac复制文字,粘贴到树莓派终端里
macos
Maynor9961 小时前
刚刚!谷歌 Gemini 推出 Mac 客户端
macos
承渊政道3 小时前
【递归、搜索与回溯算法】(二叉树深搜模型拆解与经典题型全面突破)
数据结构·c++·学习·算法·leetcode·macos·bfs
月诸清酒3 小时前
33-260416 AI 科技日报 (Gemini桌面应用登陆Mac,快捷键唤醒)
人工智能·macos
辰风沐阳5 小时前
nvm - node 版本管理工具【macOS/Linux】
linux·运维·macos
xuanwenchao19 小时前
Mac M1/M2/M3/M4/M5芯片-系统安装Ubuntu
linux·ubuntu·macos
WMSmile21 小时前
macOS 上安装 Wails 3(wails3)步骤
macos
不会写程序的未来程序员1 天前
nvm 安装教程:Node.js 版本管理全攻略 (Win/Mac/Linux) + .nvmrc 实战
linux·macos·node.js·前端开发·环境配置·nvm
2501_916007471 天前
iOS逆向工程:详细解析ptrace反调试机制的破解方法与实战步骤
android·macos·ios·小程序·uni-app·cocoa·iphone
Chuncheng's blog1 天前
Mac ssh连接无操作自动断开异常
运维·macos·ssh