Notice
Recent Posts
Recent Comments
Link
투케이2K
517. (ios/swift5) [유틸 파일] getMobileLock : 모바일 잠금 상태 여부 확인 - LocalAuthentication 본문
IOS
517. (ios/swift5) [유틸 파일] getMobileLock : 모바일 잠금 상태 여부 확인 - LocalAuthentication
투케이2K 2024. 4. 20. 12:01[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [모바일 잠금 화면 설정 여부 확인]
// -----------------------------------------------------------------------------------------
var getMobileLockFlag = false
func getMobileLock() -> Bool {
/*
// -----------------------------------------
// [getMobileLock 메소드 설명]
// -----------------------------------------
1. 필요 import : import LocalAuthentication
// -----------------------------------------
2. 호출 방법 : if C_StateCheck().getMobileLock() == true {} else {}
// -----------------------------------------
*/
// [변수 값 초기화]
self.getMobileLockFlag = false
// [세마포어 선언 : 프로그램 로직을 동기화 구현 : value 0 값은 대기 상태 선언]
let semaphore = DispatchSemaphore(value: 0)
var error: NSError?
guard LAContext().canEvaluatePolicy(.deviceOwnerAuthentication, error: &error) else {
// [에러 체크 문제 발생]
guard let error = error
else {
S_Log._D_(description: "모바일 잠금 상태 여부 확인 [에러] 발생 [1]", data: [error?.localizedDescription ?? ""])
// [생체 인증 사용 가능 여부 에러 결과 반환]
self.getMobileLockFlag = false
// [세마포어 신호 알림]
semaphore.signal()
// [리턴 데이터 반환]
return self.getMobileLockFlag
}
S_Log._D_(description: "모바일 잠금 상태 여부 확인 [에러] 발생 [2]", data: [error.localizedDescription])
// [생체 인증 사용 가능 여부 에러 결과 반환]
self.getMobileLockFlag = false
// [세마포어 신호 알림]
semaphore.signal()
// [리턴 데이터 반환]
return self.getMobileLockFlag
}
// MARK: [evaluate 사용 가능]
self.getMobileLockFlag = true
// [세마포어 신호 알림]
semaphore.signal()
// [세마포어 확인 대기]
semaphore.wait()
// [로그 출력]
S_Log._D_(description: "모바일 잠금 상태 여부 확인", data: [
"RETURN :: \(self.getMobileLockFlag)"
])
// [결과 리턴 수행 실시]
return self.getMobileLockFlag
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
Comments