Mobile App 26

React native - canvas 이미지 흐릿한 현상 해결하기

회사에서 React native 사용시, 특정 렌더러에서 이미지가 흐릿한 현상이 발생하였다. 픽셀아트를 사용해야하는데, 해당 canvas에서 pixelated를 제공안한다고 한다. 그래서, 이미지 사이즈를 늘려서 해결하려고 한다고 하였다. 하지만 2가지 문제가 발생한다. - 사이즈가 그만큼 늘어나서 느려진다. - 디자이너가 다시 작업해야한다. 이 문제에 대해서 고민하다가 2가지 방법을 생각해냈다. 1. 해당부분만 webview를 띄운다. 2. image pixelated를 구현한다. - image pixlated는 k nearest neighbor 알고리즘을 이용하므로, k nearest neighbor를 구현하면 해결이 될 것이다.

[React-Native] Animation - 1 / RN Animation의 한계

Animation Driver는 requestAnimationFrame 를 이용하여 애니메이션에 필요한 모든 값을 업데이트 합니다 중간에 값이 계산되어 Props로 전달됩니다. View는 setNativeProps를 이용하여 업데이트 합니다. js내에서 계산하기에 성능에 문제를 준다. 이것을 해결하기 위해서 useNativeDriver라는 옵션을 주면 native에서 계산을 한다. 하지만 모든 animation에 적용되는 것이 아니다. transform, opacity 등에는 적용되지만, position, flexbox 등에는 적용되지 않는다. 우리고 위치이동, 드래그 등을 생각해보면 된다. 이런 곳에는 적용되지 않는다. 또한 항상 Animation start를 JS 쓰레드에서 호출하는 문제가 있다. 예..

[Swift] Method Dispatch - 정적 vs 동적 디스패치

Method Dispatch는 프로그램이 어떻게 해당 메소드를 실행할지 정하는 것이다. Method Dispatch에는 Direct(Static 이라고 부르기도 한다.) / Dynamic 방식이 있으며, Dynamic Dispatch 방식에는 Table Dispatch / Message Dispatch 방식이 있다. 해당 Dispatch는 swift에만 있는 것이 아니라 모든언어에 있다. swift가 컴파일되고 해당 메소드르 부르는 방식에는 Direct, Table, Message 총 3가지가 있다고 보며 된다. 많은 언어들이 Direct나 Table Dispatch를 지원한다. Java는 Table dispatch를 기본적으로 사용한다. c++는 기본적으로 Direct dispatch를 이용한다. 하지..

Mobile App/iOS 2020.01.12

iOS - UI test 한번에 하기

시뮬레이터로 하나씩 검사하기 귀찮을 때가 있을 것이다. 아래와 같은 명령어를 사용하면 한번에 할 수 있다. # 1 xcodebuild test -scheme MyApp \ -destination "plaform=iOS,name=iPhone 8" \ -destination "platform=iOS,name=iPhone 8 Plus" # 2 xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp -destination 'platform=OS X,arch=x86_64' -destination 'platform=iOS,name=Development iPod touch' -destination 'platform=Simulator,name=iPhone,OS=9..

Mobile App/iOS 2019.11.24