๐ iOS/iOS Application (24) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [iOS, Network] Wireshark๋ก ๋คํธ์ํฌ ํจํท ๋ถ์ํ๊ธฐ(3) - Wireshark๋ก SSL Handshake(TLS Handshake) ๊ณผ์ ๋ถ์ SSL Handshake(TLS Handshake) SSL handshake๋ HTTP์ ์ ์ํ๋ ๊ณผ์ ์ผ๋ก 3 way handshake ๊ฐ ๋๋ ๋ค์ ์ด๋ฃจ์ด์ง๋ ๊ณผ์ ์ด๋ค. ํต์ ๊ณผ์ ์์ ์ก์ ์์ ์์ ์๊ฐ ์ํธํ ํต์ ์ ์ํ ๋ฐฉ๋ฒ๊ณผ ์๋จ์ ๋ํด ๊ณต์ ํ๋ค. ์ฆ, ์ํธํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ํ Client์ Server์ ํ์ ๊ณผ์ . ํ์ ๊ณผ์ ์์๋ SSL ์ธ์ฆ์ ์ ๋ฌ, ๋์นญํค(๋น๋ฐํค) ์ ๋ฌ, ์ํธํ ์๊ณ ๋ฆฌ์ฆ ๊ฒฐ์ , SSL/TLS ํ๋กํ ์ฝ ๊ฒฐ์ ๋ฑ์ด ํฌํจ. (1) Client Hello (ํด๋ผ์ด์ธํธ -> ์๋ฒ) : ์ํธํ ์๊ณ ๋ฆฌ์ฆ ๋์ด ๋ฐ ์ ๋ฌ ํด๋ผ์ด์ธํธ๋ ํต์ ํ๊ณ ์ ํ๋ TLS ๋ฒ์ , ์์ ์ด ์ง์ํ๋ cipher ๋ฆฌ์คํธ, ํด๋ผ์ด์ธํธ๊ฐ ์์ฑํ ๋์ ์ ๋ณด๋ฅผ ๋ณด๋ธ๋ค. Cipher Suite์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ๋ฐ์ด.. [iOS, Network] Wireshark๋ก ๋คํธ์ํฌ ํจํท ๋ถ์ํ๊ธฐ(2) - Wireshark๋ก HTTP Handshake, 3 Way-Handshake ๋ถ์ํ๊ธฐ ์ฌ์ Setting์ ํตํด ์์ดํฐ ํจํท ๋ฏธ๋ฌ๋ง์ ์ฑ๊ณตํ๋ค๋ฉด, ์์ดํฐ์์ ์ผ์ด๋๋ ๋คํธ์ํฌ ํต์ ์ Wireshark๋ฅผ ํตํด ํจํท ๋ถ์ํ๋ ๋ฐฉ๋ฒ๊ณผ HTTP Handshake, ๋ฐ์ดํฐ ํต์ ๊ณผ์ ์ ํ์ธํด๋ณด์! โญ๏ธ ํ ์คํธ ๋ฐฉ๋ฒโญ๏ธ Wireshark๋ฅผ ์คํ ์ธํฐํ์ด์ค์์ ์ฐ๊ฒฐ๋ ๋๋ฐ์ด์ค๋ฅผ ์ ํํ์ฌ ์บก์ฒ ์์(์ฌ์ Setting์์ ํ์ธ) ์์ดํฐ์ผ๋ก ์ฌํ๋ฆฌ ์คํ ์ฌํ๋ฆฌ์์ ๋ค์ด๋ฒ์ ์ ์ ์บก์ฒ๋ฅผ ์ข ๋ฃ ํ ํจํท ๋ถ์ [ ์ฌ์ Setting ๋ฐฉ๋ฒ ] [iOS, Network] Wireshark๋ก ๋คํธ์ํฌ ํจํท ๋ถ์ํ๊ธฐ(1) - iOS ํจํท ์บก์ณํ๊ธฐ โญ๏ธ ์ค๋น์ฌํญ โญ๏ธ Xcode ์ค์น ์์ดํฐ์ ํจํท์ ๋ถ์ํ๊ธฐ ์ํด์๋ Remote Virtual Interface ์ฌ์ฉ Xcode๋ฅผ ์ค์นํด์ผ ์ค์น๋๋ค. Wireshark ์ค์น.. [iOS, Network] Wireshark๋ก ๋คํธ์ํฌ ํจํท ๋ถ์ํ๊ธฐ(1) - iOS ํจํท ๋ฏธ๋ฌ๋ง โญ๏ธ ์ค๋น์ฌํญ โญ๏ธ Xcode ์ค์น ์์ดํฐ์ ํจํท์ ๋ถ์ํ๊ธฐ ์ํด์๋ Remote Virtual Interface ์ฌ์ฉ Xcode๋ฅผ ์ค์นํด์ผ ์ค์น๋๋ค. Wireshark ์ค์น ๋คํธ์ํฌ ํจํท์ ๋ถ์ํ ๋ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ํด๋ก, ๊ณต์ ํํ์ด์ง์์ ๋ฌด๋ฃ๋ก ๋ค์ด๋ก๋ํ ์ ์๋ค. https://www.wireshark.org/download.html โญ๏ธ ์ฌ์ฉ ๋ฐฉ๋ฒ โญ๏ธ 1. ์์ดํฐ๊ณผ mac ์ฐ๊ฒฐํ์ฌ ์์ดํฐ UDID ํ์ธ Finder๋ฅผ ํตํด ์ฐ๊ฒฐ๋ ์์ดํฐ์ UDID ์ ๋ณด ํ์ธ ๊ฐ๋ฅํ๋ค. *UDID(Unique Device IDentifier) : iOS, tvOS, macOS๋ฅผ ์คํํ๋ Apple ๊ธฐ๊ธฐ์ ๊ณ ์ ํ ๊ธฐ๊ธฐ ์๋ณ์ 2. ํจํท ๋ฏธ๋ฌ๋ง ์์ ์์ ํ์ธํ UDID์ ๋ณด์ rvictl ๋ช ๋ น์ด ์ฌ์ฉํ์ฌ ํจํท ๋ฏธ.. [iOS] ์ฑ์์ด์ฝ(App Icon) ์ค์ ํ๊ธฐ 1. ์์ด์ฝ ์ด๋ฏธ์ง ์ค๋นํ๊ธฐ - ์ฌ์ด์ฆ ๋ณ๋ก ์ค๋นํ๋ ๋ฐฉ๋ฒ ์ํ๋ ์์ด์ฝ ์ด๋ฏธ์ง๋ฅผ ์ค๋นํ๋ค๋ฉด, ์๋ ์ฌ์ดํธ์ ๋ค์ด๊ฐ ๋ฆฌ์ฌ์ด์งํด์ค๋๋ค. App Icon Generator appicon.co ์ฌ์ดํธ์ ๋๋๊ทธํด์ ์ด๋ฏธ์ง๋ฅผ ๋ฃ๊ณ ์๋ Generate ๋ฒํผ ํด๋ฆญ!! 2. Assets ์ค์ Generate ํด๋ฆญ ์ ๋ฐ๋ก AppIcons.zip ํ์ผ์ด ๋ค์ด๋ฉ๋๋ค. zip ํ์ผ์ ์ด๋ฉด ๋ค์๊ณผ ๊ฐ์ด AppIcon.appiconset ์ด๋ ํด๋ ์์ ์ฌ์ด์ฆ ๋ณ๋ก ์ด๋ฏธ์ง๋ค์ด ๋ค์ด์์ด์! ์ด ํด๋ '๊ทธ๋๋ก' Xcode์ Assets.xacassets์ ๋๋๊ทธํ์ฌ ๋ฃ์ด์ค๋๋ค!! ๋๋๊ทธ ์ ํ์ธํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ ๋๋ก import ๋์ด์์ด์~~๐๐ป ๋น๋ํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ฑ์์ด์ฝ์ด ์ ์ ์ฉ๋์ด ์์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค. ๐ ๐ก ์ฑ.. [Xcode] ์ฑ ๊ธฐ๋ณธ ์ธ์ด ํ๊ตญ์ด๋ก ๋ณ๊ฒฝํ๋ ๋ฒ Xcode์์ ์ฑ ๊ธฐ๋ณธ ์ธ์ด ํ๊ตญ์ด๋ก ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ๐ [NEW ๋ฒ์ ] 1. PROJECT → Info → Localization → “ + ” ํด๋ฆญ → Korean (ko) ์ ํ 2. ์ธ์ด๋ฅผ ์ ์ฉํ ํ์ผ ์ ํ ํ Finish ํด๋ฆญ 3. Info → Localization ์์ Korean ์ ์ฉ๋์์์ ํ์ธ [๊ตฌ๋ฒ์ ] 1. Xcode project์์ ํ๊ตญ์ด ์ถ๊ฐํ๊ธฐ 2. Info.plist์์ Localization native development region์ Korea์ผ๋ก ๋ฐ๊พธ๊ธฐ 3. ํ๋ก์ ํธ์ด๋ฆ.xcodeproj/project.pbxproj ํ์ผ์ ๋ค๋ฅธ ์๋ํฐ(atom, vs ๋ฑ..)๋ฅผ ์ด์ฉํด์ ํธ์ง : developmentRegion๋ฅผ ๊ฒ์ํ์ฌ developmentRegion = ko;๋ก ๋ฐ๊พธ๊ธฐ.. [iOS, Swift, Objective-C] ์ํธํ - SHA256 ๊ตฌํํ๊ธฐ ๐ก SHA256์ด๋? SHA-256์ SHA(Secure Hash Algorithm) ์๊ณ ๋ฆฌ์ฆ์ ํ ์ข ๋ฅ๋ก์ SHA-2 ๊ณ์ด ์ค ํ๋์ด๋ฉฐ, 2^256๋งํผ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ง๋ค ์ ์๋ค. ์ด๋ค ๊ธธ์ด์ ๊ฐ์ ์ ๋ ฅํ๋๋ผ๋ 256๋นํธ์ ๊ณ ์ ๋ ๊ฒฐ๊ณผ๊ฐ(64์๋ฆฌ ๋ฌธ์์ด(32byte))์ ๋ฐํํ๊ณ , SHA-256์ ๋จ๋ฐฉํฅ ์ํธํ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ๋ณตํธํ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค. SHA256 - ํด์๋ท SHA-256์ SHA(Secure Hash Algorithm) ์๊ณ ๋ฆฌ์ฆ์ ํ ์ข ๋ฅ๋ก์ 256๋นํธ๋ก ๊ตฌ์ฑ๋๋ฉฐ 64์๋ฆฌ ๋ฌธ์์ด์ ๋ฐํํ๋ค. SHA-256์ ๋ฏธ๊ตญ์ ๊ตญ๋ฆฝํ์ค๊ธฐ์ ์ฐ๊ตฌ์(NIST; National Institute of Standards and Technology)์ ์ํด ๊ณตํ๋ wiki.hash.kr ๐ก ํด์(Hash)๋?.. [iOS/Swift] ์ฝ๋๋ก ์ง๋(Vibrate) ์ธ๋ฆฌ๊ธฐ, ํจ๊ณผ์ ๋ฃ๊ธฐ - AudioServicesPlaySystemSound AudioServicesPlaySystemSound ์ฌ์ฉํ์ฌ ์ฝ๋๋ก ์ง๋(Vibrate) ์ธ๋ฆฌ๊ธฐ ๐ก 1. AVFoundation์ import import AVFoundation AVFoundation : ์์ฒญ๊ฐ assets ์์ , device์นด๋ฉ๋ผ ์ ์ด, ์ค๋์ค ์ฒ๋ฆฌ ๋ฐ ์์คํ ์ค๋์ค์์ ์ํธ์์ฉ ๊ตฌ์ฑ ๐ก 2. AudioServicesPlaySystemSound ์ฌ์ฉํ์ฌ ์ฝ๋๋ก ์ง๋ ๊ตฌํ ๊ตฌํํ๊ณ ์ถ์ ๊ณณ์ ์๋ ์ฝ๋ ์์ฑ AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); *์ง๋, ํจ๊ณผ์ ๋ฐ์ ํจ์ AudioServicesPlaySystemSound func AudioServicesPlaySystemSound(_ inSystemSoundID: SystemS.. [iOS/Swift] @IBInspectable, @IBDesignable ์ฌ์ฉํ๊ธฐ - UIButton ์ปค์คํ ํ๊ธฐ, UITextField ์ปค์คํ ํ๊ธฐ @IBInspectable, @IBDesignable ์์๋ณด๊ณ ์ฌ์ฉํ๊ธฐ - UIButton ์ปค์คํ ํ๊ธฐ, UITextField ์ปค์คํ ํ๊ธฐ - UIButton ํ ๋๋ฆฌ ๋ง๋ค๊ธฐ - UITextField์ ์ด๋ฏธ์ง ์ถ๊ฐํ๊ธฐ ๐ก1. IB ? @IBOutlet, @IBAction, @IBInspectable, @IBDesignable์ ๊ฐ์ด IB๋ก ์์ํ๋ Attribute๋ค์ด ์์ต๋๋ค. Xcode์์ IB๋ Interface Builder๋ฅผ ์๋ฏธํ๊ณ ์คํ ๋ฆฌ๋ณด๋(Storyboard)๋ฅผ ๋งํฉ๋๋ค. ๋ฐ๋ผ์, ์คํ ๋ฆฌ๋ณด๋์ ์ฝ๋๋ฅผ ์ฐ๊ฒฐ์ํฌ ๋, ์ฐ๋ฆฌ๋ IB๋ก ์์ํ๋ Attribute๋ค์ ์ฌ์ฉํฉ๋๋ค. ์ด ์น๊ตฌ๋ค์ ์ฌ์ฉํ์ฌ ์คํ ๋ฆฌ๋ณด๋์์ ์ค์๊ฐ์ผ๋ก ๋๋๋ง ํด๋ด ์๋ค.๐ ๐ก2. @IBInspectable ? @IBInspectab.. ์ด์ 1 2 3 ๋ค์