# 데일리 스크럼 2021.11.23
- 현식: 음원 제작, 모드 전환 베이스 구현, 애니매이션 구현 방법 리서치 완료
- 상진: 콜랙션 뷰 공부, 네비게이션 컨트롤러 처럼 동작하는 애니메이션 고민
- 수현: 상진님의 코멘트에 깨우침을 얻었...... 코드 리팩토링했음
- 기완: 글자 애니메이션 타이밍 수정, 부모님 생파 참가
## 오늘 할 일
- 내일 멘토링 할 질문목록 작성 + 시간 여쭤보기
- 화면 회전 제약 (수현)
- 세로 모드만 허용
- 컬렉션 뷰(Recent/Favorite) 구현 (수현)
- Recent
- UseCase, Repository 작성
- Favorite
- 현식님 구현 파트에서 read 부분 참조
- 모드 전환 애니매이션 기본 구현 (현식)
- 카운트 다운 + 파티클 애니메이션 추가, 뽀모도로 명세 물어보기 (기완))
- Me화면 레이아웃 잡기 + Me화면 잔디 작업시작하기
# 회의록
### 네비게이션 컨트롤러처럼 동작하는 화면을 어떻게 구현하죠?
- 그냥 네비게이션 컨트롤러를 추가하시면 됩니다.
### Breath 음원
- 전체 7초
- 들숨 7 * 2 / 3 = 4.62초
- 날숨 7 * 1 / 3 = 2.33초
전체 7초인데 대략 (4.4~4.62), (6.5~7), (0~0.5) 부근에서 소리 없어지는 음원 1개로
## 할 일 정리
- 24일 자정까지 노션꾸미기
-
## 멘토님 질문
- 특정 기기(아이폰12)에서 구현하는 애니메이션의 CAAnimation scale값을 10했더니 앱 crash가 나서 결국 5로 낮췄더니 괜찮아졌습니다. 이 버그를 해결하는 과정에서 TestFlight, Crashlytics를 사용하여 어떤 코드가 문제인지 확인하려 했지만 로그가 잡히지 않았습니다.
```swift
private func startIntroAnimation() {
let scaleUpAnimation = CABasicAnimation(keyPath: "transform.scale")
scaleUpAnimation.fromValue = 1.0
scaleUpAnimation.toValue = 5.0 // 이 부분을 10에서 5로 낮췄습니다
let opacityDownAnimation = CABasicAnimation(keyPath: "opacity")
opacityDownAnimation.fromValue = 1.0
opacityDownAnimation.toValue = 0.5
let introAnimations = CAAnimationGroup()
introAnimations.animations = [scaleUpAnimation, opacityDownAnimation]
introAnimations.repeatCount = 1
introAnimations.duration = 0.5
introAnimations.beginTime = 0.0
introAnimations.isRemovedOnCompletion = true
breathShapeLayer.add(introAnimations, forKey: "scaleUpAndOpacityDown")
}
// 스케일 값이 문제가 되는 이유가 무엇인지 궁금합니다.
// Crashtylitics에서도 잡히지 않았던 이유가 무엇인지 궁급합니다
```
- 원티드 같은 사이트에서 신입 개발자 포지션보다 경력 2~5년차 구인이 많은 것 같았습니다. 인터넷에서 찾아보니 신입도 지원은 할 수 있다고 본 것 같았습니다. 현업자 입장에서 이부분에 실제로 어떻게 생각하시나요?
- IPad나 landscape모드 같은 경우처럼 아예 Autolayout이 많이 변하는 경우는 어떻게 디자인을 고려하면서 작업을 해야하나요? (그냥 배제하고 할까요...?)
- FlowLayout같은 경우 미리 Enum등으로 LineSpace나 CellSize를 지정하고 진행하게 되는데, 기기 대응을 고려하려면 어떤 부분을 더 중점적으로 봐야할까요?
```swift
enum MeCollectionViewSize {
static let space = CGFloat(10)
static let width = UIScreen.deviceScreenSize.width - space * 2
}
enum MeGrassMapViewSize {
static let offset = CGFloat(30)
static let width = MeCollectionViewSize.width - offset * 2
static let cellSpacing = CGFloat(1)
static let cellLength = (width - 19 * cellSpacing) / 20
static let height = cellLength * 7 + cellSpacing * 6
}
```
- 네트워킹 Notion 보완할 점, 수정할 점 질문 -> 이건 아직 진행중입니다. ㅠㅠ
- 링크 : https://www.notion.so/15-10-iOS10-JipJung-164fe66bee754e7a8c0ac6504c133cdc
- JK님이 언급하신 오디오 관련 최적화가 필요한 코드 리뷰 요청