Development/React Native 7

[Bluetooth 1] Bluetooth 간단 개념 및 라이브러리 검토

Bluetooth란? Bluetooth는 근거리 무선 통신을 위한 프로토콜 표준 기술이다. 보통 주변 장치 (Peripheral)와 통신해야 하는 경우가 있을 때 고려되는 대표적인 옵션 중 하나다. 요즘에는 BLE (Bluetooth Low Energy) 프로토콜을 사용해서 저전력을 통해 효율적으로 통신할 수 있도록 지원한다. 블루투스는 버전과 사양에 따라서 다른 특징을 가지고 있다. 많은 버전이 있지만 이번 프로젝트에서 사용하게 될 4.1의 특징은 아래와 같다. Bluetooth 4.1 - Coexistence 향상 : 블루투스와 LTE 무선이 서로 통신 상태를 조정해 가까운 대역폭으로 인한 간섭 현상을 줄인다. - Better connections : 두 장치 간 거리가 멀어져 연결이 끊으지게 되면,..

[React Navigation] Deep Linking 적용

React Native의 Linking을 사용해 보고자 했지만, 공식 문서의 구체적이지 못한 설명과 URL을 직접 파싱해야 하는 등의 과정이 필요하여 확인해 보니, React Navigation에서 Deep Linking 기능을 제공해 줌. NavigationContainer의 lingking props에 linking에 관련된 설정을 전달해 주면 자동으로 처리해 주는 편리한 녀석. 각 OS별 (Android, IOS)로 추가적인 설정이 필요함. 설정 방안은 공식 문서에 잘 설명되어 있음. Deep Linking 설정 NavigationContainer에 linking prop을 설정해 주면, 들어오는 링크들을 쉽게 다룰 수 있도록 해 줌. 이 중에서 linking prop에서 2가지 중요한 proper..

[Docs] Testing

https://reactnative.dev/docs/testing-overview#mocking Testing · React Native This guide introduces React Native developers to the key concepts behind testing, how to write good tests, and what kinds of tests you can incorporate into your workflow. reactnative.dev 위 사이트의 내용을 번역하고 정리함. Unit tests 유닛 테스트는 코드의 개별 적인 기능이나 클래스처럼 가장 작은 부분을 담당한다. 테스트 되어야 하는 객체가 의존성을 가지고 있을 때, 종종 객체를 mock out 해야 할 필요가 있다..

React Native iOS 배포

1. 프로젝트 불러오기 2. 라이브러리 설치 npm i 3. Pod 설치 pod install 4. 시뮬레이터를 이용한 테스팅 npm run ios -- --simulator="iPhone 8" simulator 뒤의 인자는 사용 중이거나 이용 가능한 시뮬레이터의 기기를 적으면 됨. 5. 문제가 없다면 release 모드 배포 5-1) Xcode -> Window -> Organizer | Xcode 실행 5-2) Any Device 선택 | 배포 디바이스 설정 5-3) Product -> Archive | Archive 파일 생성 5-4) Distribute App -> App Store Connect -> Upload -> Signing | 앱 배포 (업로드 및 서명) 5-5) 업로드 완료 6. 업로..

React Native Firebase 설정 및 구글 로그인 연동 (iOS)

Firebase 설정 - rnfirebase.io/ React Native Firebase | React Native Firebase Welcome to React Native Firebase! To get started, you must first setup a Firebase project and install the "app" module. rnfirebase.io 위 사이트 내용을 따라하면 설정이 완료된다. 구글 로그인 연동 - github.com/react-native-google-signin/google-signin react-native-google-signin/google-signin Google Sign-in for your React Native applications. Contribu..

Cocoapods

React Native 개발 중 iOS의 경우 라이브러리 설치 후 pod install을 하라는 문구가 떴다. pod는 무엇이고 왜 해당 명령어를 치라고 하는가? Cocoapods - Xcode 프로젝트 (iOS, Mac OS)의 라이브러리 의존성 관리할 수 있게 해 주는 툴 - 프로젝트에 대한 의존성들이 Podfile에 명시되고, Cocoapods가 라이브러리들의 의존성을 관리하며, 소스코드로 fetch하여 linking 함. - 궁극적 목표는 프로젝트를 중심으로 써드파티 라이브러리들과 연동을 용이하게 하고 관리를 편하게 해 주는 것 설치 방법 sudo gem install cocoapods

React Native FCM 구축 (1)

Firebase 설정 1. Firebase module 설치 - npm install --save @react-native-firebase/app 2. 자격 증명 발급 - Android · 프로젝트 내 android 폴더 진입 (cd android) · ./gradlew signingReport 실행 · 여러 Variant 정보가 생성되는데, debug Variant의 SAH1를 복사하여 Firebase Project 생성 시 설정 (SHA1은 선택이지만 Dynamic Link 등의 기능을 사용하기 위해서는 설정해야 함) · google-services.json 파일이 생성되면 파일을 /android/app에 이동 3. Firebase 설정 · 프로젝트 레벨의 build.gradle 파일에 depende..