투케이2K

369. (ios/swift5) [유틸 파일] getBatteryChargeStatus : 현재 배터리 충전 상태 확인 - UIDevice.BatteryState 본문

IOS

369. (ios/swift5) [유틸 파일] getBatteryChargeStatus : 현재 배터리 충전 상태 확인 - UIDevice.BatteryState

투케이2K 2023. 11. 8. 21:01

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

 

    // -----------------------------------------------------------------------------------------
    // MARK: - [현재 배터리 충전 상태 확인]
    // -----------------------------------------------------------------------------------------
    func getBatteryChargeStatus() -> Int {
        
        /*
        // -----------------------------------------
        [getBatteryChargeStatus 메소드 설명]
        // -----------------------------------------
        1. 현재 배터리 충전 상태 확인
        // -----------------------------------------
        2. 호출 방법 : C_App().getBatteryChargeStatus()
        // -----------------------------------------
        3. 리턴 반환 : 

        충전 중이 아닌 경우 = 0 / 충전 중 = 1 / 충전 완료 = 2
        // -----------------------------------------
        */

        
        // [리턴 변수 선언]
        var returnData = 0
        var M_LOG = ""


        // [로직 처리 실시]
        let batteryStatus: UIDevice.BatteryState = UIDevice.current.batteryState
        var batteryCharge = ""
        switch batteryStatus {
        case .charging:
            returnData = 1
            M_LOG = "charging [충전 중인 상태]"
            break
        case .full:
            returnData = 2
            M_LOG = "full [충전 완료]"
            break
        case .unplugged:
            returnData = 0
            M_LOG = "unplugged [충전 중이 아님]"
            break
        case .unknown:
            returnData = -1
            M_LOG = "unknown"
            break
        default:
            returnData = -2
            M_LOG = "default"
            break
        }

        
        // [로그 출력 실시]
        S_Log._D_(description: "현재 배터리 충전 상태 확인", data: [
            "M_LOG :: \(M_LOG)",
            "RETURN :: \(returnData)"
        ])
        
        
        // [리턴 데이터 반환 실시]
        return returnData
    }

 

반응형
Comments