iOS 18 以上 Shared Extention 使用Ope

2025-10-12  本文已影响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];
    }
}
上一篇 下一篇

猜你喜欢

热点阅读