์ด๋ค ์ด์ ๋ก ReachabilitySwift์ ๋ชจ๋ ์ด๋ฆ์ด Reachability๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
๋ถํํ๋ ๋ ํ๋ก์ ํธ๋ ์ด์ ํ๋์ ํ๋ก์ ํธ์ ํฌํจ๋ ๊ฒฝ์ฐ ์ถฉ๋ํฉ๋๋ค. ์ด๋ ์ฃผ๋ก ํ์ฌ ์ข ์์ฑ์ด ๊ฐ ์ข ์์ฑ์ ๋์ด์ฌ ๋ ๋ฐ์ํฉ๋๋ค. (์ฒจ๋ถ๋ ์์ ํ๋ก์ ํธ ์ฐธ์กฐ)
์ด ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ์ด์ "ReachabilitySwift" ๋ชจ๋ ์ด๋ฆ์ผ๋ก ๋ค์ ์ด๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ํ์ง๋ง Objective C/ํผํฉ ํ๋ก์ ํธ์์ ํ์ ํธํ์ฑ์ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ชฉํ๊ฐ ์๋๋๋ค.
๊ฑด๋ฐฐ
๊ธ์ฐ ๊ฑด๊ฐ ์ฆ์ง ํํ
์๋ ํ์ธ์ @ashleymills
๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค.
์ฐ๊ฒฐ์ฑSwift ๋ฐ ์ฐ๊ฒฐ์ฑ
์๋ํ๊ฒ ํ ๋์์ด ์์ต๋๊น?
Xcode ์ธก์์?
๋ช ๊ฐ์ง ์๋ฃจ์
์ ์ฐ๊ตฌํ์ง๋ง ์ค์ ๋ก ์ดํดํ์ง ๋ชปํฉ๋๋ค.
๊ทธ๋ค์ ํ์ผ ์ด๋ฆ์ ๋ฐ๊ฟ๋๋ค.
์๋ฃจ์ ์ ์ ๊ณตํ ์ ์์ต๋๊น?
๊ธ์, ๋น์ ์ ๋ง์ ์ฌ๋๋ค์ด ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ฌด๋ฃ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฒ์ํ๊ณ ์๊ณ ํ์คํ ์ฌ๋ฌ ๋ฉด์์ ์ปค๋ฎค๋ํฐ๋ฅผ ๋์๊ธฐ ๋๋ฌธ์ ๊ทธ ๊ฐ์ฌ๋ถํฐ ์์ํด์ผ ํฉ๋๋ค(์ ๋ ์ผ์์ ์ธ dep ๋ฐ ๋ค๋ฅธ ์ฌ๋์ ๊ฒฐ์ /ํฌํจ์ผ๋ก ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง์ต๋๋ค. , ํ์ง๋ง ๊ทธ๊ฒ์ ๋ฐ์ด๋ค ํ์๋ ์์ง๋ง ์ปค๋ฎค๋ํฐ๋ฅผ ๋์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์ฑ, ์ ์ง ๊ด๋ฆฌ ๋ฐ ๊ณต์ ์ ๋ํด ์ฌ์ ํ ๊ฐ์ฌ๋ฅผ ํํ๊ณ ์ถ์ต๋๋ค. ๊ทธ ์ ์ ๋ํด ๋๋จํ ๊ฐ์ฌํฉ๋๋ค!!!).
๋๋ ์ด๊ฒ์ด ๋ชจ๋ ์ด๋ฆ ์์ ๊ณ ์ ํ ์๋ณ์๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ(ํนํ ์ ์๋ ค์ง ๊ธฐ์กด ๋๋ ํ๋ซํผ๊ณผ ์ถฉ๋ํ ๋) "๊ด๋ก์ ๊ท๋ฒ์ ์กด์ค"ํ๋ ๊ฒ๋งํผ "์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ"์ ๋ฌธ์ ๊ฐ ์๋๋ผ๊ณ ์ ์ํฉ๋๋ค. ํ๋๋ฅผ ์ ๊ณตํ์ต๋๋ค!), ๊ทธ๋ฆฌ๊ณ ์์ฌํ ์ฌ์ง ์์ด ์ผ์์ ์ธ ์ข ์์ฑ์ด ๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค ๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
๊ฑฐ์ 1๋ ์ด ์ง๋ ํ์๋ ์ด ๋ฌธ์ ๋ ์ง์๋๋ฉฐ ๊ฐ๋ฐ์์ ์ฌ์ฉ์๋ ๋ฌธ์ ๋ฅผ ์๋ฐฉํ ์ ์์ ๋ ์คํ ์์ค ์ํํธ์จ์ด์ ์ ์ฒด ๋ชฉ์ ์ด๋ ์ด์ ์ ํฌ๊ฒ ๋ฌด๋ ฅํํ๋ ์์์์ ์์กดํ๊ฒ ๋ฉ๋๋ค.
ASHReachability์ ๋ํด ๊ทธ๋ ๊ฒ ๋ชจ์์ ์ธ ๊ฒ์ ๋ฌด์์ ๋๊น? ๋ค์์คํ์ด์ค ์ถฉ๋์ ๊ฐ๋ฅ์ฑ์ ์์ฒญ๋๊ฒ ๋ฎ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ ๋ฉ์ง ์ด๋ฆ๋ ๊ฐ์ง๊ณ ์์ต๋๋ค!
๋๋ ReachabilitySwift ๋ฐ Reachability(๊ฐ๊ฐ)๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด graphql_flutter ๋ฐ ์ฐ๊ฒฐ์ ์ ํ ํ์ง ์์๊ณ ํฉ๋ฆฌ์ ์ด๊ณ ํ๋์ ์ธ ์๋ฃจ์ ๋ณด๋ค ๊ณ ๋ ์ฐ์คํฌ๋ฆฌํธ์ด ์ด๋ฆ์ ๋ฐ์ ๋ช ๋ช ๋ ํฌ์ฆ์ ๋ ์ ์ฌํ ์ด์ํ ๊ธฐ๋ณต์ ๊ฐ์ ํ๋ ์ด์ํ ๋น๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ค๋ฅธ ์ด๋ฆ์ ๊ฐ์ ํ๋ ค๊ณ ํ ๋ ์ด๋ฆ์ด ๊ณ ์ ํ๊ฒ ์ ํ๋์ง ์์๊ธฐ ๋๋ฌธ์(๋ด GH ๊ฒ์ ๋ฑ์ด ํ์๋๋ ๊ฒฝ์ฐ) ๋จ์ํ?
๋ฌผ๋ก , ๋๋ ReachabilitySwift๋ฅผ ํฌํฌํ๊ณ ๋ฌธ์ ๋ฅผ ์์ ํ๊ฑฐ๋ graphql_flutter๋ฅผ ์์ ํ๊ณ ๋์ ์ฐ๊ฒฐ์ฑ_swift๋ฅผ ์ฌ์ฉํ๋๋ก ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ด ์ ์ฒด ์คํ ์์ค, ๊ณต์ ๊ธฐ์ฌ ๋ชจ๋ธ์ ๋ํ ์ ์ฃผ๋ฅผ ์คํํ์ง ์์ต๋๊น? ๋๋ ๋ถํฉ๋ฆฌํ๊ฒ ์ ํ๋ ์ด๋ฆ์ ํด๊ฒฐํ๋ ๊ฒ๋ณด๋ค ํ๋ก์ ํธ ๋๋ ๋ค๋ฅธ ๋ฐ์ ์ ๊ธฐ์ฌํ๋ (์ด๋ ์์ ์์ ๋ถ๊ฐํผํ๊ฒ ์ค๋จ ๋ ) ์ ์ง ๊ด๋ฆฌ์ ๋ณํจ์์ด ์๊ฐ์ ํ ์ ํ๊ณ ์ถ์ต๋๋ค. ๊ทธ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๋ค์ ๋งํ์ง๋ง, ๊ณต๊ฒฉ์ ์ผ๋ก ๋ค๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ(๋ด ์๋๋ ์ ํ ๊ทธ๋ฐ ๊ฒ์ด ์๋๋๋ค), ๊ณ ์๋ก ์ด๋ฆ ๊ณต๊ฐ๊ณผ ๊ธฐํธ ์ถฉ๋์ ๊ณ ์๋ก ์ ๋ํ๋ ์์ ํ ๊ธฐ์ ์ ์ธ ์ฅ์ ์ ๋ํ ์งํ์ ๋ํด ์ง์งํ๊ฒ ์๋ฌธ์ ์ ๊ธฐํ๊ณ , ์ ํํ ?
์ถ์ - ์, "๊ด์ต๊ณผ ๊ท๋ฒ์ ์กด์คํ๋ผ", "์ฐ๋ฆฌ ๋ชจ๋๋ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ์ ์ง๋ด์ผ ํ๋ค", "์๋ชป๋ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ฉด ์ ๋ ๋ฐฐ๋ก ์ค์ฌ์ผ ํ๋๊ฐ"์ ๊ฐ์ ๋ฏธ๊ตญ์ธ์ ๋ง์ ์์ด๋ฌ๋๋ฅผ ์๋๋ค. ํ์ง๋ง ๋น์ ์ ์๊ณ ์์ต๋๋ค. , "๋ด ๋ํต๋ น์ด ์๋์ผ" ๊ทธ๋ฆฌ๊ณ ์ฌ์ ํ ์ฃผ๋จน์ ์ฅ๊ณ ์๋ 6,300๋ง ๋ช ์ ๋ฉ์ฒญํ ๋ํฌ๋ค์๊ฒ ๋ฏธ์ํฉ๋๋ค...
์ด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ํ์ง๋ง Objective C/ํผํฉ ํ๋ก์ ํธ์์ ํ์ ํธํ์ฑ์ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ชฉํ๊ฐ ์๋๋๋ค.
๊ฑด๋ฐฐ
๊ธ์ฐ ๊ฑด๊ฐ ์ฆ์ง ํํ
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ธ์, ๋น์ ์ ๋ง์ ์ฌ๋๋ค์ด ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ฌด๋ฃ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฒ์ํ๊ณ ์๊ณ ํ์คํ ์ฌ๋ฌ ๋ฉด์์ ์ปค๋ฎค๋ํฐ๋ฅผ ๋์๊ธฐ ๋๋ฌธ์ ๊ทธ ๊ฐ์ฌ๋ถํฐ ์์ํด์ผ ํฉ๋๋ค(์ ๋ ์ผ์์ ์ธ dep ๋ฐ ๋ค๋ฅธ ์ฌ๋์ ๊ฒฐ์ /ํฌํจ์ผ๋ก ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง์ต๋๋ค. , ํ์ง๋ง ๊ทธ๊ฒ์ ๋ฐ์ด๋ค ํ์๋ ์์ง๋ง ์ปค๋ฎค๋ํฐ๋ฅผ ๋์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์ฑ, ์ ์ง ๊ด๋ฆฌ ๋ฐ ๊ณต์ ์ ๋ํด ์ฌ์ ํ ๊ฐ์ฌ๋ฅผ ํํ๊ณ ์ถ์ต๋๋ค. ๊ทธ ์ ์ ๋ํด ๋๋จํ ๊ฐ์ฌํฉ๋๋ค!!!).
๋๋ ์ด๊ฒ์ด ๋ชจ๋ ์ด๋ฆ ์์ ๊ณ ์ ํ ์๋ณ์๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ(ํนํ ์ ์๋ ค์ง ๊ธฐ์กด ๋๋ ํ๋ซํผ๊ณผ ์ถฉ๋ํ ๋) "๊ด๋ก์ ๊ท๋ฒ์ ์กด์ค"ํ๋ ๊ฒ๋งํผ "์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ"์ ๋ฌธ์ ๊ฐ ์๋๋ผ๊ณ ์ ์ํฉ๋๋ค. ํ๋๋ฅผ ์ ๊ณตํ์ต๋๋ค!), ๊ทธ๋ฆฌ๊ณ ์์ฌํ ์ฌ์ง ์์ด ์ผ์์ ์ธ ์ข ์์ฑ์ด ๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋ค ๋ ๋์ฑ ๊ทธ๋ ์ต๋๋ค.
๊ฑฐ์ 1๋ ์ด ์ง๋ ํ์๋ ์ด ๋ฌธ์ ๋ ์ง์๋๋ฉฐ ๊ฐ๋ฐ์์ ์ฌ์ฉ์๋ ๋ฌธ์ ๋ฅผ ์๋ฐฉํ ์ ์์ ๋ ์คํ ์์ค ์ํํธ์จ์ด์ ์ ์ฒด ๋ชฉ์ ์ด๋ ์ด์ ์ ํฌ๊ฒ ๋ฌด๋ ฅํํ๋ ์์์์ ์์กดํ๊ฒ ๋ฉ๋๋ค.
ASHReachability์ ๋ํด ๊ทธ๋ ๊ฒ ๋ชจ์์ ์ธ ๊ฒ์ ๋ฌด์์ ๋๊น? ๋ค์์คํ์ด์ค ์ถฉ๋์ ๊ฐ๋ฅ์ฑ์ ์์ฒญ๋๊ฒ ๋ฎ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ ๋ฉ์ง ์ด๋ฆ๋ ๊ฐ์ง๊ณ ์์ต๋๋ค!
๋๋ ReachabilitySwift ๋ฐ Reachability(๊ฐ๊ฐ)๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด graphql_flutter ๋ฐ ์ฐ๊ฒฐ์ ์ ํ ํ์ง ์์๊ณ ํฉ๋ฆฌ์ ์ด๊ณ ํ๋์ ์ธ ์๋ฃจ์ ๋ณด๋ค ๊ณ ๋ ์ฐ์คํฌ๋ฆฌํธ์ด ์ด๋ฆ์ ๋ฐ์ ๋ช ๋ช ๋ ํฌ์ฆ์ ๋ ์ ์ฌํ ์ด์ํ ๊ธฐ๋ณต์ ๊ฐ์ ํ๋ ์ด์ํ ๋น๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ค๋ฅธ ์ด๋ฆ์ ๊ฐ์ ํ๋ ค๊ณ ํ ๋ ์ด๋ฆ์ด ๊ณ ์ ํ๊ฒ ์ ํ๋์ง ์์๊ธฐ ๋๋ฌธ์(๋ด GH ๊ฒ์ ๋ฑ์ด ํ์๋๋ ๊ฒฝ์ฐ) ๋จ์ํ?
๋ฌผ๋ก , ๋๋ ReachabilitySwift๋ฅผ ํฌํฌํ๊ณ ๋ฌธ์ ๋ฅผ ์์ ํ๊ฑฐ๋ graphql_flutter๋ฅผ ์์ ํ๊ณ ๋์ ์ฐ๊ฒฐ์ฑ_swift๋ฅผ ์ฌ์ฉํ๋๋ก ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ด ์ ์ฒด ์คํ ์์ค, ๊ณต์ ๊ธฐ์ฌ ๋ชจ๋ธ์ ๋ํ ์ ์ฃผ๋ฅผ ์คํํ์ง ์์ต๋๊น? ๋๋ ๋ถํฉ๋ฆฌํ๊ฒ ์ ํ๋ ์ด๋ฆ์ ํด๊ฒฐํ๋ ๊ฒ๋ณด๋ค ํ๋ก์ ํธ ๋๋ ๋ค๋ฅธ ๋ฐ์ ์ ๊ธฐ์ฌํ๋ (์ด๋ ์์ ์์ ๋ถ๊ฐํผํ๊ฒ ์ค๋จ ๋ ) ์ ์ง ๊ด๋ฆฌ์ ๋ณํจ์์ด ์๊ฐ์ ํ ์ ํ๊ณ ์ถ์ต๋๋ค. ๊ทธ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๋ค์ ๋งํ์ง๋ง, ๊ณต๊ฒฉ์ ์ผ๋ก ๋ค๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ(๋ด ์๋๋ ์ ํ ๊ทธ๋ฐ ๊ฒ์ด ์๋๋๋ค), ๊ณ ์๋ก ์ด๋ฆ ๊ณต๊ฐ๊ณผ ๊ธฐํธ ์ถฉ๋์ ๊ณ ์๋ก ์ ๋ํ๋ ์์ ํ ๊ธฐ์ ์ ์ธ ์ฅ์ ์ ๋ํ ์งํ์ ๋ํด ์ง์งํ๊ฒ ์๋ฌธ์ ์ ๊ธฐํ๊ณ , ์ ํํ ?
์ถ์ - ์, "๊ด์ต๊ณผ ๊ท๋ฒ์ ์กด์คํ๋ผ", "์ฐ๋ฆฌ ๋ชจ๋๋ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ์ ์ง๋ด์ผ ํ๋ค", "์๋ชป๋ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ฉด ์ ๋ ๋ฐฐ๋ก ์ค์ฌ์ผ ํ๋๊ฐ"์ ๊ฐ์ ๋ฏธ๊ตญ์ธ์ ๋ง์ ์์ด๋ฌ๋๋ฅผ ์๋๋ค. ํ์ง๋ง ๋น์ ์ ์๊ณ ์์ต๋๋ค. , "๋ด ๋ํต๋ น์ด ์๋์ผ" ๊ทธ๋ฆฌ๊ณ ์ฌ์ ํ ์ฃผ๋จน์ ์ฅ๊ณ ์๋ 6,300๋ง ๋ช ์ ๋ฉ์ฒญํ ๋ํฌ๋ค์๊ฒ ๋ฏธ์ํฉ๋๋ค...