INNER CODE UNIT · Swift
handleAppMessage
UnboundTechCo/defyxVPN · ios/PacketTunnel/PacketTunnelProvider.swift:82
override func handleAppMessage(_ messageData: Data, completionHandler: ((Data?) -> Void)?) {
guard let json = try? JSONSerialization.jsonObject(with: messageData, options: []),
let dict = json as? [String: String],
let command = dict["command"]
else {
os_log("❌ Invalid JSON or missing command.")
completionHandler?(nil)
return
}
os_log("📩 Received command: %@", command)
switch command {
case "START_TUN2SOCKS":
startTun2socks { result in
let response = result ? "TUN2SOCKS_STARTED" : "TUN2SOCKS_ERROR"
os_log("✅ Tun2Socks: \(result)")
completionHandler?(response.data(using: .utf8))