์ ์ฒด ๊ธ
-
LocalizationiOS 2021. 3. 25. 16:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ Localization, ์ง์ญํ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.๐ ์ง์ญํ๋? : ์ง์ญํ๋ ํ์งํํ๋ค๋ ๋ป์ ๊ฐ์ก์ต๋๋ค. ์ฆ, ํด๋น ์ธ์ด์ ๋๋ผ ์ง์ญ์ ๋ง๊ฒ ์ฑ์ ์ค์ ํด์ฃผ๋๊ฑธ ๋ปํฉ๋๋ค. ++ ๊ตญ์ ํ(internationalization)๋ฅผ I18N or i18n์ผ๋ก, ์ง์ญํ(localization)๋ฅผ L10N์ด๋ l10n์ผ๋ก ํ๊ธฐํฉ๋๋ค! ์ง์ญํ์ ์ ์ ์กฐ๊ฑด : ํด๋น ์ฑ์ด ์ง์ญํ๊ฐ ๋๋ ค๋ฉด ์ฌ๋ฌ ๊ตญ๊ฐ์ ๋ฐฐํฌ๋์ด ๊ตญ์ ํ ๋์ด์๋ ์ฑ์ด๋ผ๋ ์กฐ๊ฑด์ด ์์ด์ผ๋ฉ๋๋ค. ํด๋น ์ฑ์ด ํ๊ตญ์์๋ง ์ฌ์ฉ๋๋ ์ฑ์ด๋ผ๋ฉด ์ง์ญํ๊ฐ ์๋ฏธ ์์๊ฒ๋๋ค. ์ง์ญํ ๊ฐ๋ฅํ ์์ : RTL, LTR (๋ฌธํ๊ถ์ ๋ฐ๋ฅธ ์ฝ๊ธฐ/์ฐ๊ธฐ ๋ฐฉ์), ์ธ์ด, ์๊ฐ, ๋ ์ง, ์ฃผ์, ํํ๋จ์ ๋ฐ ํตํ, ์ด๋ฏธ์ง ๋ฑ๋ฑ... ์ง์ญํ์ ์ ๊ทผ์ฑ์..
-
User Notification (2)iOS 2021. 3. 23. 17:48
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ฒ์ ๋ค๋ฃฌ User Notification์ ์ง์ ์ฌ์ฉํด๋ณด๋ฉด์ ์ถ๊ฐ๋ก ์๊ฒ๋ ์ ๋ณด์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ฅณ Trigger : ๋ ธํฐํผ์ผ์ด์ ์ ์๋์ํค๋ ํธ๋ฆฌ๊ฑฐ์๋ ๋ช๊ฐ์ง ์ข ๋ฅ๊ฐ ์์ต๋๋ค. UNTimeIntervalNotificationTrigger(timeInterval: TimeInterval, repeats: Bool) UNLocationNotificationTrigger(region: CLRegion, repeats: Bool) UNCalendarNotificationTrigger(dateMatching: DateComponents, repeats: Bool) ์ฌ๊ธฐ์ Time์ ์ ํํ๊ฒ ์ด๋ ์๊ฐ ์ดํ ๋ณด๋ด๋ ๊ฒ์ ๋ํด ์ค์ ํด์ค ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Cale..
-
OAuthiOS 2021. 3. 22. 18:32
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ OAuth์ ๋ํด ๊ฐ๋ ์ ์์๋ณด๊ฒ ์ต๋๋ค๐ OAuth๋? : "์ํค๋ฐฑ๊ณผ์๋ ์ธํฐ๋ท ์ฌ์ฉ์๋ค์ด ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๊ณตํ์ง ์๊ณ ๋ค๋ฅธ ์น์ฌ์ดํธ ์์ ๋ณธ์ธ์ ์ ๋ณด์ ๋ํด ์น์ฌ์ดํธ/์ฑ์ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ ์ ์๋ ๊ณตํต์ ์ธ ์๋จ" ์ด๋ผ๊ณ ํ๊ธฐ๋์ด ์์ต๋๋ค. ๋๋ฌด ๋ง์ด ์ด๋ ต์ต๋๋ค๐ญ ์ ๊ฐ ์ดํดํ๋๋ก ์กฐ๊ธ ์ฝ๊ฒ ํด์ํด๋ณด๊ฒ ์ต๋๋ค. : OAuth ์ ์๋ ์ฌ์ฉ์ ์ธ์ฆ๋ฐฉ์์ ๋ํ ํ์ค์ด ์์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ธ ์์ด๋ ๋ฐ ํจ์ค์๋๋ฅผ ํตํ ์ธ์ฆ์ผ๋ก ๋ณด์์ ์ทจ์ฝํ์ฌ ์ฌ๋ฌ ํ์ฌ์์๋ ์ธ์ฆ์ ์ํด ๊ฐ์ง๊ฐ์์ ์ธ์ฆ ์์คํ ์ ์ฌ์ฉํ์์ต๋๋ค. ๋ง์ฝ ์จ๋ํํฐ ๊ฐ๋ฐ์๋ค์ด ๊ตฌ๊ธ/ํ๋ถ/ํธ์ํฐ/๋ค์ด๋ฒ ๋ฑ์ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ์ ํ๊ณ ์ธ์ฆ์ ๋ฐ๊ธฐ ์ํด์๋ ํ์คํ๋ ์ธ์ฆ ํ์ค์ด ํ์ํฉ๋๋ค. ์ด์ OAuth๋ผ๋ ์ธ์ฆํ์ค์ด ..
-
User NotificationsiOS 2021. 3. 18. 19:05
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ User Notifications์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ User Notifications? -> ์ฒ์ ํด๋น ์ฃผ์ ๋ฅผ ๋ณด๊ณ ๋ ธํฐํผ์ผ์ด์ ์ด๋ผ๋ ๋ง๋ง ๋ฃ๊ณ Notification Center์ ๋์ผํ๊ฑด์ค ์์์ต๋๋ค. ๋ฌด์ธ๊ฐ๋ฅผ ๊ด์ฐฐํ๊ณ ์ก์ ์ ์ทจํด์ค๋ค๋๊ฒ์ ๋์ผํ์ง๋ง ์ค ์ฌ์ฉ์ ๋ง์ด ๋ค๋ฅธ๊ฒ ๊ฐ์์ต๋๋ค. ์๋ฅผ๋ค์ด ์ค์ฌ์ฉ์์๋ ํธ์ ์๋ ๊ฐ์๊ฒ์ ์๊ฐํด๋ณด๋ฉด ๋ฉ๋๋ค!! (๊ฒ์, ๋ฏธ๋ฆฌ์๋ฆผ ๋ฑ ๋ฌด์ธ๊ฐ ๋ฐฐ๋์ ํธ์๊ฐ ์ค๋๊ฒ๋ค์ด ๋ค ํด๋น๋ฉ๋๋ค.) : User Notifications์ ์๊ธ์๋ฅผ ๋ฐ์ UN์ผ๋ก ํ๊ธฐ ์๋ธ ํด๋์ค ์ด๋ฆ์ด ์์๋ฉ๋๋ค. : ํด๋น Notification์ ๋์ ์ํค๊ธฐ ์ํด์๋ Request์ Trigger๊ฐ ํ์ํฉ๋๋ค. : Content๋ฅผ ๊ตฌ์ฑํ์ฌ Requ..
-
lazy varSwift 2021. 3. 17. 10:25
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ lazy var์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ lazy var??? : lazy๋ ์ง์ญํ์ฌ ์๊ฐํด๋ณผ๋ '๊ฒ์ผ๋ฅธ'์ด๋ผ๋ ๋ป์ด์๋ค. ์ฒ์ ์ ํ ๋ ์ ๊ฒ์ผ๋ฅธ์ผ๊น? ๋ญ ๋ฆ๊ฒ ํด์ฃผ๋๊ฑธ๊น? ๋ผ๋ ์๋ฌธ์ด ๋ค์์ต๋๋ค. lazy var์ ์ญํ : lazy var๋ ์ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ด๋ จ์ด ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ณต์๋ฌธ์์์๋ ์ฒ์ ์ฌ์ฉ๋๊ธฐ ์ ๊น์ง๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ก์๋จน๋ ์ฐ์ฐ์ด ์ด๋ค์ง์ง ์๋๋ค๊ณ ํฉ๋๋ค. ์ด๊ฑธ ์ข ๋ ์๊ฐํด๋ณด๋ฉด ํด๋น ๋ณ์๊ฐ ํ์ํ์ฌ ์ฌ์ฉ๋๊ธฐ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ์ง ์๊ณ ํด๋น ๋ณ์๋ฅผ ์ฌ์ฉํ๋ คํ ๋ ๋ก๋๋์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง ํ๋๊ฒ์ ๋๋ค. ์ฒ์ ์๋ฌธ์ ๊ฐ์ง ๋ถ๋ถ์ ๋ต์ด ๋์์ต๋๋ค. "๊ฒ์ผ๋ฅธ ์ ์ฅ? ์ฒ๋ผ ํ์ํ ๋ ํ๋ค~" ์ด๋ฐ ๊ฒ์ผ๋ฅธ ๋๋์ด ๋ค์์ต๋๋ค. lazy..
-
View Drawing CycleiOS 2021. 3. 15. 16:42
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ iOS์์์ ๋ทฐ ๋๋ก์ ์ฌ์ดํด์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. Drawing Cycle? : ๋ทฐ๊ฐ ๋ก๋ ๋๊ฑฐ๋ ๋ณ๊ฒฝ์ด ์์๋ ํ๋ฉด์ ์๊ฐ์ ์ผ๋ก ํํ๋์ด ๊ทธ๋ ค์ง๋ ์ผ์ข ์ ์ฌ์ดํด 1) ๋ทฐ ๋ก๋ ์ ์์คํ ์ด UIView์๊ฒ draw ๋ฉ์๋๋ฅผ ํตํด ๋๋ก์์ ์์ฒญ 2) ๋ทฐ์ ์ค๋ ์ท์ ์บก์ณํ์ฌ UIView์๊ฒ ์ ๋ฌ 3) ๋ทฐ์ ์ปจํ ์ธ ๋ณ๊ฒฝ ์ ๊ด๋ จ ๋ฉ์๋ (SetNeedsDisplay, SetNeedsLayout ๋ฑ๋ฑ..) ํธ์ถํ์ฌ ์์คํ ์ ์ ๋ฐ์ดํธ ์์ฒญ 4) Next Drawing Cycle์์ ์ ๋ฐ์ดํธ ์์ฒญ ๋ฐ์ ๋ทฐ๋ฅผ ์ ๋ฐ์ดํธ -> ๋ทฐ์ ์ค๋ ์ท์ ์บก์ณํ๊ณ ๋ฟ๋ ค์ฃผ๋ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ณตํ๋ ๊ณผ์ ! View ์ปจํ ์ธ ๋ณ๊ฒฝ ๊ด๋ จํ ์ ๋ฐ์ดํธ ํธ๋ฆฌ๊ฑฐ ์ข ๋ฅ 1) View๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ๊ฐ๋ฆฐ ํ Vi..
-
Swift Package Manager ์ค์น ๋ฐ ์ฌ์ฉ๋ฒLibrary 2021. 3. 3. 11:01
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์ฝ์ฝ์ํ์ด ์๋ ์ ํ์์ ์ ๊ณตํ๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ํ Swift Package Manager ์ค์ฌ์ SPM์ ๋ํด ์ค์น ๋ฐ ์ฌ์ฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค. 1. ํ๋ก์ ํธ ํ์ผ ์ ๊ทผ -. Frameworks, Libraries, and Embedded Content์์ + ๋ฒํผ ํด๋ฆญ 2. Add Package Dependency ํด๋ฆญ 3. ์ํ๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฃผ์ ์ ๋ ฅ -. ์ ๋ Dropbox ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ์๋ณด๊ฒ ์ต๋๋ค. 4. Version / Branch / Commit ์ต์ ์ ํ ํ Next 5. ์ค์น๊ฐ ๋๋ฉด ์๋ ์ ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฒดํฌ ํ Finish ํด๋ฆญ -. ์ด๋ ๊ฒ ํ๋ก์ ํธ ๊ฒฝ๋ก ๋ฐ ํ์ผ ๋ถ๋ถ์ ์์ฑ์ด ๋๊ฑธ ํ์ธํ์ค ์ ์์ต๋๋ค. 6. ํ๋ก์ ํธ ํ์ผ์์ ..
-
CocoaPods ์ค์น ๋ฐ ์ฌ์ฉLibrary 2021. 3. 3. 09:59
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ CocoaPods, ์ฝ์ฝ์ํ์ ๋ํด ์ค์น ๋ฐ ์ฌ์ฉ์ ์์๋ณด๊ฒ ์ต๋๋ค. ์ฝ์ฝ์ํ์ Swift / Objective-C ์ฝ์ฝ์ ํ๋ก์ ํธ์ ๊ด๋ฆฌ์๋ก ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง๋๋ฉฐ ๋ง์ ์ฑ์์ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์ฆ, ํ๋ก์ ํธ๋ฅผ ๋ค์ํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋๋ก ํ์ฅ ํ ์ ์๊ฒ ๋์์ค๋๋ค๐ ๊ทธ๋ผ ์ค์น๋ถํฐ ํด๋ณด์ฃ !! 1. ํฐ๋ฏธ๋์์ ์๋ ๋ช ๋ น์ด ์ ๋ ฅ $ sudo gem install cocoapods -. ์ด๋ ๊ฒ ์ค์น๋ฅผ ํ๊ฒ๋๋ฉด ์ฝ์ฝ์ํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋ถ ์ฌ์ฉํ ์ ์์ต๋๋ค..! 2. ์ฝ์ฝ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์ฉํ๋ ค๋ ํ๋ก์ ํธ ๊ฒฝ๋ก ์ด๋ 3. ํ๋ก์ ํธ ๊ฒฝ๋ก์์ ์๋ ๋ช ๋ น์ด ์ ๋ ฅ (Podfile ์์ฑ ๋ช ๋ น์ด) $ pod init -. ์ด๋ ๊ฒ ํ๋ก์ ํธ ๊ฒฝ๋ก์ Podfile์ด ์๊ธด๊ฑธ ..