You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diplomatic-quarter/ios/Runner/WifiConnect/HMG_GUEST_bkp.swift

130 lines
4.4 KiB
Swift

////
//// HMG_GUEST.swift
//// HMG-iOS-Wifi
////
//// Created by ZiKambrani on 23/03/1442 AH.
//// Copyright © 1442 ZiKambrani. All rights reserved.
////
//
//import UIKit
//import NetworkExtension
//import SystemConfiguration.CaptiveNetwork
//
//
//class HMG_GUEST{
// static let shared = HMG_GUEST()
// private let SSID = "GUEST-POC"
// private let USER = "1301"
// private let PASS = "8928"
//
// var complete:((_ status:Bool, _ message:String) -> Void)!
// func connect(completion:@escaping ((_ status:Bool, _ message:String) -> Void)){
// complete = completion
//
// if isAlreadyConnected() {
// hasInternet { (has) in
// if has == true{
// self.complete(true, "You already connected to internet")
// return
// }else{
// self.authenticate()
// }
// }
// }else{
// connect()
// }
// }
//
// private func connect() {
// let hotspotConfig = NEHotspotConfiguration(ssid: SSID)
// hotspotConfig.joinOnce = true
//
// NEHotspotConfigurationManager.shared.apply(hotspotConfig) {[weak self] (error) in
// guard let self = self else { return; }
//
// if let error = error {
// self.complete(false, error.localizedDescription ?? "Error connecting to HMG wifi network" )
// }else{
// _ = Timer.scheduledTimer(withTimeInterval: 2, repeats: false) { (timer) in
// self.authenticate()
// }
// }
// }
// }
//
// func authenticate(){
//
// func callLogin(){
//
// let parameters = "Login=Log%20In&cmd=authenticate&password=1820&user=2300"
// let postData = parameters.data(using: .utf8)
//
// var request = URLRequest(url: URL(string: "https://captiveportal-login.hmg.com/cgi-bin/login")!,timeoutInterval: 5)
// request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
//
// request.httpMethod = "POST"
// request.httpBody = postData
//
// let task = URLSession.shared.dataTask(with: request) { data, response, error in
// // guard let data = data else {
// // self.complete(false, "Error at authentication")
// // return
// // }
//
// self.hasInternet { (has) in
// self.complete(has, has ? "Successfully connected to the internet" : "Authentication failed or you are already using your credentials on another device")
// }
// }
// task.resume()
//
// }
//
// self.hasInternet { (has) in
// if has == true{
// self.complete(true, "Your internet account is already authenticated")
// }else{
// callLogin()
// }
// }
//
// }
//
// private func isAlreadyConnected() -> Bool{
// var currentSSID: String?
// if let interfaces = CNCopySupportedInterfaces() as NSArray? {
// for interface in interfaces {
// if let interfaceInfo = CNCopyCurrentNetworkInfo(interface as! CFString) as NSDictionary? {
// currentSSID = interfaceInfo[kCNNetworkInfoKeySSID as String] as? String
// break
// }
// }
// }
//
// print("CurrentConnectedSSID: \(currentSSID)")
// return currentSSID == SSID
// }
//
//
// func hasInternet( completion:@escaping ((Bool)->Void)){
//
// let testUrl = "https://captive.apple.com"
// var request = URLRequest(url: URL(string: testUrl)!,timeoutInterval: 5)
// request.httpMethod = "GET"
// let task = URLSession.shared.dataTask(with: request) { data, response, error in
// guard let data = data else {
// completion(false)
// return
// }
// let resp = String(data: data, encoding: .utf8)!
// if resp.contains("<TITLE>Success</TITLE>"){
// completion(true)
// }else{
// completion(false)
// }
//
// }
// task.resume()
// }
//
//}