Contact Person

퐁당풍당

Mobile Developer Share

관리자 글쓰기 로그인

Mobile Developer Share

    카테고리

    • APP (25)
      • Android (11)
        • Develop (9)
        • Error (2)
      • IOS (9)
        • Develop (9)
        • Error (0)
      • - (2)
    IOS/Develop

    Swift-[Network 상태 확인]

    : 퐁당풍당
    : 2018. 2. 7. 15:04

    1. 네트워크 활성화 여부 판단하기


    // 네트워크 상태 체크

        class var connectedToNetwork: Bool {

            

            get {

                var zeroAddress = sockaddr_in(sin_len: 0, sin_family: 0, sin_port: 0, sin_addr: in_addr(s_addr: 0), sin_zero: (0, 0, 0, 0, 0, 0, 0, 0))

                zeroAddress.sin_len = UInt8(MemoryLayout.size(ofValue: zeroAddress))

                zeroAddress.sin_family = sa_family_t(AF_INET)

                

                let defaultRouteReachability = withUnsafePointer(to: &zeroAddress) {

                    $0.withMemoryRebound(to: sockaddr.self, capacity: 1) {zeroSockAddress in

                        SCNetworkReachabilityCreateWithAddress(nil, zeroSockAddress)

                    }

                }

                

                var flags: SCNetworkReachabilityFlags = SCNetworkReachabilityFlags(rawValue: 0)

                if SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) == false {

                    return false

                }

                

                /* Only Working for WIFI

                 let isReachable = flags == .reachable

                 let needsConnection = flags == .connectionRequired

                 

                 return isReachable && !needsConnection

                 */

                

                // Working for Cellular and WIFI

                let isReachable = (flags.rawValue & UInt32(kSCNetworkFlagsReachable)) != 0

                let needsConnection = (flags.rawValue & UInt32(kSCNetworkFlagsConnectionRequired)) != 0

                let ret = (isReachable && !needsConnection)

                

                return ret

            }

            

        }


    저작자표시 동일조건 (새창열림)
    퍼가기

    'IOS > Develop' 카테고리의 다른 글

    [Swift] 바코드 생성하기  (0) 2018.03.05
    Swift-[IphoneX 체크]  (0) 2018.02.07
    Swift-[런처스크린 불러오기]  (0) 2018.01.16
    IOS 서버 없이 앱 업데이트 알림 팝업 띄우기  (0) 2017.09.19
    IOS 앱스토어 등록전 준비 사항  (0) 2017.08.02
    최근에 올라온 글
    RECENT POSTS
    최근에 달린 댓글
    RECENT COMMENTS
    LINK
    -
    방문자수
    COUNTER
    Today
    Yesterday
    Total
    퐁당풍당’s Blog is powered by / Designed by UX공작소
    위로가기

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.