美文网首页
iOS 18 以上 Shared Extention 使用Ope

iOS 18 以上 Shared Extention 使用Ope

作者: 试图与自己和解 | 来源:发表于2025-10-12 19:49 被阅读0次

Swift

@discardableResult
    @objc func openURL(_ url: URL) -> Bool {
        var responder: UIResponder? = self
        while responder != nil {
            if let application = responder as? UIApplication {
                application.open(url, options: [:]) { success in
                    if success {
                        print("App opened successfully")
                    } else {
                        print("Failed to open app")
                    }
                }
                return true
            }
            responder = responder?.next
        }
        return false
    }

Object C

- (void)openURL:(NSURL *)url {
    UIResponder* responder = self;
    while (responder)
    {
        if ([responder respondsToSelector:@selector(openURL:options:completionHandler:)] && [responder isMemberOfClass:[UIApplication class]])
        {
            [((UIApplication *)responder) openURL:url options:@{} completionHandler:nil];
        }
        responder = [responder nextResponder];
    }
}

相关文章

网友评论

      本文标题:iOS 18 以上 Shared Extention 使用Ope

      本文链接:https://www.haomeiwen.com/subject/vqovtstx.html