React Native 66

[React Native] 안드로이드 서명 키 생성하기 (디버그 모드로 서명한 APK 또는 Android App Bundle을 업로드했습니다. 출시 모드로 APK 또는 Android App Bundle에 서명해야 합니다. )

1. 터미널에서 android/app 폴더로 이동한다. cd "your project folder"/android/app 2. 아래 명령어를 통해 안드로이드용 서명 키(Signing Key)를 발급한다. keytool -genkey -v -keystore [your key-name].keystore -alias [your key alias] -keyalg RSA -keysize 2048 -validity 10000 Enter keystore password: Re-enter new password: What is your first and last name? [Unknown]: What is the name of your organizational unit? [Unknown]: What is the na..

하루에 하나씩 디즈니 명대사 추천 앱

디즈니 좋아하시는 분!! 영화 대사로 공부하고 싶으신 분!!! 디즈니의 감성 명대사를 매일 새롭게 만나고 싶으신 분!!!!! 사실 저입니다 ㅎ... 요새 외국 드라마나 영화로 영어 공부하는데, 대사들이 정말 좋더라구요 특히 가슴을 울리는 명대사들... 크으.. 그러다 문득... "하루에 하나씩 명대사를 푸쉬 앱으로 알려주면 어떨까?" 하는 생각이 번뜩 들었습니다. 처음에는 여러 장르의 영화보다는 한 장르나, 한개의 스튜디오에 포커싱해서 관련 영화들의 명대사들만! 그중에서도 제가 좋아하는 디즈니 영화들! 디즈니 영화가 어린이용 같아도, 그 안에 담긴 메시지나 대사들이 정말...으른들의 가슴을 울리게 하죠 ㅜㅜ 하루에 하나씩, 디즈니의 명대사들을 푸쉬 알림으로 쏴주면 정말 좋겠다! 라는 생각으로 제가 이용하..

React Native 2022.07.04

[개인정보처리방침]

('https://juzero-space.tistory.com'이하 'juyeongkim')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2022년 5월 1부터 적용됩니다. 제1조(개인정보의 처리 목적) ('https://juzero-space.tistory.com'이하 'juyeongkim')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의..

[React Native] Firebase auth 로그인 유무 판별하는 방법

안녕하세요. 이번 포스팅에서는 유저가 Firebase auth를 이용해서 로그인을 했는지, 로그인 상태를 확인하는 방법을 알아보겠습니다. 특히, 로그인 상태를 여러 스크린에서 확인해야하는 경우에는 mobx를 이용해서 중앙에서 상태값을 관리해줄 필요가 있습니다. 본 포스팅은 mobx를 이용해서 로그인 상태를 앱 전역에서 확인하는 방법을 알아보도록 하겠습니다. Firebase auth를 도입하지 않으신 분은 여기 포스트를, mobx를 도입하지 않으신 분은 여기 포스트를 참고해주세요. mobx를 도입했다는 가정 하에 진행해보도록 하겠습니다. 1. userStore.js 파일 생성 Store폴더에 userStore.js 파일을 만들어주세요. 이 파일에서 유저와 관련된 상태값들을 관리할 예정입니다. 2. user..

[React Native] FlatList에 Mobx를 쓰면 발생하는 에러 (Out of bounds read: )

1. 에러 상황 FlatList data에 mobx로 받아온 배열을 넣어주면 Out of bounds read 에러가 발생합니다. 2. 에러 원인 이유를 찾아보다가 잘 정리된 글을 발견했습니다. FlatList는 배열에 저장된 값들을 읽어서 렌더링하는 역할을 하는데요. 위 에러는 FlatList가 읽을 수 없는 형태의 배열이 들어왔을 때 나타납니다. mobx에 저장된 배열은 일반 형태의 배열이 아니라고 합니다. @observable users: Array = [] //또는 users: Array = observable([]) 위 2개의 형태 중 하나로 정의되기 때문에 FlatList가 읽을 수 없다고 합니다. 3. 해결 방법 mobx의 배열에 .slice()를 붙혀주면 됩니다. // 에러 발생 // 해결..

React Native/Error 2022.01.17

[javaScript] 배열 요소가 Object일 때 (JSON.stringify cannot serialize cyclic structures)

이런식으로 배열의 요소가 Ojbect 형태일 경우 console.log(list)를 찍어보면 [Obect, Obect] 라면서 JSON.stringify cannot serialize cyclic structures 에러가 발생할 때가 있습니다. 그리고, 각 요소에 들어있는 Object 에서도 특정한 값만 사용해야할 때가 있습니다. 가령, 위의 사진에서 Obejct안의 data 객체만 읽고싶을 수 있죠. 위의 예시처럼 Oject 형태로 배열이 이루어져있고, 값을 불러오려니 JSON.stringify cannot serialize cyclic structures 에러가 발생할 떄 map 함수를 이용해 쉽게 해결할 수 있습니다. 이렇게 하면 temp 배열에는 list 배열에 있는 객체요소중 data에 대한 ..

[구글 애드몹] 잘 뜨던 광고가 갑자기 뜨지 않는다..!

안녕하세요. 앱을 출시하고 처음에는 구글 애드몹 배너광고가 잘 떴습니다. 아주 소소하게나마 광고수익이 잡혔죠. 그런데 갑자기 개발모드에서 테스트광고도 안뜨더니, 배포된 앱에서도 광고가 안뜨길 시작했습니다. 내가 뭘 잘못건드렸나? 하고 몇시간동안 애드몹 코드를 지웠다 다시 시작하기를 반복했죠... 그러다가 개발모드에서 Error code3 이 뜨는걸 알게됐습니다. Error code3란? '귀하에게 보내줄 광고가 없습니다.' 라는 건데요. 코드 문제가 아니고, 출시한지 얼마 안된 앱에게 흔히 나타날 수 있는 에러라고 합니다. 이 앱에 어떤 광고를 노출시켜야 할지 판단이 안되어서 광고를 보내주지 않는다고 합니다. Error code 3이 뜨는 이유는 여러가지가 있겠습니다만, 해결방법은 오직 '기다림' 뿐입니..

[React Native] 파일명, 폴더명, 네이밍 규칙 및 통일

안녕하세요. 이번 포스팅에서는 React Native로 개발하는 프로젝트의 파일명, 폴더명 네이밍 규칙을 알아보겠습니다. '이렇게 써야만 해!' 라고 법적으로 정의한 것은 아니지만 가독성 높은 코드를 위해서 통일성을 맞춰서 하면 좋을 것 같습니다. 1. 파일명 ( index.js 처럼 뒤에 js 확장자가 붙은 JS파일) 파일명은 대문자로 시작합니다. (예시: UserInformation.js) 단, index.js 는 소문자로 시작합니다. 파일명과 exports default의 이름은 동일해야 합니다. 아래처럼 파일의 export가 LogIn이면 파일명도 LogIn.js로 해야합니다. export default LogIn; 또한 다른 곳에서 import 할 때에도 파일명과 동일하게 써야합니다. //bad..

[React Native / iOS] iOS 15 이상에서 추적 요청 팝업 띄우기 (app tracking transparency)

안녕하세요. 앱 추적 요청에 관한 이전 포스팅에 이어서 내용을 이어가겠습니다. 시뮬레이터에서는 되는데, 실제 기기에서는 안되는 이유를 몰라서 4시간동안 삽질했습니다.. 커밋 메시지의 빡침이 느껴지시나요; 알고보니, iOS 15.0 이상에서는 앱 상태가 반드시 'acitve'일 때만 팝업이 뜨도록 변경되었습니다 ^^;;; 그럼 바로 알아보도록 하겠습니다. 이전 포스팅에 사용한 라이브러리는 앱 추적 요청에 관한 것만 있었는데요, 이번에 사용할 라이브러리는 거의 모든 권한에 대한 기능이 들어있습니다. (star 수도 더 많네요 ㅎㅎ) https://github.com/zoontek/react-native-permissions 위 라이브러리를 사용할 예정입니다. 깃헙 설명만 봐도 되긴하지만, 조금 수정이 필요한..

React Native/IOS 2022.01.12

[React Native / iOS 에러] "RNAppleAuthButtonViewManagerWhiteSignIn" was not found in the UIManager.

1. 에러상황 아래의 라이브러리로 애플로그인 버튼을 구현하는 중 "RNAppleAuthButtonViewManagerWhiteSignIn" was not found in the UIManager. 에러를 만났습니다. RN 애플 로그인 라이브러리 https://github.com/invertase/react-native-apple-authentication GitHub - invertase/react-native-apple-authentication: A React Native library providing support for Apple Authentication on iOS a A React Native library providing support for Apple Authentication on ..

React Native/Error 2022.01.12