์ ์ฒด ๊ธ (105) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [iOS] appid๋ ? iOS์์ App ID ๋? โ๏ธ ํ๋์ developer Team ์์ ๊ฐ๋ฐํ ์ฑ๋ค์ ์๋ณํ๊ธฐ ์ํ ๊ฐ์ผ๋ก ์ฑ๋ง๋ค ๊ณ ์ ๊ฐ์ผ๋ก ๊ฐ์ง๋๋ค. โ๏ธ Team ID + Bundle ID ๋ก ๊ตฌ์ฑ 1) Team ID (App ID Prefix) ์ ํ์ด ์ ๊ณต ๊ฐ๋ฐ์๊ณ์ ์ฌ์ดํธ > Certificates, Identifiers & Profiles > Identifiers 2) Bundle ID ๊ฐ๋ฐ์์ ์ํด ์ ๊ณต, ์ฑ๋ง๋ค ๊ฐ์ง ๊ณ ์ ์ ์๋ณ์, ์ฑ์คํ ์ด์์ ์ฌ์ฉํ id ์ ์ผํ ๊ฐ Targets > General > Identity > Bundle Identifier ์ ์ค์ ๊ฐ [Error, Xcode] Bitcode๋? App Thinning ? +Bitcode ์๋ฌ ํด๊ฒฐํ๊ธฐ iOS 9๋ถํฐ๋ iOS๊ฐ ์ค์น๋ ๊ธฐ๊ธฐ๋ณ๋ก ์ต์ ํ๋ ๋ฐ์ด๋๋ฆฌ๊ฐ ๋ฐ๋ก ์์ฑ๋์ด ๋ค์ด๋ก๋ ๋๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์๋ค. App Thinning์ด๋ผ๋ ๊ธฐ์ ๊ณผ ๊ด๋ จํ์ฌ XCode7๋ถํฐ๋ BitCode๋ผ๋ ์ค์ ์ด Build Settings์ ์ถ๊ฐ๋์๊ณ ๊ธฐ๋ณธ๊ฐ์ 'YES'์ด๋ฉฐ ์ด๋ App Thinning์ ์ง์ํ๋ค๋ ์๋ฏธ! - App Thinning ? lets you create apps that use the most device features, occupy minimum disk space, and accommodate future updates that can be applied by Apple. Faster downloads and more space for other apps and content provid.. [Error, Xcode] Core data ์ฌ์ฉ ์ ๋ฐ์ํ๋ Multiple commands produce ERROR ํด๊ฒฐ๋ฐฉ๋ฒ [๐ฑ ์๋ฌ ๋ด์ฉ] Multiple commands produce '/Users/์ฌ์ฉ์/Library/Developer/Xcode/DerivedData/ํ๋ก์ ํธ์ด๋ฆ-dpjozrsterzuxkbuxcxfrwavkybr/Build/Intermediates.noindex/ํ๋ก์ ํธ์ด๋ฆ.build/Debug-iphonesimulator/ํ๋ก์ ํธ์ด๋ฆ.build/Objects-normal/x86_64/Subject+CoreDataProperties.o' [๐ฑ ์์ธ] Core Data ์ฌ์ฉ ์ entity์ Codegen ์ต์ ์ค Class Definition ์ต์ ์ Core Data์ ์ํด ์ฝ๋(.CoreDataProperties, .CoreDataClass)๊ฐ ์์ฑ๋์ง๋ง ๋ชฉ๋ก์ ๋ํ๋์ง ์๋๋ค. ๊ทผ๋ฐ ์ด๋ฏธ ๊ฐ๋ฐ์๊ฐ .. [iOS, Network] Wireshark๋ก ๋คํธ์ํฌ ํจํท ๋ถ์ํ๊ธฐ(5) - Wireshark ํํฐ๋ง ๋ช ๋ น์ด - IP ๊ฒ์, ํฌํธ ๊ฒ์ 1. IP ๊ฒ์ (1) Source, DST ๋ ๋ค ip.add == 233.130.195.98 (2) Source ip.src == 233.130.195.98 (3) Destination ip.dst == 233.130.195.98 2. ํฌํธ(port) ๊ฒ์ (1) Source, DST ๋ ๋ค tcp.port == 80 (2) Source tcp.srcport == 80 (3) Destination tcp.dstport == 80 3. ๋ช ๋ น์ด ํผํฉ (1) and >> ๋ ์กฐ๊ฑด ๋ชจ๋ ์ฑ๋ฆฝํ๋ ๊ฒฝ์ฐ ip.add == 233.130.195.98 and tcp.port == 80 (2) or >> ๋ ์กฐ๊ฑด ์ค ํ๋๋ผ๋ ์ฑ๋ฆฝํ๋ ๊ฒฝ์ฐ ip.add == 233.130.195.98 or tcp.port == 80 [iOS, Network] Wireshark๋ก ๋คํธ์ํฌ ํจํท ๋ถ์ํ๊ธฐ(4) - Wireshark๋ก 4-way handshake ๋ถ์ํ๊ธฐ TCP 4-way handshake 3 way handshake์ ๋ฐ๋๋ก TCP ์ฐ๊ฒฐ์ ํด์ ํ ๋ ์ฃผ๊ณ ๋ฐ๋ ํ์ธ์์ ์ด๋ค. ์ด ์ญ์ 4๋ฒ์ ํ์ธ๊ณผ์ ์ ๊ฑฐ์น๋ค๊ณ ํ์ฌ 4-way handshake๋ผ๊ณ ๋ถ๋ฅธ๋ค. TCP 4-way handshake๋ฅผ ๊ฐ๋จํ ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. [4-way handshake] 1. Client์์ ์ข ๋ฃ๋ฅผ ์๋ฆฌ๋ FIN FLAG ์๋ฒ๋ก ์ ์ก 2. FIN ํจํท์ ์ ์์ ์ผ๋ก ๋ฐ์๋ค๋ ACK๋ฅผ Client์ ์ ์กํด ์ค๋๋ค. ๊ทธํ Server๋ CLOSE-WAIT ์ํ๋ก ๋น ์ง 3. ์ฐ๊ฒฐ ์ข ๋ฃ ํ Server๋ Client์๊ฒ FIN FLAG ์ ์ก 4. Server๋ก ๋ถํฐ ์ ์ก๋ FIN FLAG๋ฅผ ๋ฐ์ Client๋ ํ์ธ์ ์๋ฆฌ๋ ACK๋ฅผ ์๋ฒ๋ก ์ ์กํ ํ, ์ผ์ ์๊ฐ ๋์ TIME-W.. [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 ๋ช ๋ น์ด ์ฌ์ฉํ์ฌ ํจํท ๋ฏธ.. ์ด์ 1 2 3 4 5 6 7 8 ยทยทยท 14 ๋ค์