import Cocoa import FlutterMacOS import IOKit.ps class MainFlutterWindow: NSWindow { override func awakeFromNib() { let flutterViewController = FlutterViewController() let windowFrame = self.frame self.contentViewController = flutterViewController self.setFrame(windowFrame, display: true) let proxyChannel = FlutterMethodChannel( name: "pixes/proxy", binaryMessenger: flutterViewController.engine.binaryMessenger) proxyChannel.setMethodCallHandler { (call, result) in // 获取代理设置 if let proxySettings = CFNetworkCopySystemProxySettings()?.takeUnretainedValue() as NSDictionary?, let dict = proxySettings.object(forKey: kCFNetworkProxiesHTTPProxy) as? NSDictionary, let host = dict.object(forKey: kCFNetworkProxiesHTTPProxy) as? String, let port = dict.object(forKey: kCFNetworkProxiesHTTPPort) as? Int { let proxyConfig = "\(host):\(port)" result(proxyConfig) } else { result("No proxy") } } RegisterGeneratedPlugins(registry: flutterViewController) super.awakeFromNib() } override public func order(_ place: NSWindow.OrderingMode, relativeTo otherWin: Int) { super.order(place, relativeTo: otherWin) hiddenWindowAtLaunch() } }