투케이2K

179. (ios/swift) 디바이스 이름 모델 명칭 device model name 확인 실시 본문

IOS

179. (ios/swift) 디바이스 이름 모델 명칭 device model name 확인 실시

투케이2K 2022. 9. 1. 13:50
반응형

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    func deviceModelName() -> String {
        print("")
        print("===============================")
        print("[ViewController >> deviceModelName() :: 디바이스 모델 명칭 확인 실시]")
        print("===============================")
        print("")
        
        // [1]. 시뮬레이터 체크 수행 실시
        var modelName = ProcessInfo.processInfo.environment["SIMULATOR_DEVICE_NAME"] ?? ""
        if modelName != nil && modelName.isEmpty == false && modelName.count>0 {
            print("")
            print("===============================")
            print("[ViewController >> deviceModelName() :: 디바이스 시뮬레이터]")
            print("[deviceModelName :: \(modelName)]")
            print("===============================")
            print("")
            
            // [리턴 반환 실시]
            return modelName
        }
        
        // [2]. 실제 디바이스 체크 수행 실시
        let device = UIDevice.current
        let selName = "_\("deviceInfo")ForKey:"
        let selector = NSSelectorFromString(selName)
        
        if device.responds(to: selector) { // [옵셔널 체크 실시]
            modelName = String(describing: device.perform(selector, with: "marketing-name").takeRetainedValue())
        }
        
        print("")
        print("===============================")
        print("[ViewController >> deviceModelName() :: 실제 디바이스 기기]")
        print("[deviceModelName :: \(modelName)]")
        print("===============================")
        print("")
        
        // [리턴 반환 실시]
        return modelName
    }
 

[결과 출력]


반응형
Comments