์ ํ์ Face ID ๋ฅผ ํ์ฉํ ์ํ ํ๋ก์ ํธ์ ๊ฐ๋ฐ์ ๋ฌธ์๋ฅผ ์ ๋ฆฌํด๋ดค๋ค. iOS) Face ID & Touch ID - Biometrics Authentication(์์ฒด์ธ์ ์ธ์ฆ) ์, ์ด์ ์นด์นด์คํก QR์ฝ๋ ์์ ฏ์ ์ ์ฉํด๋ณด์. ๋ด์ฉ ์ฑ ์ ๊ทผ ์ Face ID ๋ฅผ ํตํด์ ์ธ์ฆ์ ํ์๋ก ํ๋ค. ์์ํ๊ธฐ ๐ ํ๋ก์ ํธ ์ค์ ๐ UI ๊ตฌ์ฑ ๊ธฐ๊ธฐ์์ Face ID ๋ฅผ ์ง์ํ๋ฉด Face ID ๋ฒํผ์ ๋ณด์ฌ์ค. ๐ Face ID ์ ์ฉ mvvm ํจํด์์ Face ID ์ธ์ฆ ์ ์ฐจ๋ฅผ ๊ฐ์ง๋ Service ํด๋์ค๋ฅผ ๋ง๋ค๊ณ ๋ก์ง์ ๊ตฌ์ฑํ์๋ค. FaceIDAuthenticationViewController private func setFaceIDAuthentication() { faceIDButton.isHidden = se..
์ฐ์ Local Authentication ์ ๋ํด์ ์์๋ณด์ ์์ ์ ๐ Local Authentication Authenticate users biometrically(์์ฒด์ธ์) ๋๋ ์ด๋ฏธ ์๊ณ ์๋ passphrase(์ํธ)๋ก ์ฌ์ฉ์๋ฅผ ์ธ์ฆํฉ๋๋ค. Overview ๋ง์ ์ฌ์ฉ์๊ฐ TouchID ๋๋ FaceID ์ ๊ฐ์ ์์ฒด์ธ์์ ์์กดํด์ ์ฅ๋น์ ์์ฝ๊ฒ ์ ๊ทผํ ์ ์๋ค. ๋์ฒด ์ต์ ์ผ๋ก ์์ฒด ์ธ์์ด ์๋ ๊ฒฝ์ฐ ์ํธ๊ฐ ๋น์ทํ ์ฉ๋๋ก ํ์ฉ๋๋ค. LocalAuthentication ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์์ ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ ํ์ฉํ๊ณ ์ด๋ฏธ ๊ตฌํํ ์ธ์ฆ ์ ์ฐจ๋ฅผ ํ์ฅํ ์ ์๋ค. ๋ณด์์ ๊ทน๋ํํ๊ธฐ ์ํด์ underlying authentication data(๊ธฐ๋ณธ ์ธ์ฆ ๋ฐ์ดํฐ)์ ์ ๊ทผํ ์ ์๋ค. ์๋ฅผ๋ค์ด ์ง..
๐ UIImage ๋ฅผ Data ๋ก ๋ณํํด์ UserDefaults ์ ์ ์ฅํ๋ ๊ฒ์ ๋ถ์ ํฉํ๋ค? UIImage ๋ฅผ Data ๋ก ๋ณํํ๋ ๊ฒ์ ์๋ฌธ์ ๊ฐ์ง ๊ฒ์๊ธ์ด ์์๋ค. ์ฐธ๊ณ ํด๋ณด์. How to Save an Image in User Defaults in Swift ๊ทธ ์ด์ ๋ UserDefaults ๋ฅผ ์ด๋ฏธ์ง ๋ฐ์ดํฐ์ ๊ฐ์ด ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋๋ฐ ์ฌ์ฉํ๊ธฐ์๋ ๋ถ์ ํฉํ๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ฐ๋ก ์ต๊ทผ์ ์ง๋ฉดํ์๋ค. iOS) UserDefaults ์ image ์ ์ฅํ๊ธฐ ๐ ๊ทธ๋ ๋ค๋ฉด? ์์ ๊ธ์์๋ ์ด๋ ๊ฒ ์ ์ํ๋ค. application's sandbox ์ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ณ UserDefaults ์ ์ด๋ฏธ์ง์ ์์น๋ฅผ ์ ์ฅํ๋ ๊ฒ์ด๋ค. ์ฆ, FileManager ๋ฅผ ์ฌ์ฉํด์ ์ด..
๋ด์ฉ ์นด์นด์คํก QR์ฝ๋, ํ๋กํ ์์ ฏ์ ๋ง๋ค์ด๋ณด๊ฒ ๋ค. ์์ ฏ๊ณผ ์ฑ๊ฐ์ ํ๋กํ(์ด๋ฆ, ์ด๋ฏธ์ง) ๋ฐ์ดํฐ ๊ณต์ ๋ก ๋ค์๊ณผ ๊ฐ์ ํ๋กํ ์์ ฏ ๋ง๋ค๊ธฐ ์์์ ์์ ฏ์ ๊ธฐ๋ฅ์ด ์ ํ์ ์ด๋ฉฐ interactive ํ์ง๋ ์์ง๋ง ์ฐ๋ฆฌ๋ ์ฑ๊ณผ ์์ ฏ์ด ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ธฐ๋ฅผ ์ํ ์๋ ์๋ค. ๐ค App ๊ณผ Extension ๊ฐ์ ๊ด๊ณ App Extension Programming Guide ๋ฅผ ์ดํด๋ณด๋ฉด App ๊ณผ Extension ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ณผ ์ ์๋ค. extension's bundle ์ด containing app's bundle ๋ด์ ์ค์ฒฉ๋๋๋ผ๋ ์คํ์ค์ธ app extension ๊ณผ containg app ์ ์๋ก์ contatiner ์ ์ ๊ทผํ ์ ์๋ค. ํ์ง๋ง ๋ฐ์ดํฐ ๊ณต์ ๋ฅผ ํ์ฑํ ํ ์ ์๋ค. containin app ๊ณผ ..
๋ด์ฉ User Defaults ๋ NSData, NSString, NSNumber, NSDate, NSArray, NSDictionary ์ ์ธ์คํด์ค์ฌ์ผ ํ๋ค. ๋ง์ฝ์ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์๋ Data ๋ก ๋ณํ์ ํด์ฃผ์ด์ผ ํ๋ค. ์, UIImage ๋ฅผ Data ๋ก ๋ณํํด๋ณด์. (Data ๋ ๊ตฌ์กฐ์ฒด์ด๊ณ NSData ๋ Data ์ ์ฐ๊ฒฐ๋๋ ํด๋์ค๋ค. ๊ทธ๋์ ๊ฐ๋ฐ์๋ฌธ์์์๋ ์ธ์คํด์ค์ ์กฐ๊ฑด์ NSData ๋ฅผ ์ด๊ฒ์ด๊ณ ๊ตฌ๊ธ๋งํ๋ฉด ๋๋ถ๋ถ์ ๋ฌธ์์์๋ Data ๋ก ๋ณํํด์ผํ๋ค๊ณ ํธํ๊ฒ ๋งํ๋ ๋ฏ ํ๋ค.) ์ฐธ๊ณ : iOS) User Defaults vs Core Data Apple Developer Documentation ๐ UIImage ์ ์ฅํ๊ธฐ // โ UIImage convert to NSData ..
๐ ๋ณธ๊ฒฉ์ ์ผ๋ก ํด๋ก ์ฝ๋ฉ์ ํด๋ณด์ 1๏ธโฃ ์ฑ ์ด๋ฆ ๋ณ๊ฒฝ ์ฑ ์ด๋ฆ : 1๋ฒ ๊ฒฐ์ . [General] → [Identity] → [Display Name] ์์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํด์ค๋ค. 2๏ธโฃ ์ฌ๋ฌ๊ฐ์ง ์์ ฏ ์์ฑ ์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ์๋ฌธ์ ๊ฐ์ก๋ค. ๊ทธ๋ฌ๋ฉด ์๋์ฒ๋ผ ์ด๋ฆ๋ ์ค๋ช ๋ ํฌ๊ธฐ๋ ๋ค๋ฅธ ์์ ฏ๋ค์ ์ด๋ป๊ฒ ์ถ๊ฐํ ์ ์์๊น?(์ ๋๋ฉ์ด์ ์ ์ฐธ ์ข๋ค ํฌ-) ๐ WidgetBundle ๋จ์ผ widget extension ์์ ์ฌ๋ฟ ์์ ฏ์ ๋ ธ์ถ์ํค๋๋ฐ ์ฌ์ฉ๋๋ container. ์ฌ๋ฌ ์ ํ์ ์์ ฏ์ ์ง์ํ๋ ค๋ฉด WidgetBundle ์ ์ฑํํ๋ ๊ตฌ์กฐ์ฒด์ @main ์์ฑ์ ์ถ๊ฐํ์ญ์์ค. apple developer's example code @main struct GameWidgets: WidgetBundle { va..
๋ด์ฉ ์นด์นด์คํก์์ qrcode ๋ฅผ ์์ ฏ์ผ๋ก ์ ๊ณตํ๊ณ ์๋ค. ๋ฌผ๋ก ํ์ผ๋ก ๊ฐ์ ธ์ฌ ์๋ ์๋ค. ๊ท์ฝ๋ค... ๊ตฌํํด๋ณด์ ๐Widget?! Widget ์ ํ๋กํ ์ฝ์ด๋ค. (ํ์ต!) Home ํ๋ฉด(iOS)์ด๋ Notification Center(macOS) ์ ํ์ํ ์์ ฏ์ ๊ตฌ์ฑ ๋ฐ ๋ด์ฉ์ด๋ค. Overview ์์ ฏ์ ๋ฐ๋ก ์ฑ์ ๊ด๋ จ ์ฝํ ์ธ ๋ฅผ ํ๋์ ๋ณผ ์ ์๋๋ก ํ์ํฉ๋๋ค. ์ฌ์ฉ์๋ ๊ฐ๋ณ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์ถ๊ฐ, ๊ตฌ์ฑ ๋ฐ ์ ๋ ฌํ ์ ์๋ค. ์ฌ๋ฌ ์ ํ์ ์์ ฏ์ ์ ๊ณตํ ์ ์๋ค. ์์ ฏ์๋ ์ธ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ์์๊ฐ ์๋ค. configuration : ์์ ฏ์ด ๊ตฌ์ฑํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๊ณ , ์์ ฏ์ ์๋ณํ๊ณ , SwiftUI ๋ทฐ๋ฅผ ์ ์ํ๋ค. timeline provider : ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์์ ฏ์ ๋ณด๊ธฐ๋ฅผ ์ ๋ฐ์ดํธํ๋..
๋ด์ฉ MVVM ํจํด์ ์ ์ฉํด๋ณด์ ๋ฐ์ดํฐ๋ฐ์ธ๋ฉ ๋ฐฉ๋ฒ์ Observable ํด๋์ค ์ฌ์ฉ QR์ฝ๋ ๋ทฐ์ ๋ทฐ๋ชจ๋ธ๋ง ์๊ฐํด๋ณด๊ฒ ๋ค. View import UIKit import SnapKit class QRCodeViewController: UIViewController { // MARK: - Properties // โ view model let viewModel = QRCodeViewModel() let closeButton = UIButton() let switchShakeButton = UIButton() let privateQuestionButton = UIButton() let titleLabel = UILabel() let subtitleLabel = UILabel() let privatetextLab..
- Objective-C
- Notification
- WWDC22
- Firebase
- async/await
- CloneCoding
- urlsession
- configurable widget
- rxswift
- SwiftUI
- RxCocoa
- watchOS
- Protocol
- WidgetKit
- ์๋ฒํต์
- UserDefaults
- containerBackground
- Algorithm
- IOS
- 2022 KAKAO TECH INTERNSHIP
- OpenSourceLibrary
- MOYA
- Swift
- Widget
- github
- WWDC
- MVVM
- APNS
- projectsetting
- YPImagePicker
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- Total
- Today
- Yesterday