Day 23 개발일지 iOS - boostcamp-2020/Project03-A-TOTP GitHub Wiki
화
Refresh Token
인증 시도 -> 만료 -> 리프레시 토큰으로 시도 -> 만료 -> 로그아웃
네트워크 어디에..?
- 네트워크 싱글톤
- 서비스 객체는 로그인, 토큰, 세팅 이렇게 세개를 만든다.
- 로그인, 세팅 서비스 객체는 생성자에서 userDefault로 유저 정보를 읽어온다.
로그인 뷰
TextField Trailing Button Transition
이렇게 생긴 로그인 뷰에서 저 인증버튼을 오른쪽에서 오고, 오른쪽으로 나가게 애니매이션을 주고 싶었다.
trailingTransition을 만들어서 .asymmetric으로 합쳐주어서 가능하게 했다.
그런데, 이때 버튼이 들어오는 애니매이션을 줄 때 .leading으로 주어야 한다고 생각했는데, 이렇게 되니 왼쪽에서 들어오는것을 확인했다.
결론은 애니매이션이 어디서 들어오는지 어디로 나가는지를 써주는것이 포인트였다.
var trailingTransition: AnyTransition {
let movement = AnyTransition.move(edge: .trailing)
.combined(with: .opacity)
return .asymmetric(insertion: movement,
removal: movement)
}
세팅뷰
백업, 멀티 디바이스 설정을 위한 설정화면을 구성하였다. Twilio Authy에서는 유저 정보 관리, 디바이스 관리, 토큰 관리 이렇게 세 개의 탭바를 제공하여 설정 기능을 구현하였다. 그런데 초기에 우리가 분석할 때 그냥 한 화면에 보여주어도 될 것 같았다. 각각 설정하는 항목이 적었기 때문이었다.
하지만 만들면 만들 수록 나누는 것도 좋았겠다는 생각이 들었다. 항목은 적지만, 세 섹션 모두 다른 설정을 하는 것이기 때문에 들어가는 코드량이 많았다. 나눠져 있었으면 훨씬 작업하기 좋았을 것 같다. 하지만 화면을 다 만들어 놓고 보니 한 화면에 있는 것이 좀 더 사용하기에 좋을 것 같다는 생각이 들었다.
개인 회고
(솔직히 쓰기 - 현재 파트너 또는 누군가가 본다고 생각하지 말고 미래의 내가 본다고 생각하며 쓰면 어떨까요??😏)
어진
- 로그인뷰 UI를 개발했다....!
- 이메일 인증과 코드 입력뷰를 오른쪽 왼쪽 애니매이션으로 전환시키고 싶었으나, 중요하지 않은 것 같아서 도전하지 않았다...ㅠ 그래도 지금 자연스럽게 화면 전환이 되고 있어서 다행이지만 언젠가 도전하겠다(!)(?)
재명
- 어제 새벽에 세팅 뷰를 리스트로 만들기 위해 노력해보았지만, 알 수 없는 공간을 지울 수가 없어서 결국 포기했다. 그리고 그리드 뷰를 사용하여 만들어보았는데, 다행히 계획했던 UI가 잘 나와서 기뻤다.
- 뷰, 뷰모델, 서비스 객체를 한번에 만들다 보니 시간이 오래걸렸다. 하지만 지난 주에 메인 뷰를 한 번 만들어보아서 그런지 능숙하게 해낼 수 있었다. 엄청난 성장이다.
- 하지만 이 속도로는 안된다. 화이팅.