Как проверить достижимость в iOS и повторить попытку подключения? - PullRequest
2 голосов
/ 09 октября 2019

Я хочу проверить достижимость, когда пользователи потеряли соединение, когда они зарегистрированы, и предложить им попробовать подключиться снова.

во-первых, я пытаюсь использовать, когда недоступное закрытие, и показываю, что UIalert говорит: «Пожалуйста, проверьте подключение к Интернету и повторите попытку». с помощью действия «Повторить», чтобы попытаться повторить попытку проверки соединения, если соединение не показывает сообщение, иначе «есть соединение» удалите предупреждение интерфейса пользователя.

import UIKit

class BaseTabBarViewController: UITabBarController {

    let network = NetworkManager.sharedInstance

    override func viewDidLoad() {
        super.viewDidLoad()

        network.reachability.whenUnreachable = { reachability in
            self.showOfflinePage()
        }
    }

    func retryConnection(alert: UIAlertAction!){
        print("test connection ")
        // if no connction found show try agine
        //else connction

    }

    func showOfflinePage(){

        DispatchQueue.main.async {
            // create the alert
            let alert = UIAlertController(title: "Connectivity Error", message: "Please check your internet connection and try again.", preferredStyle: UIAlertController.Style.alert)

            // add an action (button)
            alert.addAction(UIAlertAction(title: "Retry", style: UIAlertAction.Style.default, handler: self.retryConnection))

            // show the alert
            self.present(alert, animated: true, completion: nil)
        }
    }
}

Ответы [ 2 ]

1 голос
/ 10 октября 2019

Есть множество доступных модулей доступности. Одним из наиболее используемых является Alamofire. Вот ссылки на репо и пример его использования.

https://github.com/Alamofire/Alamofire/blob/master/Source/NetworkReachabilityManager.swift

https://medium.com/@abhimuralidharan/checking-internet-connection-in-swift-3-1-using-alamofire-58ae45719f5

0 голосов
/ 10 октября 2019

вы пробовали использовать опции разработчика iphone (в настройках)? это позволяет вам симулировать плохое соединение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...