인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

강용석님의 프로필 이미지
강용석

작성한 질문수

배달앱 클론코딩 [with React Native]

react-native 문의 드립니다.

해결된 질문

작성

·

792

0

사용환경은 xcode 12.0 

react-native 0.67

> react-native init sampleProject

> cd sampleProject

> yarn add react-native-webview

> yarn add react-native-firebase 

> AppDelegate.m 제일 상단에 #import <Firebase.h> 추가

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

  >>\\ADD

  if ([FIRApp defaultApp] == nil) {

      [FIRApp configure];

    }

  >>\\ADD  

>  프로젝트 identity에 Bundle identifier 변경 

> cd ios

> pod install

> sampleProject.xcworkspace 열고

빌드시 아래와 같은 에러가 나타납니다.

이와 같은 에러때문에 수차례 반복해서 다른 프로젝트를 만들어도 항상 동일한 문제를 만나게 됩니다. 도와 주십시요.

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

무언가 두 번 중복돼서 설치된 것 같습니다.

pod deintegrate pod install

명령어 순서대로 입력해보세요.(ios 폴더 안에서)
강용석님의 프로필 이미지
강용석
질문자

xcode 닫고
rm -rf Podfile.lock
pod deintegrate
pod install 
다시 workspace xcode 로 오픈 후 빌드해도 동일합니다.

ㅠㅠ

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

명령어중에 어떤 순간부터 저 에러가 나는지 파악해보세요. 한번에 모든 걸 다 한 후 실행하지 마시고요.

강용석님의 프로필 이미지
강용석
질문자

네 고맙습니다. 여러방향에서 해보겠습니다. 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

어떤 명령어에서부터 에러가 나는지만 파악되면 그 뒤로는 그 명령어만 보면 돼서 쉽습니다.

강용석님의 프로필 이미지
강용석
질문자

workspace폴더를 삭제해서 다시 생성 후 해보니 다음과 같습니다.

1. #import <Firebase.h> => #import "Firebase.h"로 바꾸라고 해서 변경
2. RCT_EXPORT_METHOD(setCurrentScreen:(NSString *) screenName screenClass:(NSString *) screenClassOverriew) {

  RCTUnsafeExecuteOnMainQueueSync(^{

    [FIRAnalytics setScreenName:screenName screenClass:screenClassOverriew];//No known class method for selector 'setScreenName:screenClass:'

  });

}

[FIRAnalytics logEventWithName:kFIREventScreenView parameters: @{kFIRParameterScreenName: screenName}];
이렇게 하니 두번째 문제도 해결됬습니다.
하지만 이걸 해결하고 나면 위에 재정의되는 문제가 여전히 저를 괴롭히고 있네요..
혹시 몰라서 Pod Install목록을 첨부합니다.
react-native와 firebase버전의 호환성때문에 생기는 문제는 아니겠죠?
Auto-linking React Native modules for target `sampleProject`: RNFirebase and react-native-webview Analyzing dependencies Fetching podspec for `DoubleConversion` from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec` Fetching podspec for `RCT-Folly` from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec` Fetching podspec for `boost` from `../node_modules/react-native/third-party-podspecs/boost.podspec` Fetching podspec for `glog` from `../node_modules/react-native/third-party-podspecs/glog.podspec` Downloading dependencies Installing CocoaAsyncSocket (7.6.5) Installing DoubleConversion (1.1.6) Installing FBLazyVector (0.67.0) Installing FBReactNativeSpec (0.67.0) Installing Firebase (9.3.0) Installing FirebaseAnalytics (9.3.0) Installing FirebaseCore (9.3.0) Installing FirebaseCoreDiagnostics (9.3.0) Installing FirebaseCoreInternal (9.3.0) Installing FirebaseInstallations (9.3.0) Installing Flipper (0.99.0) Installing Flipper-Boost-iOSX (1.76.0.1.11) Installing Flipper-DoubleConversion (3.1.7) Installing Flipper-Fmt (7.1.7) Installing Flipper-Folly (2.6.7) Installing Flipper-Glog (0.3.6) Installing Flipper-PeerTalk (0.0.4) Installing Flipper-RSocket (1.4.3) Installing FlipperKit (0.99.0) Installing GoogleAppMeasurement (9.3.0) Installing GoogleDataTransport (9.1.4) Installing GoogleUtilities (7.7.0) Installing OpenSSL-Universal (1.1.180) Installing PromisesObjC (2.1.1) Installing RCT-Folly (2021.06.28.00-v2) Installing RCTRequired (0.67.0) Installing RCTTypeSafety (0.67.0) Installing RNFirebase (5.2.5) Installing React (0.67.0) Installing React-Core (0.67.0) Installing React-CoreModules (0.67.0) Installing React-RCTActionSheet (0.67.0) Installing React-RCTAnimation (0.67.0) Installing React-RCTBlob (0.67.0) Installing React-RCTImage (0.67.0) Installing React-RCTLinking (0.67.0) Installing React-RCTNetwork (0.67.0) Installing React-RCTSettings (0.67.0) Installing React-RCTText (0.67.0) Installing React-RCTVibration (0.67.0) Installing React-callinvoker (0.67.0) Installing React-cxxreact (0.67.0) Installing React-jsi (0.67.0) Installing React-jsiexecutor (0.67.0) Installing React-jsinspector (0.67.0) Installing React-logger (0.67.0) Installing React-perflogger (0.67.0) Installing React-runtimeexecutor (0.67.0) Installing ReactCommon (0.67.0) Installing Yoga (1.14.0) Installing YogaKit (1.18.1) Installing boost (1.76.0) Installing fmt (6.2.1) Installing glog (0.3.5) Installing libevent (2.1.12) Installing nanopb (2.30909.0) Installing react-native-webview (11.22.7) Generating Pods project #<Pod::Installer:0x00007f85e21ad2f8> Integrating client project [!] Please close any current Xcode sessions and use `sampleProject.xcworkspace` for this project from now on. Pod installation complete! There are 56 dependencies from the Podfile and 57 total pods installed.

 

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

지금에 와서야 깨달은 것이 있는데, react-native-firebase는 왜 설치하시나요?? 강좌에서 쓰는 라이브러리는 이게 아닙니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

https://rnfirebase.io/

여기가 최신입니다(강좌에서도 이걸 사용)

강용석님의 프로필 이미지
강용석
질문자

고맙습니다.  하나 하나 타박타박 진행해 보니 제가 app.js에서 import를 두번 한것도 이오류를 나게 하는 문제가 됬던것 같습니다. 끝까지 가르침을 주셔셔 고맙습니다. 지금은 빌드가 잘됩니다.

강용석님의 프로필 이미지
강용석
질문자

아 그리고 왜그런지 몰라도 저런 에러가 나서 이제야 원인을 파악했는데  PodFile에 use_modular_headers! 이걸 추가했더니 저런게 떠서 반나절은 날린듯 합니다. 저와 같이 삽질하시는분 안계셨으면 하네요.

강용석님의 프로필 이미지
강용석

작성한 질문수

질문하기