CocoaPods를 사용하지 않고 React Native 프로젝트를 Firebase와 연결
하고 싶은 일
ReactNative로 구축한 앱을 Firebase와 연계하고 싶습니다!
결국 DynamicLink를 사용하고 싶다는 이유입니다.
(DynamicLink 자체는 다른 기사에 쓰려고 생각한다)
그리고 이번에는 CocoaPods를 사용하지 않는다는 묶음이 있습니다. ← 이것 중요
보통 구구하면 pod install
를 겨우 죽을 정도로 나옵니다.
그러나! !
CocoaPods 넣으면 불필요한 의존성이 증가한다는 큰 단점이 있습니다.
그래도, yarn이나 npm라든지로 관리하고 있는 패키지의 의존관계가 조금이라도 이상하다고 ReactNative는 빌드로 곧 죽습니다만, CocoaPods 넣은 날에는 이미 릴리스 빌드는 30년 정도 걸립니다.
그래서 이번에는 CocoaPods를 사용하지 않고 firebase와 연계합니다.
(Firebase의 공식에서는 추천은 pod install
아래 준비
react-native init
에서 react-native run-ios
에서 빌드 성공을 확인한 프로젝트를 준비했습니다.
↓ 아무것도 없는 사람은 이 기사의 순서로 만들어 보세요. 이것이 계속됩니다.
htps : // 코 m / 우미 보 ws / ms / 175 066c1259 f4b0158
아래와 같은 화면이 나옵니다.
협력 절차
ht tp // 렌노스케씨. 하테나 bぉg. 코m/엔트리/2018/05/29/235733
↑기본적으로는 이 사이트의 순서로 OK!
다만, 모두 말합니다만 CocoaPods는 사용하지 않습니다! 그래서
firebase 콘솔에서 설정하는 동안이 "firebase SDK 추가"는 수동으로 수행됩니다.
htps : // 푹 빠져라. 오, ぇ. 코 m / 두 cs / 이오 s / 세츠 p
1. 먼저 ↑에서 SDK를 zip으로 다운로드하여 배포
2. 펼친 "Firebase"라는 폴더를 아래 xcode 사이드바의 프로젝트 파일 바로 아래로 드래그 앤 드롭
3. 아래와 같은 화면이 나오므로 체크를 이 이미지와 같이 붙여 Finish한다
(자신은 추가한 framework의 파일군을 git에 올리고 싶었기 때문에 이렇게 했지만, 기호로, create folder reference에 체크해도 좋다고 생각한다. 하지만, search path를 정비할 필요가 생긴다)
이 상태라면 링크가 잘 되지 않아 빌드가 실패합니다.
4. 프로젝트 파일의 General → linked frameworks and libraries → +를 클릭 → Add Other → Firebase 폴더에서 필요한 라이브러리를 모두 선택하고 open
5. AppDelegate.m
에 #import "Firebase.h"
추가 (firebase 콘솔에서는 @import Firebase;
6. AppDelegate.m
의 didFinishLaunchingWithOptions 안에 [FIRApp configure];
추가 (이것은 콘솔의 지시대로 OK)
AppDelegate.m#import "AppDelegate.h"
#import "Firebase.h" <--------追記
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
[FIRApp configure]; <--------追記
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"AwesomeApp"
initialProperties:nil
launchOptions:launchOptions];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
return YES;
}
@end
여기까지 제대로 들어가면 콘솔의 마지막 설정으로 아래와 같이 제휴 완료할 것! !
덧붙여서, 수동으로 연계하고 있으므로, 빌드하려고 하면 Linking library: Mach-O linker error
가 나올지도 모른다.
「〇〇 from reference」와 같은 에러 메시지라면, General →Linked Frameworks and Libraries로부터 필요한 라이브러리를 추가하면 낫다.
아래의 경우, StoreKit.framework와 libsqlite3.0.tbd, WebKit.framework 넣으면 치료
참고로 한 페이지
htps : // 푹 빠져라. 오, ぇ. 코 m / 두 cs / 이오 s / 세츠 p
ht tp // 렌노스케씨. 하테나 bぉg. 코m/엔트리/2018/05/29/235733
htp // 우토우 g. 이오 / 2016/07/14/
htps : // / yyp t. 코 m/두쿠멘 ts/2016/09/18/x
h tp // w w. 모카코 g. 이 m / b ぉ g / 싯 친 g ぃ
Reference
이 문제에 관하여(CocoaPods를 사용하지 않고 React Native 프로젝트를 Firebase와 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Umibows/items/11c374c9025b57f96472
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
react-native init
에서 react-native run-ios
에서 빌드 성공을 확인한 프로젝트를 준비했습니다.↓ 아무것도 없는 사람은 이 기사의 순서로 만들어 보세요. 이것이 계속됩니다.
htps : // 코 m / 우미 보 ws / ms / 175 066c1259 f4b0158
아래와 같은 화면이 나옵니다.
협력 절차
ht tp // 렌노스케씨. 하테나 bぉg. 코m/엔트리/2018/05/29/235733
↑기본적으로는 이 사이트의 순서로 OK!
다만, 모두 말합니다만 CocoaPods는 사용하지 않습니다! 그래서
firebase 콘솔에서 설정하는 동안이 "firebase SDK 추가"는 수동으로 수행됩니다.
htps : // 푹 빠져라. 오, ぇ. 코 m / 두 cs / 이오 s / 세츠 p
1. 먼저 ↑에서 SDK를 zip으로 다운로드하여 배포
2. 펼친 "Firebase"라는 폴더를 아래 xcode 사이드바의 프로젝트 파일 바로 아래로 드래그 앤 드롭
3. 아래와 같은 화면이 나오므로 체크를 이 이미지와 같이 붙여 Finish한다
(자신은 추가한 framework의 파일군을 git에 올리고 싶었기 때문에 이렇게 했지만, 기호로, create folder reference에 체크해도 좋다고 생각한다. 하지만, search path를 정비할 필요가 생긴다)
이 상태라면 링크가 잘 되지 않아 빌드가 실패합니다.
4. 프로젝트 파일의 General → linked frameworks and libraries → +를 클릭 → Add Other → Firebase 폴더에서 필요한 라이브러리를 모두 선택하고 open
5. AppDelegate.m
에 #import "Firebase.h"
추가 (firebase 콘솔에서는 @import Firebase;
6. AppDelegate.m
의 didFinishLaunchingWithOptions 안에 [FIRApp configure];
추가 (이것은 콘솔의 지시대로 OK)
AppDelegate.m#import "AppDelegate.h"
#import "Firebase.h" <--------追記
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
[FIRApp configure]; <--------追記
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"AwesomeApp"
initialProperties:nil
launchOptions:launchOptions];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
return YES;
}
@end
여기까지 제대로 들어가면 콘솔의 마지막 설정으로 아래와 같이 제휴 완료할 것! !
덧붙여서, 수동으로 연계하고 있으므로, 빌드하려고 하면 Linking library: Mach-O linker error
가 나올지도 모른다.
「〇〇 from reference」와 같은 에러 메시지라면, General →Linked Frameworks and Libraries로부터 필요한 라이브러리를 추가하면 낫다.
아래의 경우, StoreKit.framework와 libsqlite3.0.tbd, WebKit.framework 넣으면 치료
참고로 한 페이지
htps : // 푹 빠져라. 오, ぇ. 코 m / 두 cs / 이오 s / 세츠 p
ht tp // 렌노스케씨. 하테나 bぉg. 코m/엔트리/2018/05/29/235733
htp // 우토우 g. 이오 / 2016/07/14/
htps : // / yyp t. 코 m/두쿠멘 ts/2016/09/18/x
h tp // w w. 모카코 g. 이 m / b ぉ g / 싯 친 g ぃ
Reference
이 문제에 관하여(CocoaPods를 사용하지 않고 React Native 프로젝트를 Firebase와 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Umibows/items/11c374c9025b57f96472
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#import "AppDelegate.h"
#import "Firebase.h" <--------追記
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
[FIRApp configure]; <--------追記
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"AwesomeApp"
initialProperties:nil
launchOptions:launchOptions];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
return YES;
}
@end
htps : // 푹 빠져라. 오, ぇ. 코 m / 두 cs / 이오 s / 세츠 p
ht tp // 렌노스케씨. 하테나 bぉg. 코m/엔트리/2018/05/29/235733
htp // 우토우 g. 이오 / 2016/07/14/
htps : // / yyp t. 코 m/두쿠멘 ts/2016/09/18/x
h tp // w w. 모카코 g. 이 m / b ぉ g / 싯 친 g ぃ
Reference
이 문제에 관하여(CocoaPods를 사용하지 않고 React Native 프로젝트를 Firebase와 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Umibows/items/11c374c9025b57f96472텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)