전체 150

[iOS] 파이어베이스 Realtime Database 읽고 쓰기 기초

파이어베이스 - 데이터 읽고 쓰기 파이어베이스의 Realtime Database 에서 데이터를 읽고 쓰는 방법을 알아보겠습니다. 공식문서를 보고 작성했지만 정확하지 않은 정보가 있을 수 있습니다. 사실 프론트 개발을 공부하시는 분들은 백엔드까지 다루기 쉽지 않기 때문에 이러한 서비스를 이용하면 편리하게 사용할 수 있을듯 합니다. 파이어베이스에 앱을 등록하는 방법은 아래 포스팅에서 다루고 있으니 바로 들어가 보겠습니다. 파이어베이스 구글 로그인 일단 Database를 사용하기 위해 작업을 하고 시작하겠습니다. pod 'Firebase/Database' 앱의 해당 파이어베이스 레퍼런스 가져오기 var ref: DatabaseReference? ref = Database.database().reference(..

iOS/Swift 2022.02.15

[iOS] TableViewCell 커스텀 사용법 (XIB 파일)

스토리보드의 기본 cell이 아닌 tableView를 커스텀해서 사용할 수 있습니다. 메인 스토리보드에 테이블뷰가 있다고 가정하고 TableViewCell을 만들어 주겠습니다. 커맨드+N -> 코코아 터치 클래스 -> Subclass: UITableViewCell , Also create XIB file 선택 그러면 swift 파일과 xib파일 두가지 파일이 생기게 됩니다. xib 파일에서는 원하는 대로 cell을 만져주시고 class는 swift 파일의 class를 사용합니다. 이제 cell을 사용할 곳에 Nib 파일을 가져오고 이를 tableView에 등록한 후에 사용해야 합니다. tableView에 등록 // tableView는 // 1. tableView일 경우 @IBOulet으로 가져옴 // 2..

iOS/SwiftUI 2022.02.15

[iOS] 로컬 푸쉬 알림 (Local Notification)

앱에서 푸쉬 알림을 보내는 방법은 1. local에서 보내는 방법 2. apns를 통해 외부에서 보내는 방법이 있습니다. 이중 로컬에서 푸쉬 알림을 보내는 방법을 정리해 보겠습니다. 일단 로컬에서는 푸쉬를 보낼때 세가지 조건에 맞춰 보낼수 있습니다. 1. 특정 시간에 2. 일정 시간마다 3. 지정한 위치에 따라 "첫번째인 특정 시간" 을 기준으로 로컬에서 푸쉬 알림을 보내보도록 하겠습니다. 먼저 푸쉬 알림을 보내기 위해서는 내장 라이브러리인 UserNotifications를 사용합니다. iOS 에서는 유저에게 권한을 받아와야 합니다. 앱을 켜면 권한을 받아오도록 작성해 보겠습니다. //AppDelegate.swift // 클래스 안의 함수 // 앱이 실행되면 실행되는 함수 func application(..

iOS/Swift 2022.02.15

[iOS-Error] cocoaPod 라이브러리 설치 에러

문제 cocoaPod으로 라이브러리를 설치하기 위해 공식 페이지에서 커맨드를 복사하고 붙여넣은 후에 pod install을 진행하였더니 에러가 납니다. 이대로는 build를 할 수도 라이브러리를 사용할 수도 없었습니다. 해결 분명 명령어는 정확한데 오타가 난것도 아니고 고민을 했는데 아무래도 맥북이니까 공백문자가 다르지 않을까 하는 생각이 들어 명령어를 지우고 다시 쳐준 후에 pod install을 하니 제대로 동작했습니다.

iOS/Errors 2022.02.13

[iOS] lotties-ios로 움직이는 이미지 넣기

lotties를 이용해 움지이는 이미지를 화면에 표시할 수 있습니다. 먼저 cocoaPod으로 다운을 받아주시고 pod 'lottie-ios' lotties-ios 깃허브 빈 View에 받아와 넣는 예시입니다. 일단 lottie를 사용하기 위해서는 json으로 된 움직이는 파일의 정보가 담긴 파일이 필요합니다. (알아보니 애프터이펙트 같은 툴로 만든 파일을 json으로 변환해주는 tool 같은게 있는듯 합니다.) 일단 연습용이니 다음 사이트에서 이미지를 다운 받았다는 전제로 하겠습니다. 로티 이미지 ~~.json 파일을 프로젝트에 넣으면 준비가 되었습니다. 이제 스토리보드에 가서 View를 만들고 class를 AnimationView로 설정해 줍니다. (AnimationView는 lottie에서 지원하..

iOS/Swift 2022.02.13

[iOS] KingFisher를 사용해 URL로 이미지 사용하기

KingFisher라는 오픈소스 라이브러리로 이미지 URL을 통해 이미지뷰에 이미지를 간단하게 넣을수 있습니다. 먼저 imageURL을 String 타입으로 가지고 있다고 하고 진행하겠습니다. 설치 방법과 사용 방법은 매우 간단합니다. KingFisher 깃허브 저는 cocoaPod을 통해 KingFisher를 설치했습니다. 그리고 다음 코드로 ImageView에 이미지를 넣을수 있었습니다. import KingFisher // String 형태를 URL로 변환 let imageURL = URL(string: creditCardList[indexPath.row].cardImageURL) // String -> URL 타입 변환 // URL을 통해 imageView에 넣기 // kf가 라이브러리 지원 프로..

iOS/Swift 2022.02.13

[iOS] 파이어베이스 이메일-비밀번호 가입 및 로그인

파이어베이스 구글 로그인 처럼 이메일-비밀번호으로 로그인 하는 방법을 간단하게 포스팅 하겠습니다. 먼저 다음 포스팅에서 2번까지 설정한 후에 사용합니다. https://jrepository.tistory.com/119 [iOS] 파이어베이스 구글 로그인 인증(firebase google login) 강의를 듣다가 파이어베이스 로그인 방법이 달라졌져서 한참 헤멘것 같습니다. 그래서 삽질을 통해 개인적으로 방법을 찾아 정리해 봤습니다. 파이어베이스를 이용해 구글 로그인 등 다양한 로 jrepository.tistory.com Sign-in method -> 추가 제공업체: 이메일/비밀번호 -> 사용설정 이후는 간단합니다. 다음 라이브러리를 import해 주시고 import FirebaseAuth email과..

iOS/Swift 2022.02.12

[iOS-Error] 파이어베이스 로그인 에러처리

일단 파이어베이스에서 이메일-비밀번호 구글 로그인을 했을때 에러를 처리하는 방법인데 다른 곳에서도 사용할 수 있을듯 해서 간단하게 포스팅합니다. // 신규 사용자 생성 Auth.auth().createUser(withEmail: email, password: password) { [weak self] authResult, error in guard let self = self else {return} // 에러 처리 if let error = error { let code = (error as NSError).code // 에러 의 code=?? 중 ??을 저장 switch code { case "숫자-에러코드": // 이미 가입한 계정일때 에러 // 에러 상황별 코드 default: // localiz..

iOS/Errors 2022.02.12

[iOS] textField Delegate와 최초 커서 설정

textField delegate Apple 공식문서 블로그 textField 연관 글 - textField 이벤트 추가 textField의 @IBOulet에 delegate를 주어 여러 동작을 수행할 수 있습니다. 다음의 textField를 연결했다 가정하고 진행 하겠습니다. @IBOutlet weak var exampleTextfield: UITextField! viewDidLoad에 delegate로 위임해줍니다. exampleTextField.delegate = self 이제 UITextFieldDelegate 프로토콜을 채택해 텍스트 필드의 여러 이벤트를 처리할 수 있습니다. extention으로 추가해주고 두가지 이벤트를 예로 들면 다음과 같습니다. extension "뷰 컨트롤러": UITe..

iOS/SwiftUI 2022.02.12

[iOS] 파이어베이스 구글 로그인 인증(firebase google login)

강의를 듣다가 파이어베이스 로그인 방법이 달라졌져서 한참 헤멘것 같습니다. 그래서 삽질을 통해 개인적으로 방법을 찾아 정리해 봤습니다. 파이어베이스를 이용해 구글 로그인 등 다양한 로그인을 진행할 수 있습니다. 아래는 파이어베이스에서 지원하는 로그인입니다. 그러면 대표적으로 구글 로그인을 하는 방법을 알아보도록 하겠습니다. 다음 공식문서 두개를 보면서 했습니다. Google Sign-in for iOS Firebase iOS google Sign-in 전체흐름은 다음과 같습니다. 1. 파이어베이스에 프로젝트 추가 2. Xcode 사전 작업 파이어베이스 SDK 추가(cocoapod 사용 예정) 3. 로그인 구현 4. 로그아웃 구현 1. 파이어베이스에 프로젝트 추가 파이어베이스 -> 콘솔 -> 프로젝트 추가..

iOS/Swift 2022.02.12