iOS/Swift 40

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

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

iOS/Swift 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] 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] 파이어베이스 구글 로그인 인증(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

[iOS] cocoaPod으로 라이브러리 사용

라이브러리를 편리하게 사용하기 위해서 node에서는 npm이나 yarn을 python에서는 pip를 사용하는 것 처럼 ios에서는 cocoapod을 이용합니다. 사용방법을 알아보겠습니다. 공식 페이지 1. cocopod 설치 저는 개인적으로 Homebrew에서 cocoapod을 설치해 관리했습니다. // terminal에서 설치 $ sudo gem install cocoapods // Homebrew로 설치 $ brew install cocoapods 2. Podfile 만들고 라이브러리 추가하기 프로젝트 폴더를 터미널로 열고 다음을 입력합니다. cd 명령으로 이동해도 되고 프로젝트 폴더를 terminal 아이콘에 끌어 놓으면 바로 갈 수 있습니다. $ Pod init 이제 프로젝트 폴더에 Podfile..

iOS/Swift 2022.02.11

[iOS] iOS에서 JSON 파일 사용하는 방법

자바스크립트에서는 JSON 파일이 정말 편리하고 좋았는데 iOS에서는 바로 사용을 할 수 없다니 충격이었습니다. 아무튼... struct를 이용해 사용할 JSON 처럼 만들고 변환해 사용해야 합니다. (참고로 JSON을 그대로 Print 해봤더니 byte 크기만 출력 되었습니다.) 1. 구조 잡기 2. 디코딩 다음과 같은 JSON을 가지고 왔다고 가정하고 이를 iOS에서 사용해 보겠습니다. { "Sample1": 1, "Sample2" { "Sample2-1": "sm2-1", "Sample2-2": 22 } "Sample3": [ { "Sample3-1": "sm3-1", "Sample3-2": 32 } ] } 이러한 JSON은 Swift struct로 다음과 같이 표현할 수 있습니다. 1. 구조 잡기..

iOS/Swift 2022.02.09

[iOS] iOS HTTP 통신 허용 방법

웹에서 API를 사용할 때 http통신을 해도 별 문제가 없었지만 iOS에서 http 요청을 보내니 다음과 같은 Error 메세지가 출력 되었습니다. App Transport Security has blocked a cleartext HTTP connection since it is insecure. Use HTTPS instead or add Exception Domains to your app's Info.plist. 애플에서 막아두어서 발생하는 일인데 HTTPS를 사용하는 통신을 하거나 사용할 HTTP를 허용해야 합니다. 일단 저는 API를 사용해야 하니 HTTP를 허용하는 방법을 포스팅 하겠습니다. 1. 먼저 프로젝트의 Info.plist 파일을 엽니다. 2. Information Property..

iOS/Swift 2022.02.09

[IOS] UICollectionView 기본 사용

collectionView의 사용은 tableView와 비슷합니다. cell의 틀을 만들어두고 이를 가져와 사용합니다. cell은 xib또는 스토리보드에서 만들어 사용합니다. 일단 extension을 사용하기 위해 위임을 해주어야합니다. 이 작업을 하지 않으면 작동이 안됩니다. // viewDidLoad에 작성 self.collectionView.collectionViewLayout = UICollectionViewFlowLayout() self.collectionView.delegate = self self.collectionView.dataSource = self 이제 extension으로 다음을 추가하고 원하는 대로 커스텀 하시면 됩니다. (extension이 아니라 그냥 protocol을 채택해도..

iOS/Swift 2022.02.07