system proxy & build_windows script

This commit is contained in:
wgh19
2024-05-15 20:40:59 +08:00
parent 702fbf42b8
commit 3b9b5b3cb0
6 changed files with 116 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
import Cocoa
import FlutterMacOS
import IOKit.ps
class MainFlutterWindow: NSWindow {
override func awakeFromNib() {
@@ -8,6 +9,22 @@ class MainFlutterWindow: NSWindow {
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()