분류 전체보기 333

카카오톡 로그인 구현

https://developers.kakao.com/docs/latest/ko/kakaologin/ios Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com https://jiseok-zip.tistory.com/entry/iOS%EC%B9%B4%EC%B9%B4%EC%98%A4-%EB%A1%9C%EA%B7%B8%EC%9D%B8%EC%86%8C%EC%85%9C#toc-%EB%A1%9C%EA%B7%B8%EC%95%84%EC%9B%83 [iOS]카카오 로그인(소셜) 본 게시물은 쓴이의 경험을 토대로 한 것임으로, 100% 정답이라고 할 수 없습니다. 가볍..

Sec15 187) FlashChat TIL

FlashChat TIL -Cocoapod, Firebase practice 1. 로그인/로그아웃 테스트 중 계속해서 아이디 패스워드 치기 귀찮으면 => ? storyboard 에서 잠깐 아이디 패스워드 쳐놓고 테스트 해도 됨 (코드베이스가 아니라 스토리보드 베이스일땐 이렇게 하면 진짜 편하네..) 2. popToRootViewController 웰컴VC -> 로그인VC -> 채팅VC로 이동한 경우, 채팅창에서 로그아웃한 뒤 WelcomeVC로 한번에 rootVC를 제외한 모든 stack을 pop 해서 넘어가는 코드 3. navigation back button 숨기기 - 한줄로 간단하게 해결 navigationItem.hidesBackButton = true 4. Constants 파일 만들기 by r..

Sec15 179) Cocoapods 설치

Cocoapods 설치 방법 터미널에 다음 두가지 명령 실행 (최초 설치시) 1. sudo gem install cocoapods 2. pod setup --verbose 제대로 설치되었는지 확인하려면 아래 명령 pod --version 1. 터미널에서 cd ~~ 해당 프로젝트 파일 (가장 parent 폴더) 2. pod init 참고) Xcode에서 코코아팟 init시 최근 에러가 남 해결방법: 아래 Xcode 14.0-compatible -> Xcode 13.0-compatible로 바꿔준다. 3. 파인더에서 해당 프로젝트로 들어가서 Podfile 우클릭->Others->Xcode로 열기 아래 페이지가 열린다. 이 pod file의 형식을 지정해야 관심 있는 pod을 실제로 추가할 수 있다. coco..

Sec15 176) for in loops 반복문

let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { print("Hello, \(name)!") } //Hello, Anna! //Hello, Alex! //Hello, Brian! //Hello, Jack! for number in 1...5 { print("Hello, \(number)") } // Hello 1 // Hello 2 // Hello 3 // Hello 4 // Hello 5 for _ in 1...5 { print("Hello") } // Hello // Hello // Hello // Hello // Hello 조건이 참인 경우 계속해서 그 구문 안을 실행. 거짓인 순간 바로 빠져나옴. 무한루프 생성될 수 있으므로 주..

Sec15. 175) 타이핑 애니메이션

타이핑 애니메이션 titleLabel.text = "" var charIndex = 0.0 let titleText = "⚡️FlashChat" for letter in titleText { print("-") print(0.1 * charIndex) print(letter) Timer.scheduledTimer(withTimeInterval: 0.1 * charIndex, repeats: false) { (timer) in self.titleLabel.text?.append(letter) } charIndex += 1 } charIndex를 설정해준 이유? 타이머를 character 개수만큼 만들고, 각각의 타이머들 사이에 시간 간격을 두어야 차례로 글자가 타이핑 되는것처럼 실행되니깐. charInde..

Sec14 157) 소수점 원하는 자리에서 반올림 / 버튼 둥글게

Extension 활용 - 소수점 원하는 자리에서 반올림 / 버튼 둥글게 소수점 원하는 자리에서 반올림 extension Double { func round(to places: Int) -> Double { let precisionNumber = pow(10, Double(places)) var n = self n = n * precisionNumber n.round() n = n / precisionNumber return n } } Double -> String let priceString = String(format: "%.2f", bitcoinPrice) 버튼 둥글게 extension UIButton { func makeCircular() { self.clipsToBounds = true self..

iOS swift 코드베이스로 만들기 - 스토리보드 제거

코드베이스로 만들기 - 스토리보드 제거 https://declan.tistory.com/19 Xcode 프로젝트 Storyboard 제거하기 최근 코드로만 뷰를 작성하는 것에 관심이 생겼습니다! 그래서 이번에는 Storyboard 제거와 더불어 앱을 빌드 했을 때 화면을 불러오는 방법에 대해서 적어보도록 하겠습니다! 첫번째로 스토리보 declan.tistory.com 1. General - Main Interface 수정 (Storyboard X) -> 현재 Xcode 14.1 기준 Build Settings에서 storyboard name 지우기(5번 설명과 같음) 2. Info.plist 에서 Application Scene Manifest -> storyboard name 지우기 3. 스토리보드 파..

RxSwift) RxCocoa 로 TableView Delegate 처리

https://ios-development.tistory.com/795 [iOS - swift] RxCocoa로 TableView delegate 처리 방법 RxCocoa에서 제공하는 방법으로 tableView의 ControlEvent 처리 방법 RxCocoa의 UITableView+Rx 파일에 존재 itemSelected: 선택한 셀의 IndexPath 값 획득 // viewDidLoad()에서 호출 private func setupTableViewDelegate() { tableView.r ios-development.tistory.com itemSelected: 선택한 셀의 IndexPath 값 획득 modelSelected: 선택한 셀의 model 값을 획득 itemSelected와 modelSe..

iOS/RxSwift 2023.01.13