Feed
Explore
Ranking
Search
Ctrl+K
์ผ
์ผ์น
/
๐ฑ iOS
Search...
๐ฑ iOS
23
iOS ๊ฐ๋ฐ๊ณผ ๊ด๋ จ๋ ์ ๋ฐ์ ์ธ ๋ด์ฉ์ ๋ค๋ฃน๋๋ค.
์ง
์ง์ฑ
4 ํ๋ก์
ยท
0 ํ๋ก์
๊ณ ์์ด ์ํ๋๊ณ ์ฝ๋ฉ
ํ๊ทธ
์ต๊ทผ ๋๊ธ
OAuthProvider ์ฝ๋ฐฑ์ด ์คํ๋์ง ์์ ๋?
ํ์ฌ ์งํํ๋ iOS ํ๋ก์ ํธ์์ Firebase Authentication์ OAuthProvider๋ฅผ ์ฌ์ฉํด GitHub ๋ก๊ทธ์ธ์ ๊ตฌํํ๋ ์ค, ๋ค์ ํฅ๋ฏธ๋ก์ด ๋์์ ๋ฐ๊ฒฌํ๋ค.getCredentialWith ํธ์ถ ํ ์๋ฌด๋ฐ ์ค๋ฅ๋ ๋ฐ์ํ์ง ์๋๋ฐ๋, completion ๋ธ๋ก์ด ํธ์ถ๋์ง ์๋ ํ์์ด ๋ฐ์ํ ๊ฒ์ด๋ค. ๋๋ฒ๊ฑฐ๋ ๋ฐ๋ฃจํ ์ํ๋ฅผ ์ฌ๋ฌ ๋ฐฉ์์ผ๋ก ํ
0
0
3 months ago
3 min read
RxSwift vs Combine - ๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ
๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ(Reactive Programming)์ ๋น๋๊ธฐ ๋ฐ์ดํฐ ํ๋ฆ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก, ์ด๋ฒคํธ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ด๋ค. UI ์ด๋ฒคํธ, ๋คํธ์ํฌ ์๋ต, ์ฌ์ฉ์ ์ ๋ ฅ ๋ฑ์ ๋ณํ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ด ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ด ํฅ์๋๋ค.๊ทธ๋ ๋ค๋ฉด RxSwift์ Combine๋ ์ด๋ค ์ฐจ์ด๊ฐ ์์๊น?RxSwift vs Comb
0
0
a year ago
6 min read
[iOS] Scene, Window, View์ ๊ฐ๋ ๊ณผ ์ฐจ์ด์
Scene, Window, View์ ๊ฐ์Apple ์ํ๊ณ์์ Scene, Window, View๋ UI ๊ณ์ธต ๊ตฌ์กฐ์ ์ค์ํ ๊ตฌ์ฑ ์์์ด๋ค.๊ฐ๋ ์ญํ ์ฃผ์ ํน์งScene์ฑ์ UI์ ์ํ ๊ด๋ฆฌ์ฌ๋ฌ ๊ฐ์ Scene์ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ๋ฉํฐ ์๋์ฐ ์ง์Windowํ๋ฉด์ View๋ฅผ ํ์ํ๋ ์ปจํ ์ด๋UIWindow๋ฅผ ํตํด ์ฑ์ ์ฃผ์ ์ฝํ ์ธ ๋ฅผ ํ์Viewํ๋ฉด์ ํ์๋๋
0
0
a year ago
6 min read
[iOS] View ์ ํ ์ ๊ฐํ ๊ฒฐํฉ(Strong Coupling) ๋ฌธ์ ์ Coordinator ํจํด์ ํ์ฉํ ํด๊ฒฐ ๋ฐฉ๋ฒ
๊ฐ์ธ ํ๋ก์ ํธ์์ ํ ViewController์์ ๋ค๋ฅธ ViewController๋ก ์ด๋ํ ๋, ์ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.class FirstViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() }
0
0
a year ago
3 min read
[iOS] MVVM๊ณผ Clean Architecture์ ๊ฒฐํฉ: iOS ์ฑ ๊ฐ๋ฐ์์์ ๊ตฌ์กฐ์ ์ ๊ทผ
iOS ์ฑ ๊ฐ๋ฐ์์ ์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ๊ณ ๋ คํ ๋, MVVM๊ณผ ํด๋ฆฐ ์ํคํ ์ฒ๋ฅผ ๊ฒฐํฉํ๋ ๋ฐฉ์์ ์์ฃผ ํจ๊ณผ์ ์ด๋ค. ์ด ๊ธ์์๋ MVVM๊ณผ ํด๋ฆฐ ์ํคํ ์ฒ์ ๊ฐ๋ ์ ์ ๋ฆฌํ๊ณ , ์ด ๋์ ์ด๋ป๊ฒ ์กฐํฉํ ์ ์๋์ง์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ๋ค.MVVM (Model-View-ViewModel)MVVN์ iOS์์ ๋ง์ด ์ฌ์ฉํ๋ ์ํคํ ์ฒ ํจํด์ผ๋ก, ์ฝ๋์ ๋ชจ๋ํ์ UI ๋ก
0
0
a year ago
6 min read
[iOS] ์๋ก์ด Logger API (iOS 14 ์ด์)
์ด์ ์ print๋ NSLog ๋์ os_log๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๋ ๊ธ์ ์ด ์ ์ด ์๋ค.์๊ณ ๋ณด๋ iOS 14๋ถํฐ ์๋ก์ด Logger API๋ฅผ ์ง์ํ๊ณ ์์๋ค.์ด๋ฒ ๊ธ์์๋ Logger API์ ์ฅ๋จ์ ๊ณผ ๊ธฐ์กด ๋ก๊น ๋ฐฉ์ ๋ฐ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(CocoaLumberjack, OSLog)์์ ๋น๊ต๋ฅผ ์ ๋ฆฌํ๋ค.Logger API๋?๊ธฐ์กด ๋ก๊น ๋ฐฉ์๊ณผ์ ์ฐจ์ด์ ๊ธฐ์กด iOS์
0
0
a year ago
7 min read
[iOS] ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์ฉ๊ณผ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ดํด
์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ํ์ํ ๊น?์ฑ ๊ฐ๋ฐ์์ ๊ธฐ๋ณธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง์ผ๋ก ๋ชจ๋ ๊ธฐ๋ฅ์ ์ง์ ๊ตฌํํ๋ฉด ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ์ ์ง๋ณด์๊ฐ ์ด๋ ค์ธ ์ ์๋ค.์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Third-Party Library)๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ๊ธฐ๋ฅ์ ๋น ๋ฅด๊ฒ ๊ตฌํํ ์ ์๋ค.์ด๋ฐ ๊ธฐ๋ฅ์ ์ง์ ๊ตฌํํ ํ์ ์์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐ ๊ฐ๋ฅ!๋คํธ์ํฌ ์์ฒญ โ Alamo
0
0
a year ago
6 min read
[iOS] SDWebImage๋ก ๋คํธ์ํฌ ์ด๋ฏธ์ง ๋ก๋ฉ ์ต์ ํ
์ด๋ฏธ์ง๋ฅผ ๋ก๋ํ ๋ SDWebImage ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋คํธ์ํฌ ์์ฒญ์ ์ต์ ํํ๊ณ ์บ์ฑ์ ํ์ฉํ ์ ์๋ค.SDWebImage ์ค์น (Swift Package Manager)Xcode - File - Add Package Dependencieshttps://github.com/SDWebImage/SDWebImage ์ถ๊ฐUIImageView๋ฅผ ํ์ฅํ์ฌ ์ด
0
0
a year ago
1 min read
[iOS] Core Data์์ Fetch ํจ์จ์ฑ์ ๋์ด๋ ๋ฐฉ๋ฒ
Core Data์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ ์ต์ ํํ ์ ์๋ค.Fetch Batch Size ์ค์ ํ ๋ฒ์ ๊ฐ์ ธ์ค๋ ๋ฐ์ดํฐ ์(Batch Size)๋ฅผ ์ ํด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ต์ ํfetchRequest.fetchBatchSize = 20ํ์์๋ ์์ฑ ์ ์ธํ์ํ ์์ฑ๋ง ๊ฐ์ ธ์ ์ฑ๋ฅ ํฅ์fetchRequest.propertiesToFetch
0
0
a year ago
1 min read
[iOS] Core Data CRUD (Create, Read, Update, Delete) ๊ตฌํ
Core Data์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ(Create), ๋ถ๋ฌ์ค๊ธฐ(Read), ์์ (Update), ์ญ์ (Delete)ํ๋ ๊ธฐ๋ณธ์ ์ธ CRUD ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ ์ ๋ฆฌCore Data ์คํ ์ค์ import CoreData class CoreDataManager { static let shared = CoreDataManager() let
0
0
a year ago
2 min read
[iOS] API ์๋ต์ Swift Codable ๊ตฌ์กฐ์ฒด๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ
API ์์ฒญ ํ ์๋ฒ์์ JSON ๋ฐ์ดํฐ๋ฅผ ์๋ต๋ฐ์ผ๋ฉด, Swift์์ Codable์ ์ฌ์ฉํด ๊ฐํธํ๊ฒ ๋ณํํ ์ ์๋ค.์ด ๊ธ์์๋ Codable์ ํ์ฉํ์ฌ JSON ๋ฐ์ดํฐ๋ฅผ Swift ๊ตฌ์กฐ์ฒด๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๋ค.์๋ฒ์์ ๋ฐ์ JSON ๋ฐ์ดํฐ๋ฅผ Swift์์ ์ฝ๊ฒ ๋ค๋ฃฐ ์ ์๋๋ก ๊ตฌ์กฐ์ฒด๋ก ๋ณํํด์ผ ํ๋ค.{ "id": 1, "usernam
0
0
a year ago
2 min read
[iOS] URLSession & Combine์ ํ์ฉํ ๋คํธ์ํฌ ์์ฒญ ์ต์ ํ
๋คํธ์ํฌ ์์ฒญ์ ์ฒ๋ฆฌํ ๋ URLSession์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ์ง๋ง, ๋น๋๊ธฐ ์์ ์ ๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด Combine ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ ์ ์๋ค.์ด ๊ธ์์๋ URLSession์ ํ์ฉํ ๋คํธ์ํฌ ์์ฒญ ์ต์ ํ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๋ค.๊ธฐ์กด URLSession ๋ฐฉ์์ ๋ฌธ์ ์ let task = URLSession.shared.dataTask(with: url
0
0
a year ago
3 min read
[iOS] API ์์ฒญ ์ ๋ฐ์ํ๋ โInvalid JSONโ ์ค๋ฅ ํด๊ฒฐ ๋ฐฉ๋ฒ
๋คํธ์ํฌ ์์ฒญ์ ํตํด JSON ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋ Invalid JSON ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค.์ด ๋ฌธ์ ๋ ๋ณดํต ์๋ชป๋ API ์๋ต, JSON ๋์ฝ๋ฉ ๋ฌธ์ , ๋คํธ์ํฌ ์ฐ๊ฒฐ ์ค๋ฅ ๋ฑ์ผ๋ก ์ธํด ๋ฐ์ํ๋ค.์ด ๊ธ์์๋ Invalid JSON ์ค๋ฅ์ ์์ธ์ ๋ถ์ํ๊ณ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๋ค.๋ฌธ์ ์ํฉ์๋ฒ์์ JSON ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ ๋์ฝ๋ฉํ๋ ค๊ณ ํ์ ๋ ๋ค์๊ณผ ๊ฐ์
0
0
a year ago
3 min read
[iOS] NSFetchedResultsController๋ฅผ ํ์ฉํ ์ฑ๋ฅ ์ต์ ํ
Core Data์์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๋ถ๋ฌ์ค๊ณ UI์ ๋๊ธฐํํ๋ ค๋ฉด NSFetchedResultsController๋ฅผ ํ์ฉํด์ผ ํ๋ค.ํนํ UITableView ๋ฐ UICollectionView์ ํจ๊ป ์ฌ์ฉํ ๋ ์ฑ๋ฅ ์ต์ ํ์ ํฐ ๋์์ด ๋๋ค.๋ฌธ์ ์ํฉCore Data์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ UITableView์ ํ์ํ ๋ ์ฑ๋ฅ ์ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.fetc
0
0
a year ago
3 min read
[iOS] Core Data ์๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ฉ ๋ฐฉ๋ฒ
Core Data ๋ชจ๋ธ์ ์์ ํ๋ฉด ์ฑ์ด ํฌ๋์๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.์ด์ ๋ Core Data์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ๋ณ๊ฒฝ๋ ๋, ๊ธฐ์กด ๋ฐ์ดํฐ์ ํธํ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๋ค.๋ฌธ์ ์ํฉCore Data ๋ชจ๋ธ์ ์๋ก์ด ์์ฑ์ ์ถ๊ฐํ ํ ์ฑ์ ์คํํ์ ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.Error Domain=NSCo
0
0
a year ago
3 min read
[iOS] ์์คํ ์ค์ ์ ๋ฐ๋ผ ๋คํฌ๋ชจ๋ ์ ์ฉํ๊ธฐ
iOS์ ์์คํ ์ค์ ์ ๋ฐ๋ผ ๋คํฌ๋ชจ๋๋ฅผ ์ ์ฉํ๋ ค๋ฉด,AppDelegate.swift์ didFinishLaunchingWithOptions ๋ฉ์๋์ ์๋ ๋ด์ฉ์ ์ถ๊ฐํ๋ค.@UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow?
0
0
a year ago
1 min read
[iOS] API ํค ๋ณด์ ์ ์ฉํ๊ธฐ
ํ์ฌ ์งํ ์ค์ธ ํ๋ก์ ํธ์ Google Books API๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค. ์ปค๋ฐ์ ํ๋ ค๋ค API ํค๊ฐ ํ๋์ฝ๋ฉ ๋์๋ค๋ ์ฌ์ค์ ๋ถ๋ด๋ถ๋ด ์ฐพ์๋ณธ API ํค์ ๋ณด์์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํ๋ค.์ฐ์ , ๋ด๊ฐ ์์๋ณธ ๋ฐฉ๋ฒ์ ์๋ ์ธ ๊ฐ์ง๋ค.Info.plist์ API ํค ์ ์ฅ ํ ๊ฐ์ ธ์ค๊ธฐ.xcconfig ํ์ผ์ ์ฌ์ฉํด ํ๊ฒฝ ๋ณ์๋ก ๊ด๋ฆฌKeyChain ๋๋ ์๋ฒ์์
0
0
a year ago
3 min read
[iOS] (iOS ๊ฐ๋ฐ ์คํํฐ ์์ ์์์) SwiftUI vs UIKit
SwiftUI์ UIKitiOS ์ฑ์ ๊ฐ๋ฐํ ๋ UI๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ SwiftUI์ UIKit ๋ ๊ฐ์ง๊ฐ ์๋ค.SwiftUI2019๋ WWDC์์ ๋ฑ์ฅํ ์ต์ UI ํ๋ ์์ํฌ์ ์ธํ(Declarative) ๋ฐฉ์์ผ๋ก UI ์์ฑ ๊ฐ๋ฅ์ฝ๋๋ง์ผ๋ก UI ์์ฑ ๊ฐ๋ฅ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ๊ฐ๋ ฅํจUIKitiOS 2.0๋ถํฐ ์ฌ์ฉ๋ UI ํ๋ ์์ํฌ์ค๋ซ๋์ iOS ๊ฐ๋ฐ์ ํ์ค์คํ
0
0
a year ago
6 min read
[iOS] ๋ฐ์ดํฐ ๊ด๋ฆฌ ํ๋ ์์ํฌ(CoreData)์ ์ดํด
CoreData๋?CoreData๋ iOS ์ฑ์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋ ์์ํฌ๋ก, SQLite ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์์์ฑ์ ์ ๊ณตํ๋ค.CoreData์ ์ฃผ์ ๊ตฌ์ฑ ์์NSManagedObjectContext: ๋ฐ์ดํฐ์ CRUD(์์ฑ, ์ฝ๊ธฐ, ๊ฐฑ์ , ์ญ์ ) ์์ ์ ๋ด๋นNSManagedObjectModel: ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ์ํ๋ ์ญํ NSPersistentSto
0
0
a year ago
1 min read
[iOS] ์ฑ์ ์คํ ์์์ธ ์๋ช ์ฃผ๊ธฐ(Life Cycle)์ ์ดํด
iOS ์ฑ์ ์๋ช ์ฃผ๊ธฐ ๊ฐ์iOS ์ฑ์ ์ฌ์ฉ์์ ๋์๊ณผ ์์คํ ์ด๋ฒคํธ์ ๋ฐ๋ผ ์ฌ๋ฌ ์ํ๋ฅผ ๊ฑฐ์น๋ค.์ด ๊ณผ์ ์์ ์ฑ์ด ์คํ๋๊ณ ์ข ๋ฃ๋๋ ๊ณผ์ ์ด ๊ฒฐ์ ๋๋ค.UIApplication์ ์ํ ๋ณํ์ฑ์ ์ํ ๋ณํ๋ ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฃจ์ด์ง๋ค.Not Running: ์ฑ์ด ์คํ๋์ง ์์ ์ํInactive: ์ฑ์ด ์คํ ์ค์ด์ง๋ง ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ์ง ์๋ ์ํActive: ์ฑ์ด
0
0
a year ago
2 min read
Swift
ios
SwiftUI
UIKit
MVVM
Clean Architecture
Coordinator Pattern
UI
RxSwift
Combine
firebase
OAuth
OAuthProvider
์์ง ๋๊ธ์ด ์์ด์