1. Project > Signining & Capablilities Sign in With Apple 추가 2. Apple Developer - Certificates, Identifiers & Profiles 애플 로그인 추가할 앱에 Sign In with Apple 추가 3. 애플 로그인 버튼 추가 4. 코드 구현 ASAuthorizationControllerPresentationContextProviding - 인증 컨트롤러를 어느 컨트롤러나 뷰에 표시할지 결정하는데 사용 import AuthenticationServices extension Root.ViewController: ASAuthorizationControllerPresentationContextProviding { func prese..
iOS 14 이상 / GoogleSignIn 7.0.0 버전에 대한 구글 로그인 연동 1. GoogleSignIn 설치 pod 'GoogleSignIn', '7.0.0' 2. 파이어베이스 구글 로그인 설정 3. OAuth 클라이언트 ID 만들기 https://developers.google.com/identity/sign-in/ios/start-integrating?hl=ko#get_an_oauth_client_id iOS 및 macOS용 Google 로그인 시작하기 | Authentication | Google for Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 iOS 및 macOS용 Google 로그인 시작..
GCD Grand Central Dispatch 로 동시성 프로그래밍을 할 수 있게 해주는 C 기반의 저수준 API iOS 에서 DispachQueue 로 처리를 한다. Sync vs Async 동기 작업을 시작하고 끝날때 까지 기다린다. 메인 스레드에서 작업을 진행한다. DispatchQueue.main.sync { // 메인 큐에서 동기 방식으로 실행할 코드 } DispatchQueue.global().sync { // 글로벌 큐에서 동기 방식으로 실행할 코드 } 비동기 작업의 완료를 기다리지 않고 리턴한다. 메인 스레드에서 다른 스레드에 일을 넘기고 작업 완료까지 대기하지 않는다. DispatchQueue.main.async { // 메인 큐에서 비동기 방식으로 실행할 코드 } DispatchQue..
클로저는 클로저의 주기동안 사용이 필요 없어질때까지 힙 영역에 존재하고, 내부에서 클로저 외부에 존재하는 변수를 계속 사용해야 하기 때문에 갭쳐가 발생된다. (캡쳐: 클로저 내부에서 밖에 있는 스코프의 인스턴스를 참조하는 것) 클래스 인스턴스에서 강한 참조 사이클이 발생하듯이 클로저에서도 강한 참조 사이클이 발생할 수 있다. 이러한 강한 참조 사이클을 방지하기 위해 캡쳐리스트를 사용하여 방지한다. 캡쳐리스트를 사용하여 순환 문제 해결 gasMileage 클로저 에서 self 를 통해 Car 클래스 내부의 인스턴스를 참조할때 강한 참조 사이클를 발생하여 myCar 에 nil 을 대입해도 메모리 해제가 안되고 있다. class Car { var totalDrivingDistance = 0.0 var tota..
- Total
- Today
- Yesterday
- docker
- MYSQL
- flask
- logstash
- spark
- pytest
- SQL
- 리눅스
- ElasticSearch
- python
- 엘라스틱서치
- nginx
- ios
- network
- linux
- SWIFT
- 네트워크
- BigData
- 도커
- 로그
- WEB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |