[swift] Reachability를 사용해 시청 중인 비디오 일시정지하기

개요

본 문서는 Swift 프로그래밍 언어를 사용하여 Reachability를 활용하여 시청 중인 비디오를 일시정지하는 방법에 대해 설명합니다. Reachability는 네트워크 연결의 상태를 감지하는 데 사용되는 라이브러리입니다. 이를 활용하여 네트워크 연결이 끊겼을 때 비디오 재생을 일시정지하는 기능을 구현할 수 있습니다.

Reachability 라이브러리 설치

  1. 프로젝트의 Podfile을 열고 다음과 같이 Reachability 라이브러리를 추가합니다.
target 'YourProject' do
  pod 'ReachabilitySwift'
end
  1. 터미널을 열고 프로젝트 경로에서 다음 명령을 실행하여 Reachability 라이브러리를 설치합니다.
$ pod install

Reachability 사용하기

  1. ReachabilitySwift 모듈을 import합니다.
import ReachabilitySwift
  1. Reachability 클래스의 인스턴스를 생성합니다.
let reachability = Reachability()!
  1. viewDidLoad() 함수나 필요한 곳에서 Reachability 객체를 초기화합니다.
override func viewDidLoad() {
    super.viewDidLoad()
    
    // Reachability 객체 초기화
    reachability.whenReachable = { reachability in
        // 네트워크 연결되었을 때 동작할 내용
        // 비디오 재생을 계속 진행
    }
    
    reachability.whenUnreachable = { _ in
        // 네트워크 연결이 끊겼을 때 동작할 내용
        // 비디오 일시정지
    }
    
    // Reachability 시작
    do {
        try reachability.startNotifier()
    } catch {
        print("Unable to start notifier")
    }
}
  1. 비디오 재생 중에는 Reachability 객체를 통해 네트워크 연결 상태를 감시합니다.
// 비디오 재생 중에 네트워크 연결 상태 체크
switch reachability.currentReachabilityStatus {
case .reachableViaWiFi, .reachableViaWWAN:
    // 네트워크 연결됨
    // 비디오 재생 계속 진행
    break
case .notReachable:
    // 네트워크 연결 끊김
    // 비디오 일시정지
    break
}
  1. Reachability 사용이 끝난 후에는 반드시 Reachability 객체를 중지시켜야 합니다.
// Reachability 중지
reachability.stopNotifier()

참고 자료