Notice
Recent Posts
Recent Comments
Link
투케이2K
538. (ios/swift5) [유틸 파일] isJailbreak : 앱 탈옥 여부 상태 확인 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// -----------------------------------------------------------------------------------------
// MARK: - [앱 탈옥 여부 상태 확인]
// -----------------------------------------------------------------------------------------
func isJailbreak() -> Bool {
/*
// -----------------------------------------
[isJailbreak 메소드 설명]
// -----------------------------------------
1. 앱 탈옥 여부 상태 확인 실시
// -----------------------------------------
2. 호출 방법 :
C_StateCheck().isJailbreak()
// -----------------------------------------
3. 리턴 데이터 :
시뮬레이터에서 동작 중인 경우 및 탈옥 패키지가 설치 된 경우 true, 아닌 경우 false
// -----------------------------------------
4. 참고 내용 :
TARGET_IPHONE_SIMULATOR : iOS 9.0 beta 부터 deprecated
// -----------------------------------------
*/
// [초기 리턴 데이터 변수 선언 실시]
var returnData = false
// [시뮬레이터 체크 수행 실시]
let modelName = ProcessInfo.processInfo.environment["SIMULATOR_DEVICE_NAME"] ?? ""
if modelName != nil && modelName.isEmpty == false && modelName.count>0 {
S_Log._D_(description: "시뮬레이터 동작 상태 확인 :: true", data: nil)
// [리턴 변수 변경]
returnData = true
// [리턴 반환 실시]
return returnData
}
// [탈옥 앱 설치 여부 확인]
let fileManager = FileManager.default
if fileManager.fileExists(atPath: "/Applications/Cydia.app") ||
fileManager.fileExists(atPath: "/Library/MobileSubstrate/MobileSubstrate.dylib") ||
fileManager.fileExists(atPath: "/bin/bash") ||
fileManager.fileExists(atPath: "/usr/sbin/sshd") ||
fileManager.fileExists(atPath: "/etc/apt") ||
fileManager.fileExists(atPath: "/usr/bin/ssh") ||
fileManager.fileExists(atPath: "/private/var/lib/apt") {
S_Log._D_(description: "탈옥 설치 여부 상태 확인 :: true", data: nil)
// [리턴 변수 변경]
returnData = true
// [리턴 반환 실시]
return returnData
}
// [로그 출력 실시]
S_Log._D_(description: "탈옥 설치 여부 상태 확인 :: false", data: nil)
// [리턴 반환 실시]
return returnData
}
[결과 출력]
반응형
'IOS' 카테고리의 다른 글
Comments