기기 모델 정보를 얻을 때 이용합니다.

CSwiftHelper.swift

사용예제

 

Facebook Comments

You may be interested

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁
Swift 3.0
shares7 views
Swift 3.0
shares7 views

[Swift3] 폐쇄(Closure)에 대해 살짝 이해할 수 있는 팁

MJ Kim - 4월 29, 2017

몇몇 개발자를 만나 개발을 하다보면, 폐쇄(Closure)에 대해 이해를 하지 못해서 간단하게 바로 이해할 수 있는 팁을 정리해본다. 앱을 개발하다보면 https통신을…

[Swift3] UITextview의 keyboard 닫기
Swift 3.0
shares1 views
Swift 3.0
shares1 views

[Swift3] UITextview의 keyboard 닫기

MJ Kim - 4월 29, 2017

스토리보드에서 델리게이트를 선언하고 class에 UITextViewDelegate를 상속받아서 delegate=self를 viewDidLoad에서 설정하면 간단하게 해결되는데 가끔 헷깔려 하는 경우가 있어 적어본다. [crayon-59043ef9d59bf747549184/] [crayon-59043ef9d59c4856785744/] [crayon-59043ef9d59c7018987270/]…

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈
Swift 3.0
shares4 views
Swift 3.0
shares4 views

스토리보드에서 다국어 지원 및 Xcode 8.3이상에서 이슈

MJ Kim - 4월 29, 2017

다국어 지원은 우선 Localizable.strings파일을 생성한 다음 언어를 지정한다. 그리고 필자가 자주 사용하는 일부 컨트롤들에 대한 확장(extension)을 추가한 다음 스토리보드에서 사용하는…

2 Responses

  1. swift 버전업 되면서 에러가 발생하는것 같아 변경해 보았습니다.

    func getMachineModel() -> String? {
    #if os(iOS) && !(arch(arm) || arch(i386))
    let name = “hw.machine”
    #else
    let name = “hw.model”
    #endif
    //C문자열 만들기
    // let cName = name.bridgeToObjectiveC().UTF8String // Beta5에서 사용못함
    if let cName = name.cStringUsingEncoding(NSUTF8StringEncoding)
    {
    //크기 가짐 (size_t 대신 UInt)
    var size: Int = 0
    sysctlbyname(cName, nil, &size, nil, 0)
    // 얻은 크기 CChar 배열 초기화
    var machine = [CChar](count: Int(size), repeatedValue: 0)//[CChar](count: Int(size)/sizeof(CChar), repeatedValue: 0)
    // 값얻음
    sysctlbyname(cName, &machine, &size, nil, 0)
    //String 변환
    return NSString(bytes: machine, length: Int(size-1), encoding: NSUTF8StringEncoding) as? String
    }
    return nil
    }

  2. swift 버전업 되면서 에러가 발생하는것 같아 변경해 보았습니다.

    func getMachineModel() -> String? {
    #if os(iOS) && !(arch(arm) || arch(i386))
    let name = “hw.machine”
    #else
    let name = “hw.model”
    #endif
    //C문자열 만들기
    // let cName = name.bridgeToObjectiveC().UTF8String // Beta5에서 사용못함
    if let cName = name.cStringUsingEncoding(NSUTF8StringEncoding)
    {
    //크기 가짐 (size_t 대신 UInt)
    var size: Int = 0
    sysctlbyname(cName, nil, &size, nil, 0)
    // 얻은 크기 CChar 배열 초기화
    var machine = [CChar](count: Int(size), repeatedValue: 0)//[CChar](count: Int(size)/sizeof(CChar), repeatedValue: 0)
    // 값얻음
    sysctlbyname(cName, &machine, &size, nil, 0)
    //String 변환
    return NSString(bytes: machine, length: Int(size-1), encoding: NSUTF8StringEncoding) as? String
    }
    return nil
    }