Как проверить интернет соединение в Swift?

Чтобы проверить подключение к интернету на Swift, можно использовать фреймворк Network, который предоставляет современный способ отслеживания изменений в сети. Вот пример, как это можно реализовать:

Пошаговый пример с использованием фреймворка Network:

  1. Импортируйте фреймворк Network:

    import Network
    
  2. Создайте монитор сети:

    class NetworkMonitor {
        static let shared = NetworkMonitor()
        
        private let monitor = NWPathMonitor()
        private let queue = DispatchQueue.global(qos: .background)
        
        var isConnected: Bool = false
        
        private init() {
            monitor.pathUpdateHandler = { [weak self] path in
                self?.isConnected = path.status == .satisfied
            }
            monitor.start(queue: queue)
        }
    }
    
  3. Использование: Теперь можно проверять статус подключения, обращаясь к свойству isConnected у NetworkMonitor.shared:

    if NetworkMonitor.shared.isConnected {
        print("Интернет подключен")
    } else {
        print("Нет подключения к интернету")
    }
    

Этот пример отслеживает статус сети в фоновом режиме и обновляет свойство isConnected, когда статус подключения меняется. Вы можете использовать эту логику в любом месте вашего приложения для проверки сети.

Примечания:

  • NWPathMonitor из фреймворка Network доступен, начиная с iOS 12.
  • Если вам нужна поддержка более старых версий iOS, можно рассмотреть использование библиотеки Reachability.swift в качестве альтернативы.