기본적으로 WebView를 띄우기 전 서버 접속이 원활한지 확인이 필요하다.
Alamofire 를 이용해서 response 되는 값을 검토해서 정상여부를 확인 후,
비정상인 경우 앱을 종료한다는 메시지(UIAlertController)와 함께 Timer 를 이용해서 5초 후 자동종료 되게 한다.
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request(baseUrl, method: .get)
.responseJSON { response in
if response.response != nil {
// self.alertMessageOK(title: “알림”, message: “정상 접속되었습니다.”)
}else{
if #available(iOS 10.0, *) {
self.alertMessageFail(title: “알림”, message: “서버 접속이 원활하지 않습니다. \n앱 종료 후 다시 접속 해주십시오. \n5초 후 자동종료됩니다.”)
} else {
// Fallback on earlier versions
}
}
}
if let url = URL(string: baseUrl + introUrl) {
let urlRequest = URLRequest(url: url)
webView?.load(urlRequest)
}
}
}
extension UIViewController {
func alertMessageOK(title: String, message: String) {
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertController.Style.alert)
let action = UIAlertAction(title: “Ok”, style: .default, handler: nil)
alert.addAction(action)
present(alert, animated: true, completion: nil)
}
@available(iOS 10.0, *)
func alertMessageFail(title: String, message: String) {
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertController.Style.alert)
let action = UIAlertAction(title: “Ok”, style: .default, handler: nil)
alert.addAction(action)
present(alert, animated: true, completion: nil)
Timer.scheduledTimer(timeInterval: 5,
target: self,
selector: #selector(fnExit),
userInfo: nil,
repeats: false)
}
@objc func fnExit(){
exit(0)
}
}