Reachability.swift: ๋„๋‹ฌ ๊ฐ€๋Šฅ์„ฑ์€ ํ•œ ๋ฒˆ๋งŒ ํ˜ธ์ถœ๋˜์—ˆ์œผ๋ฉฐ ์ดํ›„์—๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!

์— ๋งŒ๋“  2017๋…„ 07์›” 27์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ashleymills/Reachability.swift

์•ˆ๋…•,

Wiki์—์„œ ํด๋กœ์ € ์˜ˆ์ œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ iPhone 7 plus์™€ iPhone 7 ๋ชจ๋‘์—์„œ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ๊ฐ€ ํ™œ์„ฑํ™”๋œ ์ƒํƒœ์—์„œ ์•ฑ์„ ์‹œ์ž‘ํ•˜๊ณ  ๋„คํŠธ์›Œํฌ Wi-Fi๋ฅผ ๋‹ซ์œผ๋ฉด ์˜ˆ์ƒ๋Œ€๋กœ ์บก์ฒ˜๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ Wi-Fi๋ฅผ ๋‹ค์‹œ ์ผœ๋ฉด ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ์„ฑ์ด ์—ฌ์ „ํžˆ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Œ์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์–ด๋–ค ํด๋กœ์ €๋„ ์ฒ˜์Œ ์ดํ›„์— ๋‹ค์‹œ ํ˜ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋„์›€์ด ํ•„์š”ํ•˜์„ธ์š”?

๊ฐ์‚ฌ ํ•ด์š”.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์„ ๊นœ๋นกํ•ด์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋„ค, ์‹ค์ œ๋กœ๋Š” ์ž˜ ์ž‘๋™ํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์œ ์ผํ•œ ๋ฌธ์ œ๋Š” ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ณ  macbooks wifi ์—ฐ๊ฒฐ์„ ๋„๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ  ๊ฐ๊ฐ ํ•œ ๋ฒˆ๋งŒ ํด๋กœ์ € ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

์žฅ์น˜์—์„œ ํ…Œ์ŠคํŠธํ•˜๋ฉด ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. :)

๊ฐ์‚ฌ ํ•ด์š”

๋ชจ๋“  7 ๋Œ“๊ธ€

๋ฌธ์ œ #93, #85, #144๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜คโ€ฆ

@ashleymills ์‘๋‹ตํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‚ดํŽด๋ณด์•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‚ด๊ฐ€ ๊ทธ ์˜ˆ์™€ ์†”๋ฃจ์…˜๊ณผ ๋˜‘๊ฐ™์€ ์ผ์„ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ์™œ ๊ทธ๊ฒƒ์ด ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋‚ด๊ฐ€ ๋ฌด์—‡์„ ๋†“์น˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

var reachability = Reachability()!

    override func viewDidAppear(_ animated: Bool) {
        connectionCheck()
    }
    func connectionCheck()
    {
        reachability.whenReachable = { reachability in

            // this is called on a background thread, but UI updates must
            // be on the main thread:
            DispatchQueue.main.async {
                print("Reachable via internet")
                self.crToastShowNotification(show: false)
            }
        }

        reachability.whenUnreachable = { reachability in

            // this is called on a background thread, but UI updates must
            // be on the main thread:
            DispatchQueue.main.async {
                print("Not reachable")
                self.crToastShowNotification(show: true)
            }
        }

        do {
            try reachability.startNotifier()
        } catch {
            print("Unable to start notifier")
        }
    }

๋‚ด๊ฐ€ ๋†“์น˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”

๋‚˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :(

๋‘ ํด๋กœ์ € ๋ชจ๋‘ ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค! ๊ทธ ํ›„ ๋‹ค์‹œ๋Š”. ๋‚˜๋Š” ๋˜ํ•œ ์„ ์–ธํ–ˆ์Šต๋‹ˆ๋‹ค: var Reachability = Reachability()! ํ•จ์ˆ˜ ์™ธ๋ถ€์™€ ํด๋ž˜์Šค์˜ ๋งจ ์œ„์— ์žˆ์Šต๋‹ˆ๋‹ค.

@ashleymills ๋˜๋Š” ๋ˆ„๊ตฐ๊ฐ€ ์ด๊ฒƒ์„ ๋„์™€์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๋‹ค๋ฅธ ๊ฒƒ์„ ์‹œ๋„ ํ•  ์ƒ๊ฐ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—.

๊ฐ์‚ฌ ํ•ด์š”

๋‹น์‹ ์€ ์•„๋งˆ ์•Œ๋ฆฌ๋ฏธ๋ฅผ ์ค‘์ง€ ์–ด๋”˜๊ฐ€์— ๋จน์—ˆ์Šต๋‹ˆ๊นŒ?

์•„๋‹ˆ๋ฉด ๊ด€์ฐฐ์ž๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๊นŒ?

์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์„ ๊นœ๋นกํ•ด์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋„ค, ์‹ค์ œ๋กœ๋Š” ์ž˜ ์ž‘๋™ํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์œ ์ผํ•œ ๋ฌธ์ œ๋Š” ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ณ  macbooks wifi ์—ฐ๊ฒฐ์„ ๋„๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ  ๊ฐ๊ฐ ํ•œ ๋ฒˆ๋งŒ ํด๋กœ์ € ๊ธฐ๋Šฅ์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

์žฅ์น˜์—์„œ ํ…Œ์ŠคํŠธํ•˜๋ฉด ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. :)

๊ฐ์‚ฌ ํ•ด์š”

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰