Project/UIKit 업비트9 [UIKit] Firebase, 카카오 로그인 구현하기 이번에는 Firebase에 카카오 로그인을 구현해보았어요. Firebase에는 카카오로 로그인 기능이 없기 때문에 이메일 로그인으로 진행을 했어요. email에 카카오 이메일, password에는 카카오에서 제공하는 고유한 유저 아이디가 입력되어요. 이번에는 RxSwift를 활용해서 조금더 단순하게 만들어보았어요. 1. 앱 등록 후 네이티브 키, 이메일 필수 동의 설정, KakaoSDK 설치 먼저 https://developers.kakao.com/ 에서 앱을 등록하고 네이티브 키를 얻어야 해요. 또한 이메일로 진행을 하기 위해서 카카오 계정 이메일을 필수 동의로 해주세요. KakaoSDK도 설치해주어야해요. 이러한 과정은 다른 분의 블로그에서 잘 정리되어 있어서 여기서는 생략할게요. [iOS] 카카오톡.. 2023. 5. 2. [UIKit] Firebase, 애플 로그인 구현하기 Firebase에 애플 로그인을 구현해보았어요. 애플 ID 인증 > 파이어베이스 Sign In > 유저 데이터 확인 이런 흐름으로 진행되어요. UI에 대해서는 생략할게요. @escaping과 RxSwift, Combine 대신 async/await으로 비동기 처리를 해주었어요. 나름의 도전이었는데 개인적으로는 더 가독성이 높아진 것 같아요. 1. Firebase 로그인 제공업체에 Apple을 추가해주세요. 2. Signing & Capabilities에서 + Capability를 눌러 애플 로그인을 프로젝트에 추가해주세요. 3. 애플 로그인 버튼을 눌렀을 시 작동할 함수를 생성해주세요. @objc func appleSignInButtonTapped(_ sender: Any) { let appleIDPro.. 2023. 5. 1. [UIKit] UIMenu로 메뉴를 만들어보자 iOS 14부터 추가된 UIMenu를 통해서 간단하게 사진과 같은 메뉴를 만들어보았습니다. func configureSortMenu() { let volumeAction = UIAction(title: "거래량") { _ in guard self.sort != 0 else { return } self.sort = 0 } let winnersAction = UIAction(title: "상승") { _ in guard self.sort != 1 else { return } self.sort = 1 } let lossersAction = UIAction(title: "하락") { _ in guard self.sort != 2 else { return } self.sort = 2 } let menu = UIM.. 2023. 4. 27. [UIKit] TableView에서 insetGrouped 스타일로 섹션을 나눠보자 이번에는 TableView의 스타일 중에 하나인 .insetGrouped 를 활용해서 섹션을 나눈 방법에 대해서 기록할게요. 어딘선가 많이 본 스타일이죠? 1. TableViewCell을 생성해주세요. class ProfileCell: UITableViewCell { // MARK: - Properties private let cellLabel: UILabel = { let label = UILabel() return label }() // MARK: - Lifecycle override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifi.. 2023. 4. 22. [UIKit] TableView 위에 Header를 만들어보자 오늘은 UITableVIew에 Header를 만드는 방법을 기록할거에요. 사진 속에서 프로필 사진, 이름, 전화번호, 유저아이디가 있는 영역이 오늘 작업할 Header에요. 1. ProfileHeader를 만들어주세요. class ProfileHeader: UITableViewHeaderFooterView { // MARK: - Properties var vm: ProfileHeaderViewModel? { didSet { configure() } } private let profileImageView: UIImageView = { let iv = UIImageView() iv.contentMode = .scaleAspectFill iv.clipsToBounds = true iv.backgroundCol.. 2023. 4. 22. [UIKit] UISearchController, 검색 기능 구현하기 UISearchController를 활용해서 검색 기능을 구현해보았습니다. 구현한 화면은 다음과 같습니다. btc, 비트코인, bitcoin과 같은 검색어를 입력하면 필터링한 리스트를 새롭게 보여줍니다. 1. UISearchController를 생성해줍니다. 검색 중인지 상태를 알 수 있는 inSearchMode 변수도 만들어주었어요. private let searchController = UISearchController(searchResultsController: nil) private var inSearchMode: Bool { return searchController.isActive && !searchController.searchBar.text!.isEmpty } 2. 초기 설정을 해주어요. .. 2023. 4. 17. 이전 1 2 다음