일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- toolbarvisibility
- combine
- avsession
- CS
- authentication
- 최적화
- ios
- 접근성제어
- iphone
- 네트워크
- arkit
- Network
- RxSwift
- gesture
- 달력
- Animation
- Concurrency
- swift
- view
- dataflow
- GCD
- firebase
- withAnimation
- stateobject
- Performance
- UIKit
- state
- WWDC
- auth
- SwiftUI
- Today
- Total
목록ios (34)
XLOG

시작에선 비동기 프로그래밍에 대해 이야기를 해보자고 시작을 한다. 위 화면에서 보면 회원가입시 앱은 user name, password 를 요청하며 이때 유효한 user name 인제, password 는 맞는지 확인을 해야한다. username의 경우엔 타이핑을 감지, 멈추면 서버와 통신하여 유효한지 확인, 패스워드의 경우는 패스워드 확인과 같은지 체크를 해야한다. 기존엔 그러기 위해 수많은 타겟, 액션이 필요했다. 또한 이 과정에서 메인스레드가 막히지 않게 하여 반응형 유저인터페이스가 유지하도록 해야한다. ( user name을 확인하는 중에 password를 입력하거나, 확인하거나가 같이 이루어져야 한다 ) 참 많은 비동기 동작을 진행해야하기에 복잡하며, 좀 더 사용성을 쉽게 하기 위해 서드파티를 ..

우선적으로 프로젝트에 FirebaseAuth 와 GoogleSignIn을 설치해야 한다. (pod or Swift Package Manager) 이용 custom URL schemes 를 Xcode 프로젝트에 추가한다. GoogleService-Info.plist 에 REVERSED_CLIENT_ID 값을 확인(복사) Info plist에서 URL Types 에 + 버튼 클릭 URL Schemes 에서 a에서 복사한 붙여넣기 URL Scheme는 특정 형태의 URL로 내 앱을 호출할 수 있다는 것이다. 즉 URL을 통해 다른 앱과 통신할 수단을 제공하는 것이다. AppDelegate 에 application:didFinishLaunchingWithOptions: 메서드에 FirebaseApp.config..
SwiftUI의 경우 view에 onTapGesture를 추가하게 되면 간단하게 탭제스쳐에 반응을 할 수 있게 된다. 하지만 UIKit에서는 onTapGesture가 없다. 하지만 개발을 하다보면 버튼이 아닌 imageView 나 기타 UIView에 액션을 추가하고 싶은 일이 발생한다. 우리에게 필요한것은 gesture 객체와, view가 필요하다. 또한 viewController에 view에 isUserInteractionEnabled 의 변수 값을 true로 설정해주면 된다. private let actionView = UIView() let gesture:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(t..
우리는 UITextField를 컨트롤 하기 위해 UITextFieldDelegate를 상속받아야 한다. UITextFieldDelegate에는 func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {} 함수가 존재하는데 return 값이 true 면 수정이 가능하며, false 면 textfield 값의 수정이 불가능 하다. 맨처음 접근은 위의 함수에서 string 값의 갯수를 카운트하여 갯수에 따라 return 값을 조절해 주려고 했다. 하지만 한글은 초성, 중성, 종성이 결합되어 한글자로 카운트가 되어야 한다. 하지만 위에 함수에서는 ..