Firebase 로 로그인 기능을 추가하려고 검색하던 중 Internet Connection 관련 내용을 우연히 발견하였다.
생각 못했던 부분에 대해서 발견하였기 때문에, 나중에 까먹기 전에 미리 구현해 놓는 것이 좋을 것 같아서 한번 만들어 봤다.
생각 외로 단순한 작업이었으나, 여기에서 인터넷 끊겼을 경우 alert 또는 view 한 개를 더 만들어서 보여주는 것이 나을 것 같다는 생각이 들었다.
1. Swift 파일을 한개 추가한다. (이름은 아무거나 줘도 상관없지만, 나는 monitorNetwork로 생성하였다.)
2. 새로 생성한 파일에 아래 코드를 복붙한다.
import Network
func monitorNetwork() {
let monitor = NWPathMonitor()
monitor.pathUpdateHandler = { path in
if path.status == .satisfied {
DispatchQueue.main.async {
print("Internet connected")
}
} else {
DispatchQueue.main.async {
print("Internet disconnected")
}
}
}
let queue = DispatchQueue(label: "Network")
monitor.start(queue: queue)
}
3. 네트워크 체크 하려는 곳의 viewDidLoad() function 안에 방금 작성한 monitorNetwork() 를 넣어주고 실행하면 끝난다.
override func viewDidLoad() {
super.viewDidLoad()
monitorNetwork()
}
- 만약 wifi 만 체크 하고 싶다면 아래와 같이 넣으면 됨
let monitor = NWPathMonitor(requiredInterfaceType: .wifi)