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

Чтобы проверить подключение к интернету на Swift, можно использовать фреймворк Network
, который предоставляет современный способ отслеживания изменений в сети. Вот пример, как это можно реализовать:
Пошаговый пример с использованием фреймворка Network
:
-
Импортируйте фреймворк Network:
import Network
-
Создайте монитор сети:
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) } }
-
Использование: Теперь можно проверять статус подключения, обращаясь к свойству
isConnected
уNetworkMonitor.shared
:if NetworkMonitor.shared.isConnected { print("Интернет подключен") } else { print("Нет подключения к интернету") }
Этот пример отслеживает статус сети в фоновом режиме и обновляет свойство isConnected
, когда статус подключения меняется. Вы можете использовать эту логику в любом месте вашего приложения для проверки сети.
Примечания:
NWPathMonitor
из фреймворкаNetwork
доступен, начиная с iOS 12.- Если вам нужна поддержка более старых версий iOS, можно рассмотреть использование библиотеки
Reachability.swift
в качестве альтернативы.