programing/Mobile
-
[RN] 기기 별 dimensionprograming/Mobile 2021. 10. 17. 15:50
React Native 앱을 개발하다가, onLayout 혹은 e.target.measure 로 특정 요소의 위치값을 계산해야 할 필요가 생겼습니다. 이 기능을 구현하면서 삽질하고 알게된 것들을 공유하고자 합니다. https://cactus-prune-998.notion.site/RN-Dimension-85dcdb656cef45529f975be158edfd5c RN - Dimension 과 좌표값 계산 발단 cactus-prune-998.notion.site
-
[Flutter] FireBase auth 에러 해결 방법programing/Mobile 2021. 8. 29. 23:35
플러터 인강을 보다가.. (심지어 oudated 되어서 거의 직접 구현해야하는 수준인..) 파이어베이스 구글 로그인 기능을 붙이다가, 구글 로그인 버튼 터치 - 구글 계정 선택 이후 아래와 같은 에러가 찍혔다. PlatformException com.google.android.gms.common.api.ApiException: 10 이리저리 찾아봐도, 플러터랑 앱 생태계에 익숙치 않은 나는 허둥지둥.. 결론부터 말하자면 SHA 인증서 지문 값이 틀려서 그랬던 것이다. Firebase 콘솔에서 프로젝트 설정 - 내 앱 - SDK 설정 및 구성 을 보면, 하단부에 SHA 인증서 지문 목록이 나온다. 어차피 학습용 클론 프로젝트여서, 기존의 핑거프린트들을 싹 지우고, 터미널에서 다음 명령어로 키를 만들었다. ..
-
[RN] :app:mergeExtDexDebug 에러 해결 방법programing/Mobile 2021. 7. 16. 18:03
에러 메세지 * What went wrong: Execution failed for task ':app:mergeExtDexDebug'. > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade > com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: Program type already present: com.amazon.device.iap.PurchasingListener Learn how to resolve the issue at https://developer.android.co..
-
[ReactNative] hot reload가 안될 때 해결 방법programing/Mobile 2021. 6. 27. 16:35
어느날, RN 프로젝트를 개발하는데 갑자기 hot reloading이 안된다는 것을 깨달았다. 이리저리 검색을 해도, 시원찮은 답변들 밖에 없었다. render 함수 안에서만 동작하는 거라느니, .git/index.lock 을 지우라니, MainApplication.java 에서 getUseDeveloperSupport 함수의 리턴값을 true 로 하라느니, 등등.. 이상한 말들이 많았다. 깃헙 레포에서 이슈들을 찾아봐도 딱히 해결되는 건 없었다. 혹시 watchman 관련 문제인가 싶어서, watchman watch-del-all 을 해도 해결되지 않았다. 할 수 없이, 프로젝트를 밀어버리고 다시 클론하려고 커밋을 하는데 WebStorm에서 다음과 같은 에러가 발생했다. 🚨 0 file committe..
-
Webstorm에 Dart Support 설정하기programing/Mobile 2021. 5. 2. 15:30
Dart plugin 설치 webstorm 의 plugin에서 dart를 설치하자. Dart SDK 다운로드 Get the Dart SDK를 참고하여 SDK를 다운로드하자. SDK 경로 확인 brew info dart 를 치면 다음과 같이 SDK 경로가 나온다. Webstorm 설정하기 Dart SDK path 에 복붙해주면 끝. pub get 그리고 webstorm 에서 pub 관련 에러가 뜬다면, 터미널에서 pub get 을 하거나 flutter pub get 을 해주자.
-
[RN] TextInput과 Enter 이벤트programing/Mobile 2020. 12. 11. 17:39
multiline 이 false인 경우 기본적으로 blurOnSubmit 은 true로 설정된다. Enter 이벤트가 onKeyPress 에서 캡쳐 x, onSubmitEditing 에서 캡쳐 o multiline 이 true인 경우 기본적으로 blurOnSubmit 은 false로 설정된다. Enter 이벤트가 onKeyPress 에서 캡쳐 o, onSubmitEditing 에서 캡쳐 o onKeyPress 에서 e.preventDefault() 가 동작하지 않는다. 아마도 keyValue 자체는 Enter 로 뜨지만, default action이 line break가 아니라 submit이라서 line break를 막지 않는듯. blurOnSubmit 명세를 보니, multiline 이 true 면서 ..
-
[React Native] 개발 웹서버 없이 debug APK 따는 방법programing/Mobile 2020. 11. 27. 14:33
개발 서버 없는 Debug APK 생성하기 React Native: Android debug APK without development server buid.gradle 설정하기 // android/app/build.gradle project.ext.react = [ ... bundleInDebug: true, // gradle에게 번들링한 JS와 assets을 개발 서버가 아니라 APK에 패키징 하라고 명령하는 것 ] 번들링 터미널의 프로젝트 루트 경로에서 다음 명령어를 입력한다. react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.an..
-
[React Native] Insightprograming/Mobile 2020. 10. 24. 17:25
React Native RN은 Android와 IOS의 네이티브 앱을 React를 이용하여 개발할 수 있는 도구이다. 놀랍게도 아직 메이저 버전 넘버가 0이다. React Native Team Principle Native Experience RN 팀의 최우선 가치는 사람들의 각 플랫폼에 대한 기대치를 충족시키는 것이다. (즉, RN을 써도 네이티브를 쓴 것과 같은 효과와 성능을 내게끔 하는 것.) 이것이 RN이 플랫폼 프리미티브로 렌더링 하는 이유이다. 따라서 플랫폼 간 일관성보다 네이티브 룩앤필(look-and-feel)을 중요시한다. 룩앤필을 맞추기 위해 성능도 맞춰야 한다. 이를 위해 페이스북에서는 Hermes라는, RN를 위한 안드로이드용 JS엔진을 개발했다. Massive Scale 페이스북 ..