9/26 ~ 9/30
아이콘을 텍스트로
- 자꾸 SVG를 텍스트와 동일하게 취급하려다보니 lineHeight가 안맞는다
- 차라리 전부 한글이거나 영문이면 임의로 조정이라도 하겠는데
- 어떤 문자가 오게 될지 모르기 때문에 결국 전부 높이가 들쭉날쭉해진다
- (+문자마다 baseline이 다르기 때문에)
- (+8월에도 겪은 이야기)
- (+폰트란 무엇일까 찾아보기도 했지만)
- 그러다
SVG 자체를 폰트처럼 만들어서 사용하는건 어떨까
하는 힌트에 찾아보기 시작
- SF Symbols
- iOS 13부터 지원하기도 하고 안드로이드는 답이 없으므로.. 이건 탈락
iOS 상태바
- 현재 그려져있는 화면은
상태바를 덮는 느낌으로 딤처리
되기를 원했다
- 그러나 RN에서는 상태바
barStyle, backgroundStyle
만 변경할 수 있다고 알고 있었다
레이아웃을 덮는 형태로는 안될까요?
하는 질문에 다시 한번 생각해보게 되었다
- 검색을 해보려고 해도 무엇을 찾아봐야할지 감이 없어서 도움을 요청하였다 ㅠㅠ
- iOS에는
zIndex
처럼 UIWindow.Level
을 바꿔줘서 계층을 변경할 수 있는데
- 같은 Level 안에서 여러가지 뷰가 그려져 있더라도 Level이 높은 레이아웃이 가장 위에 그려지면서 덮어지게 된다 (
normal < statusBar < alert
)
zIndex
처럼 상위 레이아웃이 위를 덮는 형태이기 때문에 상태바 위를 덮는 화면을 그려주고 싶다면 windowLevel
을 바꿔서 상태바의 windowLevel
보다 높은 레이아웃을 그리면 되는 것
- 그럼 여기서
UIWindow
는 뭘까?
- 지금 앱 구성을 보면 UIWindow 속에 UIView가 있고 그 안에 레이아웃이 잡혀있는데?
open class UIWindow : UIView
=> UIWindow가 UIView의 서브클래스이다
- 그럼 왜 맨처음에
UIWindow
를 그릴까?
UIViewController
에서 rootView
를 그리는데 UIViewController에서는 View를 직접 제어하는게 아니라 앱에 띄워지는 Window를 제어한다
- 하나의 Window에는 여러 View가 그려질 수 있고 하나의 앱에서 여러 Window를 가질 수 있다
- (+
UIWindow.isKeyWindow
로 지금 활성화된 Window를 확인한다는 점에서 navigation.isFocused
같다)
- 그럼 왜 맨처음에
UIWindow
를 그릴까? => 처음에 메인 Window 하나를 갖고 있는 것이다
- 여러개의 Window를 Level을 바꿔서 그려주면 상태바를 덮는 레이아웃을 그릴 수 있는 것이다
- 그렇지만 RN에서 사용중인 Window는 여러 Window 중 가장 아래에 위치하고 있다
- 여러 Window를 추가해도 RN이 사용하는 Window 자체는 변경되지 않기 때문이다 (RN에서는 상태바를 덮는 뷰를 그릴 수 없고 네이티브 뷰를 추가해주어야만 하는 이유)
- 왠지 나와 비슷한 의식의 흐름을 갖고 있던 블로그... 친구와 같이 스터디하는 기분이 들었다
- 근데 windowLevel을 상태바보다 크게 변경해주어도 딤처리가 되지 않았다!!??? ⁉️
9/19 ~ 9/25
다시
RN 0.65
9/12 ~ 9/18
다시
- 동작하는게 전부가 아니라 왜 동작하는지 알아야한다는걸 다시 새기며
- 내 것이 될때까지 계속 되새기면 언젠가 내 것이 되겠지
RN 0.65
9/5 ~ 9/11
악
RN 0.65
- 어느때와 똑같이 버전을 올리려고 했을뿐이다
- 그런데 왠지 이번엔 너무나 수월했다
- 변경된 내용이 간단했다
- 그렇게
yarn install && yarn ios
Last few GCs
allocation failure scavenge might not succeed
- ?????????????????????????????????????? ⁉️
9/1 ~ 9/4
깃헙 액션
- 코드푸시가 실패하는 줄 알았더니
- bugsnag sourcemap 업로드를 실패하는거였네
- 코드푸시 하면서 빌드한 파일을 올려야하는데 경로를 파일을 찾을 수 없다
- 왜?
- 아무리 생각해도 왜 로컬을 되는데 액션에서는 안될까?
- 문득 떠오른게
appcenter-cli 버전
- 지난번 겪었던 건데 잊고 있었다
- 안드로이드 빌드를 위해
macos
가 아니라 Ubuntu
로 설정하고 테스트 중이였다
- 그리고 Ubuntu에는 appcenter가 내장되어 있지 않아 전역으로 추가해주었는데
- 이것이 로컬과의 차이점이 있었다
no such file or directory, open 'build/android/CodePush/index.android.bundle.hbc.map'
- 빌드된 내용을 보니 저 파일만 없었다
hbc
이름도 수상한 hermes sourcemap이 생성되지 않고 있었다
- 우선은
appcenter-cli
버전을 로컬과 동일하게 명시해주니 해결은 되었는데, 버전을 올리고 해결해야겠다
- 찾다보니 흘러들어간 appcenter 깃헙 이슈
- 그러다 도착한 bugsnag 깃헙 이슈
Animated
- 왜 계속 모르는것만 나올까
- 나도 잘하고 싶은데!