GithubHelp home page GithubHelp logo

rnfbdemo's Introduction

rnfb-demo

Demonstrator App for react-native-firebase - reasonably up to date with current stable versions

Install / use

Windows pre-install steps

Maintaining the script for both a Unix-style and non-Unix-style is not feasible with time available. So the way to run this on Windows is to make Windows behave more Unix-style.

  1. Install "WSL" - the Windows Subsystem For Linux (Ubuntu 20LTS flavor)
  2. Open your Ubuntu WSL shell and install the Node Version Manager / "nvm"
  3. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash

macOS / Linux (developed on Ubuntu 20) / Windows WSL steps

  1. Fork and clone the repo
  2. Make sure yarn is installed (npm i -g yarn)
  3. Do the various Config section steps below
  4. run make-demo.sh

One-time Configuration steps

Firebase Config

Go to the Firebase Console, create a new project, and set up demo apps

  1. Android package name must be 'com.rnfbdemo'
  2. iOS bundle name must be 'com.rnfbdemo'
  3. Download / install the google-services.json for your new rnfbdemo android app to the root of this repo (it will be copied into place)
  4. Drop the Google-services.plist file the root of this repo (it will be copied in to place)

Apple Developer Config

To test remote notifications while offline, you'll have to do a lot of Apple setup. I'm not going to help anyone with this, sorry, but here are the requirements:

  1. You must have an developer account with apple
  2. You will need to configure a push notification certificate and key
  3. You will need a provisioning profile with background-fetch and push notifications entitlements
  4. You will need to add that push notification key to your firebase cloud messaging configuration
  5. You might want to make an actual test application so you can distribute it with testflight to test things
  6. You will have to do all that yourself. Maybe create wiki pages in this project to share tips, but Apple/XCode/iOS profile / cert / entitlements issues are not issues for this repo

Current status

Currently this repo demonstrates:

  1. How to correctly install and link the most popular modules in a react-native-firebase project
  2. Has a very basic App.js that just shows they were installed correctly so you can see the app boots and loads native modules

...and that's it for now, but it's enough to show the basics on what you need to do to integrate react-native-firebase with your project

rnfbdemo's People

Contributors

helenaford avatar mikehardy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

rnfbdemo's Issues

Is it Ok to have a duplicate entry for org.gradle.jvmargs?

Thank you very much for this very informative script. I noticed that you add org.gradle.jvmargs statement, instead of updating the existing one. Is this Ok? I mean the following statements.

echo "Increasing memory available to gradle for android java build"
echo "org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8" >> android/gradle.properties```

compilation failed

> pod install [Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json Analyzing dependencies Fetching podspec for DoubleConversionfrom../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec[Codegen] Found FBReactNativeSpec Fetching podspec forRCT-Follyfrom../node_modules/react-native/third-party-podspecs/RCT-Folly.podspecFetching podspec forboostfrom../node_modules/react-native/third-party-podspecs/boost.podspecFetching podspec forglogfrom../node_modules/react-native/third-party-podspecs/glog.podspec`
Downloading dependencies
Installing CocoaAsyncSocket (7.6.5)
Installing DoubleConversion (1.1.6)
Installing FBLazyVector (0.69.1)
Installing FBReactNativeSpec (0.69.1)
Installing Flipper (0.125.0)
Installing Flipper-Boost-iOSX (1.76.0.1.11)
Installing Flipper-DoubleConversion (3.2.0.1)
Installing Flipper-Fmt (7.1.7)
Installing Flipper-Folly (2.6.10)
Installing Flipper-Glog (0.5.0.5)
Installing Flipper-PeerTalk (0.0.4)
Installing Flipper-RSocket (1.4.3)
Installing FlipperKit (0.125.0)
Installing OpenSSL-Universal (1.1.1100)
Installing RCT-Folly (2021.06.28.00-v2)
Installing RCTRequired (0.69.1)
Installing RCTTypeSafety (0.69.1)
Installing React (0.69.1)
Installing React-Codegen (0.69.1)
Installing React-Core (0.69.1)
Installing React-CoreModules (0.69.1)
Installing React-RCTActionSheet (0.69.1)
Installing React-RCTAnimation (0.69.1)
Installing React-RCTBlob (0.69.1)
Installing React-RCTImage (0.69.1)
Installing React-RCTLinking (0.69.1)
Installing React-RCTNetwork (0.69.1)
Installing React-RCTSettings (0.69.1)
Installing React-RCTText (0.69.1)
Installing React-RCTVibration (0.69.1)
Installing React-bridging (0.69.1)
Installing React-callinvoker (0.69.1)
Installing React-cxxreact (0.69.1)
Installing React-jsi (0.69.1)
Installing React-jsiexecutor (0.69.1)
Installing React-jsinspector (0.69.1)
Installing React-logger (0.69.1)
Installing React-perflogger (0.69.1)
Installing React-runtimeexecutor (0.69.1)
Installing ReactCommon (0.69.1)
Installing SocketRocket (0.6.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)
Generating Pods project
/Users/jayant/Src/rnfbdemo/rnfbdemo/ios/Pods/Target Support Files/Pods-rnfbdemo/Pods-rnfbdemo.release.xcconfig
/Users/jayant/Src/rnfbdemo/rnfbdemo/ios/Pods/Target Support Files/Pods-rnfbdemo/Pods-rnfbdemo.debug.xcconfig
/Users/jayant/Src/rnfbdemo/rnfbdemo/ios/Pods/Target Support Files/Pods-rnfbdemo-rnfbdemoTests/Pods-rnfbdemo-rnfbdemoTests.release.xcconfig
/Users/jayant/Src/rnfbdemo/rnfbdemo/ios/Pods/Target Support Files/Pods-rnfbdemo-rnfbdemoTests/Pods-rnfbdemo-rnfbdemoTests.debug.xcconfig
Setting REACT_NATIVE build settings
Integrating client project

[!] Please close any current Xcode sessions and use rnfbdemo.xcworkspace for this project from now on.
Pod installation complete! There are 56 dependencies from the Podfile and 47 total pods installed.

A new version of pod-install is available
You can update by running: npm i -g pod-install

Adding react-native-firebase core app package
[1/4] πŸ” Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] πŸ”— Linking dependencies...
warning "react-native > [email protected]" has incorrect peer dependency "react@^16.0.0 || ^17.0.0".
warning "react-native > react-native-codegen > [email protected]" has unmet peer dependency "@babel/preset-env@^7.1.6".
warning "@react-native-community/eslint-config > @typescript-eslint/eslint-plugin > [email protected]" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
[4/4] πŸ”¨ Building fresh packages...
success Saved lockfile.
success Saved 24 new dependencies.
info Direct dependencies
└─ @react-native-firebase/[email protected]
info All dependencies
β”œβ”€ @expo/[email protected]
β”œβ”€ @expo/[email protected]
β”œβ”€ @expo/[email protected]
β”œβ”€ @expo/[email protected]
β”œβ”€ @expo/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @xmldom/[email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
└─ [email protected]
Adding basic iOS integration - AppDelegate import and config call
Adding basic java integration - gradle plugin dependency and call
Adding upstream SDK overrides for precise version control
For this demo to work, you must create an rnfbdemo project in your firebase console,
then download the android json and iOS plist app definition files to the root directory
of this repository
Copying in Firebase android json and iOS plist app definition files downloaded from console
Setting up python virtual environment + mod-pbxproj for Xcode project edits
Collecting pbxproj
Using cached pbxproj-3.4.0-py3-none-any.whl (40 kB)
Collecting docopt
Using cached docopt-0.6.2.tar.gz (25 kB)
Preparing metadata (setup.py) ... done
Collecting openstep-parser>=1.5.1
Using cached openstep_parser-1.5.3-py3-none-any.whl (4.5 kB)
Using legacy 'setup.py install' for docopt, since package 'wheel' is not installed.
Installing collected packages: openstep-parser, docopt, pbxproj
Running setup.py install for docopt ... done
Successfully installed docopt-0.6.2 openstep-parser-1.5.3 pbxproj-3.4.0
WARNING: There was an error checking the latest version of pip.
File added to the project.
1 PBXBuildFile sections created.
Flags added successfully.
Adding packages: Analytics, App Check, Auth, Database, Dynamic Links, Firestore, Functions, In App Messaging, Installations, Messaging, ML, Remote Config, Storage
[1/4] πŸ” Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] πŸ”— Linking dependencies...
warning "react-native > [email protected]" has incorrect peer dependency "react@^16.0.0 || ^17.0.0".
warning "react-native > react-native-codegen > [email protected]" has unmet peer dependency "@babel/preset-env@^7.1.6".
warning "@react-native-community/eslint-config > @typescript-eslint/eslint-plugin > [email protected]" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
[4/4] πŸ”¨ Building fresh packages...
success Saved lockfile.
success Saved 12 new dependencies.
info Direct dependencies
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
└─ @react-native-firebase/[email protected]
info All dependencies
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ @react-native-firebase/[email protected]
└─ @react-native-firebase/[email protected]
Setting up Crashlytics - package, gradle plugin
[1/4] πŸ” Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] πŸ”— Linking dependencies...
warning "react-native > [email protected]" has incorrect peer dependency "react@^16.0.0 || ^17.0.0".
warning "react-native > react-native-codegen > [email protected]" has unmet peer dependency "@babel/preset-env@^7.1.6".
warning "@react-native-community/eslint-config > @typescript-eslint/eslint-plugin > [email protected]" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
[4/4] πŸ”¨ Building fresh packages...
success Saved lockfile.
success Saved 4 new dependencies.
info Direct dependencies
└─ @react-native-firebase/[email protected]
info All dependencies
β”œβ”€ @react-native-firebase/[email protected]
β”œβ”€ [email protected]
β”œβ”€ [email protected]
└─ [email protected]
Setting up Performance - package, gradle plugin
[1/4] πŸ” Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] πŸ”— Linking dependencies...
warning "react-native > [email protected]" has incorrect peer dependency "react@^16.0.0 || ^17.0.0".
warning "react-native > react-native-codegen > [email protected]" has unmet peer dependency "@babel/preset-env@^7.1.6".
warning "@react-native-community/eslint-config > @typescript-eslint/eslint-plugin > [email protected]" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
[4/4] πŸ”¨ Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
└─ @react-native-firebase/[email protected]
info All dependencies
└─ @react-native-firebase/[email protected]
Setting up Crashlytics - package, gradle plugin
[1/4] πŸ” Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] πŸ”— Linking dependencies...
warning "react-native > [email protected]" has incorrect peer dependency "react@^16.0.0 || ^17.0.0".
warning "react-native > react-native-codegen > [email protected]" has unmet peer dependency "@babel/preset-env@^7.1.6".
warning "@react-native-community/eslint-config > @typescript-eslint/eslint-plugin > [email protected]" has unmet peer dependency "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
[4/4] πŸ”¨ Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
└─ @react-native-firebase/[email protected]
info All dependencies
└─ @react-native-firebase/[email protected]
Creating default firebase.json (with settings that allow iOS crashlytics to report crashes even in debug mode)
Copying demonstrator App.js
Increasing memory available to gradle for android java build
Running any patches necessary to compile successfully
patch-package 6.4.7
Applying patches...
No patch files found
Installing pods and running iOS app in debug mode
Scanning for pods...
Ignoring digest-crc-0.6.3 because its extensions are not built. Try: gem pristine digest-crc --version 0.6.3
1.11.3

pod install
RNFBAnalytics: Using default Firebase/Analytics with Ad Ids. May require App Tracking Transparency. Not allowed for Kids apps.
RNFBAnalytics: You may set variable $RNFirebaseAnalyticsWithoutAdIdSupport=true in Podfile to use analytics without ad ids.
Using firebase.json from '/Users/jayant/Src/rnfbdemo/rnfbdemo/firebase.json'
Adding a custom script phase for Pod RNFBApp: [RNFB] Core Configuration
Adding a custom script phase for Pod RNFBCrashlytics: [RNFB] Crashlytics Configuration
Auto-linking React Native modules for target rnfbdemo: RNFBAnalytics, RNFBApp, RNFBAppCheck, RNFBAppDistribution, RNFBAuth, RNFBCrashlytics, RNFBDatabase, RNFBDynamicLinks, RNFBFirestore, RNFBFunctions, RNFBInAppMessaging, RNFBInstallations, RNFBMessaging, RNFBPerf, RNFBRemoteConfig, and RNFBStorage
[Codegen] Generating ./build/generated/ios/React-Codegen.podspec.json
Analyzing dependencies
[Codegen] Found FBReactNativeSpec
RNFBAnalytics: Using user specified Firebase SDK version '9.3.0'
RNFBAnalytics: Using default Firebase/Analytics with Ad Ids. May require App Tracking Transparency. Not allowed for Kids apps.
RNFBAnalytics: You may set variable $RNFirebaseAnalyticsWithoutAdIdSupport=true in Podfile to use analytics without ad ids.
RNFBAnalytics: Using overridden static_framework value of 'true'
RNFBApp: Using user specified Firebase SDK version '9.3.0'
RNFBApp: Using overridden static_framework value of 'true'
RNFBAppCheck: Using user specified Firebase SDK version '9.3.0'
RNFBAppCheck: Using overridden static_framework value of 'true'
RNFBAppDistribution: Using user specified Firebase SDK version '9.3.0'
RNFBAppDistribution: Using overridden static_framework value of 'true'
RNFBAuth: Using user specified Firebase SDK version '9.3.0'
RNFBAuth: Using overridden static_framework value of 'true'
RNFBCrashlytics: Using user specified Firebase SDK version '9.3.0'
RNFBCrashlytics: Using overridden static_framework value of 'true'
RNFBDatabase: Using user specified Firebase SDK version '9.3.0'
RNFBDatabase: Using overridden static_framework value of 'true'
RNFBDynamicLinks: Using user specified Firebase SDK version '9.3.0'
RNFBDynamicLinks: Using overridden static_framework value of 'true'
RNFBFirestore: Using user specified Firebase SDK version '9.3.0'
RNFBFirestore: Using overridden static_framework value of 'true'
RNFBFunctions: Using user specified Firebase SDK version '9.3.0'
RNFBFunctions: Using overridden static_framework value of 'true'
RNFBInAppMessaging: Using user specified Firebase SDK version '9.3.0'
RNFBInAppMessaging: Using overridden static_framework value of 'true'
RNFBInstallations: Using user specified Firebase SDK version '9.3.0'
RNFBInstallations: Using overridden static_framework value of 'true'
RNFBMessaging: Using user specified Firebase SDK version '9.3.0'
RNFBMessaging: Using overridden static_framework value of 'true'
RNFBPerf: Using user specified Firebase SDK version '9.3.0'
RNFBPerf: Using overridden static_framework value of 'true'
RNFBRemoteConfig: Using user specified Firebase SDK version '9.3.0'
RNFBRemoteConfig: Using overridden static_framework value of 'true'
RNFBStorage: Using user specified Firebase SDK version '9.3.0'
RNFBStorage: Using overridden static_framework value of 'true'
Downloading dependencies
Installing BoringSSL-GRPC (0.0.24)
Installing Firebase (9.3.0)
Installing FirebaseABTesting (9.3.0)
Installing FirebaseAnalytics (9.3.0)
Installing FirebaseAppCheck (9.3.0)
Installing FirebaseAppCheckInterop (9.3.0)
Installing FirebaseAppDistribution (9.3.0-beta)
Installing FirebaseAuth (9.3.0)
Installing FirebaseAuthInterop (9.3.0)
Installing FirebaseCore (9.3.0)
Installing FirebaseCoreDiagnostics (9.3.0)
Installing FirebaseCoreExtension (9.3.0)
Installing FirebaseCoreInternal (9.3.0)
Installing FirebaseCrashlytics (9.3.0)
Installing FirebaseDatabase (9.3.0)
Installing FirebaseDynamicLinks (9.3.0)
Installing FirebaseFirestore (9.3.0)
Installing FirebaseFunctions (9.3.0)
Installing FirebaseInAppMessaging (9.3.0-beta)
Installing FirebaseInstallations (9.3.0)
Installing FirebaseMessaging (9.3.0)
Installing FirebaseMessagingInterop (9.3.0)
Installing FirebasePerformance (9.3.0)
Installing FirebaseRemoteConfig (9.3.0)
Installing FirebaseSharedSwift (9.3.0)
Installing FirebaseStorage (9.3.0)
Installing FirebaseStorageInternal (9.3.0)
Installing GTMSessionFetcher (2.0.0)
Installing GoogleAppMeasurement (9.3.0)
Installing GoogleDataTransport (9.1.4)
Installing GoogleUtilities (7.7.0)
Installing Libuv-gRPC (0.0.10)
Installing PromisesObjC (2.1.1)
Installing RNFBAnalytics (15.2.0)
Installing RNFBApp (15.2.0)
Installing RNFBAppCheck (15.2.0)
Installing RNFBAppDistribution (15.2.0)
Installing RNFBAuth (15.2.0)
Installing RNFBCrashlytics (15.2.0)
Installing RNFBDatabase (15.2.0)
Installing RNFBDynamicLinks (15.2.0)
Installing RNFBFirestore (15.2.0)
Installing RNFBFunctions (15.2.0)
Installing RNFBInAppMessaging (15.2.0)
Installing RNFBInstallations (15.2.0)
Installing RNFBMessaging (15.2.0)
Installing RNFBPerf (15.2.0)
Installing RNFBRemoteConfig (15.2.0)
Installing RNFBStorage (15.2.0)
Installing abseil (1.20211102.0)
Installing gRPC-C++ (1.44.0)
Installing gRPC-Core (1.44.0)
Installing leveldb-library (1.22.1)
Installing nanopb (2.30909.0)
Removing CocoaAsyncSocket
Removing Flipper
Removing Flipper-Boost-iOSX
Removing Flipper-DoubleConversion
Removing Flipper-Fmt
Removing Flipper-Folly
Removing Flipper-Glog
Removing Flipper-PeerTalk
Removing Flipper-RSocket
Removing FlipperKit
Removing OpenSSL-Universal
Removing SocketRocket
Removing YogaKit
Removing libevent
Generating Pods project
/Users/jayant/Src/rnfbdemo/rnfbdemo/ios/Pods/Target Support Files/Pods-rnfbdemo/Pods-rnfbdemo.release.xcconfig
/Users/jayant/Src/rnfbdemo/rnfbdemo/ios/Pods/Target Support Files/Pods-rnfbdemo/Pods-rnfbdemo.debug.xcconfig
/Users/jayant/Src/rnfbdemo/rnfbdemo/ios/Pods/Target Support Files/Pods-rnfbdemo-rnfbdemoTests/Pods-rnfbdemo-rnfbdemoTests.release.xcconfig
/Users/jayant/Src/rnfbdemo/rnfbdemo/ios/Pods/Target Support Files/Pods-rnfbdemo-rnfbdemoTests/Pods-rnfbdemo-rnfbdemoTests.debug.xcconfig
Setting REACT_NATIVE build settings
Integrating client project
Pod installation complete! There are 50 dependencies from the Podfile and 87 total pods installed.

A new version of pod-install is available
You can update by running: npm i -g pod-install

info Found Xcode workspace "rnfbdemo.xcworkspace"
info Building (using "xcodebuild -workspace rnfbdemo.xcworkspace -configuration Debug -scheme rnfbdemo -destination id=8BD5E894-0DCF-4848-8632-D907A8477D96")
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'Yoga' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'leveldb-library' from project 'Pods')
β–Έ Copying env.h
β–Έ Copying glog-umbrella.h
β–Έ Copying fmt-umbrella.h
β–Έ Copying abseil-umbrella.h
β–Έ Copying Libuv-gRPC-umbrella.h
β–Έ Copying FirebaseSharedSwift-umbrella.h
β–Έ Copying DoubleConversion-umbrella.h
β–Έ Copying bignum-dtoa.h
β–Έ Copying bignum.h
β–Έ Copying ieee.h
β–Έ Copying double-conversion.h
β–Έ Copying fast-dtoa.h
β–Έ Copying diy-fp.h
β–Έ Copying fixed-dtoa.h
β–Έ Copying strtod.h
β–Έ Copying cached-powers.h
β–Έ Copying FirebaseAppCheckInterop-umbrella.h
β–Έ Copying FIRAppCheckTokenResultInterop.h
β–Έ Copying FIRAppCheckInterop.h
β–Έ Copying utils.h
β–Έ Copying pb_decode.h
β–Έ Copying BitUtils.h
β–Έ Copying BridgeNativeModulePerfLogger.h
β–Έ Copying InspectorInterfaces.h
β–Έ Copying FBLPromise+All.h
β–Έ Copying GTMSessionFetcherService.h
β–Έ Copying FirebaseAuthInterop-umbrella.h
β–Έ Copying FIRMessagingInterop.h
β–Έ Compiling DoubleConversion_vers.c

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling bignum-dtoa.cc

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling bignum.cc

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling DoubleConversion-dummy.m

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling fast-dtoa.cc

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling double-conversion.cc

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling cached-powers.cc

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling FirebaseAppCheckInterop_vers.c

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling dummy.m

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling FirebaseAppCheckInterop-dummy.m

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

β–Έ Compiling strtod.cc

❌ fatal error: module map file '/Users/jayant/Library/Developer/Xcode/DerivedData/JinKinShopping-fnqaveehuqbxsjgkvblyzkpmeifd/Build/Products/Debug-iphonesimulator/FirebaseCoreInternal/FirebaseCoreInternal.modulemap' not found

Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseInstallations' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseStorageInternal' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseCore' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBAnalytics' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-RCTVibration' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-logger' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBMessaging' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-RCTText' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseAppCheck' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBCrashlytics' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseFirestore' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBInAppMessaging' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebasePerformance' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-RCTNetwork' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseCrashlytics' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseDatabase' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseDynamicLinks' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-RCTSettings' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBAuth' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RCT-Folly' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBDynamicLinks' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBPerf' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-RCTAnimation' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBApp' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RCTTypeSafety' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseAppDistribution' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-RCTImage' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-Codegen' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseMessaging' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'gRPC-Core' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBFirestore' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseCoreDiagnostics' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBRemoteConfig' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseABTesting' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBInstallations' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseCoreExtension' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-CoreModules' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBAppCheck' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-RCTLinking' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseCoreInternal' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'GoogleDataTransport' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseAuth' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBFunctions' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBStorage' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBAppDistribution' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'ReactCommon' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-RCTBlob' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseFunctions' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'GoogleUtilities' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'RNFBDatabase' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-Core' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-jsiexecutor' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseInAppMessaging' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-cxxreact' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseRemoteConfig' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-jsi' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseStorage' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-bridging' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'gRPC-C++' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'nanopb' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-perflogger' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'React-jsinspector' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'PromisesObjC' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'BoringSSL-GRPC' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseSharedSwift' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'GTMSessionFetcher' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseAppCheckInterop' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseMessagingInterop' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'FirebaseAuthInterop' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'DoubleConversion' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'glog' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'fmt' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'abseil' from project 'Pods')
Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'Libuv-gRPC' from project 'Pods')

error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening rnfbdemo.xcworkspace.
`

React Native macCatalyst

First of all great work and I really appreciate all the hard work you and your team have put into this.

I like to know if there is a clean version of this script. I would like to run React Native as macCatalyst without the firebase? Also when I run the build I get error that firebase.h file is missing. Is this something I have to add manually. Last question are there any plans that this will be part of React Native main branch and included in their 0.70 or later release or will it be a separate project.

A little question about jetifier

I get some problems on CI (Bitrise) during build with RN 0.61.5 and RNFirebase 5x, like the following:

> Task :react-native-firebase:compileReleaseJavaWithJavac FAILED
/Users/luciano/projetos/app/sanarflix-app-v2/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/React
NativeFirebaseAppRegistrar.java:20: error: package android.support.annotation does not exist
import android.support.annotation.Keep;

Looking here, I see that you call npx jetifier before the gradle build.
Is this required with RNFirebase 5x? Shouldn't RN 0.60+ run jetifier automatically?
It's only to understand.

Should the Android-statement be outside the iOS section?

I wonder if the following statement should be moved after the "fi" statement.

  # workaround for poorly setup Android SDK environments
  USER=$(whoami)
  echo "sdk.dir=/Users/$USER/Library/Android/sdk" > android/local.properties
fi

for anyone having problems using JDK 17 "MaxPermSize=1024m"

Thanks so much for such an amazing script mike! Sorry if this is a bad place to put this. Thought I'd put this here to maybe help someone else out. (probably a dirty workaround though)

if you are using jdk 17 and getting errors about MaxPermSize=1024m -- Just deleting that line made it build for me.

echo "org.gradle.jvmargs=-Xmx3072m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8" >> android/gradle.properties
to
echo "org.gradle.jvmargs=-Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8" >> android/gradle.properties

stacktrace for googlers:
FAILURE: Build failed with an exception.

  • What went wrong:
    Unable to start the daemon process.
    This problem might be caused by incorrect configuration of the daemon.
    For example, an unrecognized jvm option is used.
    Please refer to the User Manual chapter on the daemon at https://docs.gradle.org/7.5.1/userguide/gradle_daemon.html
    Process command line: /usr/lib/jvm/java-17-openjdk-17.0.6.0.10-1.fc37.x86_64/bin/java -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED --add-opens java.prefs/java.util.prefs=ALL-UNNAMED --add-opens java.base/java.nio.charset=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED -Xmx3072m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /home/data2/.gradle/wrapper/dists/gradle-7.5.1-all/1ehga6e77gqps5uk2kc5kf1vc/gradle-7.5.1/lib/gradle-launcher-7.5.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 7.5.1
    Please read the following process output to find out more:

Unrecognized VM option 'MaxPermSize=1024m'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Building iOS to a real device fails

When building the rnfbdemo project to real iOS device it fails with the below error

Link folly
ld: -U and -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES) cannot be used together
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Getting LoadError while running make-demo.sh on M1

Thank you for creating this repo that have seem to helped many.

Issue

getting following error while running ./make-demo.sh on M1

failed while trying to run /usr/local/Cellar/cocoapods/1.11.3/libexec/bin/pod install --repo-update --ansi

LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle, 0x0009): tried: '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture (have (arm64), need (x86_64))) - /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:5:in `rescue in <top (required)>'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:2:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/ethon-0.15.0/lib/ethon.rb:3:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:440:in `download_typhoeus_impl_async'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:372:in `download_and_save_with_retries_async'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:365:in `download_file_async'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:338:in `download_file'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:78:in `deprecated_local_podspecs'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:60:in `preheat_existing_files'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-core-1.11.3/lib/cocoapods-core/cdn_source.rb:257:in `update'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/sources_manager.rb:144:in `block (3 levels) in update'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/sources_manager.rb:143:in `block (2 levels) in update'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/sources_manager.rb:142:in `each'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/sources_manager.rb:142:in `block in update'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/sources_manager.rb:140:in `open'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/sources_manager.rb:140:in `update'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:145:in `block in update_repositories'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:143:in `each'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer/analyzer.rb:143:in `update_repositories'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:237:in `block in resolve_dependencies'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/user_interface.rb:64:in `section'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:236:in `resolve_dependencies'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/installer.rb:161:in `install!'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/command/install.rb:52:in `run'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/lib/cocoapods/command.rb:52:in `run'
/usr/local/Cellar/cocoapods/1.11.3/libexec/gems/cocoapods-1.11.3/bin/pod:55:in `<top (required)>'
/usr/local/Cellar/cocoapods/1.11.3/libexec/bin/pod:23:in `load'
/usr/local/Cellar/cocoapods/1.11.3/libexec/bin/pod:23:in `<main>'

How to reproduce/ I got the error

I probably missed some steps, since you said that you have ran it on M1 macs.

  1. clone repo
  2. run make-demo.sh

Tried

  • sudo gem install ffi as suggested in many SO answers
  • opening terminal with rosetta as described in this SO answer

Environment

  • Apple M1 Pro
  • CocoaPods : 1.11.3
  • Ruby : ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.x86_64-darwin21]
  • RubyGems : 3.0.3.1
  • Host : macOS 12.6
  • Xcode : 14.0.1
  • Git : git version 2.36.0

If it helps: The reason I am trying to get this repo running is because I am getting the "Module 'FirebaseCore' not found" error and saw your reply suggesting to run this repo to compare the pod files.

Thank you again!

Unhandled promise rejection (calling firebase.messaging()) [ANDROID]

Hello! I'm trying to get firebase messaging to work correctly and copied the dependencies from your android/ directory to the project I'm working on. All I added is implementation "com.google.firebase:firebase-messaging:+" in the app's build.gradle. I have also the line googleServices { disableVersionCheck = true } at the end.

The + is for example of course and I tried different versions. For the versions 17.0.0 to 17.5.0 I get build problems like:

* What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.
> 1 exception was raised by workers:
  java.lang.RuntimeException: Duplicate class com.google.android.gms.internal.firebase_messaging.zzn found in modules classes.jar (com.google.firebase:firebase-iid:19.0.0) and classes.jar (com.google.firebase:firebase-messaging:17.5.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzo found in modules classes.jar (com.google.firebase:firebase-iid:19.0.0) and classes.jar (com.google.firebase:firebase-messaging:17.5.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzp found in modules classes.jar (com.google.firebase:firebase-iid:19.0.0) and classes.jar (com.google.firebase:firebase-messaging:17.5.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzq found in modules classes.jar (com.google.firebase:firebase-iid:19.0.0) and classes.jar (com.google.firebase:firebase-messaging:17.5.0)
  Duplicate class com.google.android.gms.internal.firebase_messaging.zzr found in modules classes.jar (com.google.firebase:firebase-iid:19.0.0) and classes.jar (com.google.firebase:firebase-messaging:17.5.0)
  
  Go to the documentation to learn how to <a href="d.android.com/r/tools/classpath-sync-errors">Fix dependency resolution errors</a>.

For versions 17.6.0 to 20.0.0 the app builds but I get this in the js debugger:

Unhandled promise rejection Error: You attempted to use a firebase module that's not installed on your Android project by calling firebase.messaging().

Ensure you have: [etc]

What should I do to use the messaging module? Thanks!

react-native-firebase:compileDebugJavaWithJavac FAILED

I followed the instructions. Ran make-demo-rn59.sh after cloning the repo. Placed google-services.json file inside of android/app folder. Now when I run the command react-native run-android, I get the below error.

Manifest merger failed : Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86
        is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
        Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:7:5-117 to override.

Did some research online and found out that placing the below properties in gradle.properties fixes this issue.

android.useAndroidX=true
android.enableJetifier=true

But now I am getting another error:

> Configure project :react-native-firebase
react-native-firebase: using React Native prebuilt binary from /home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native/android

> Task :react-native-firebase:compileDebugJavaWithJavac FAILED
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/ReactNativeFirebaseAppRegistrar.java:20: error: package android.support.annotation does not exist
import android.support.annotation.Keep;
                                 ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/ReactNativeFirebaseAppRegistrar.java:29: error: cannot find symbol
@Keep
 ^
  symbol: class Keep
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessagingService.java:5: error: package android.support.v4.content does not exist
import android.support.v4.content.LocalBroadcastManager;
                                 ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessaging.java:7: error: cannot find symbol
import android.support.v4.app.NotificationManagerCompat;
                             ^
  symbol:   class NotificationManagerCompat
  location: package android.support.v4.app
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessaging.java:8: error: package android.support.v4.content does not exist
import android.support.v4.content.LocalBroadcastManager;
                                 ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/storage/RNFirebaseStoragePackage.java:3: error: package android.support.annotation does not exist
import android.support.annotation.RequiresPermission;
                                 ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotifications.java:10: error: cannot find symbol
import android.support.v4.app.RemoteInput;
                             ^
  symbol:   class RemoteInput
  location: package android.support.v4.app
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotifications.java:11: error: package android.support.v4.content does not exist
import android.support.v4.content.LocalBroadcastManager;
                                 ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java:20: error: package android.support.annotation does not exist
import android.support.annotation.RequiresApi;
                                 ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java:21: error: package android.support.v4.content does not exist
import android.support.v4.content.LocalBroadcastManager;
                                 ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseBackgroundNotificationActionReceiver.java:8: error: cannot find symbol
import android.support.v4.app.RemoteInput;
                             ^
  symbol:   class RemoteInput
  location: package android.support.v4.app
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:15: error: cannot find symbol
import android.support.v4.app.NotificationCompat;
                             ^
  symbol:   class NotificationCompat
  location: package android.support.v4.app
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:16: error: cannot find symbol
import android.support.v4.app.RemoteInput;
                             ^
  symbol:   class RemoteInput
  location: package android.support.v4.app
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:407: error: package NotificationCompat does not exist
  private NotificationCompat.Action createAction(
                            ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:494: error: cannot find symbol
  private RemoteInput createRemoteInput(Bundle remoteInput) {
          ^
  symbol:   class RemoteInput
  location: class DisplayNotificationTask
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/analytics/RNFirebaseAnalyticsPackage.java:3: error: package android.support.annotation does not exist
import android.support.annotation.RequiresPermission;
                                 ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/storage/RNFirebaseStoragePackage.java:17: error: cannot find symbol
  @RequiresPermission(
   ^
  symbol:   class RequiresPermission
  location: class RNFirebaseStoragePackage
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java:370: error: cannot find symbol
  @RequiresApi(api = 26)
   ^
  symbol:   class RequiresApi
  location: class RNFirebaseNotificationManager
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java:384: error: cannot find symbol
  @RequiresApi(api = 26)
   ^
  symbol:   class RequiresApi
  location: class RNFirebaseNotificationManager
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java:398: error: cannot find symbol
  @RequiresApi(api = 26)
   ^
  symbol:   class RequiresApi
  location: class RNFirebaseNotificationManager
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java:414: error: cannot find symbol
  @RequiresApi(api = 26)
   ^
  symbol:   class RequiresApi
  location: class RNFirebaseNotificationManager
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java:457: error: cannot find symbol
  @RequiresApi(api = 26)
   ^
  symbol:   class RequiresApi
  location: class RNFirebaseNotificationManager
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/analytics/RNFirebaseAnalyticsPackage.java:17: error: cannot find symbol
  @RequiresPermission(
   ^
  symbol:   class RequiresPermission
  location: class RNFirebaseAnalyticsPackage
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessagingService.java:26: error: cannot find symbol
    LocalBroadcastManager
    ^
  symbol:   variable LocalBroadcastManager
  location: class RNFirebaseMessagingService
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessagingService.java:41: error: cannot find symbol
      LocalBroadcastManager
      ^
  symbol:   variable LocalBroadcastManager
  location: class RNFirebaseMessagingService
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessagingService.java:51: error: cannot find symbol
        LocalBroadcastManager
        ^
  symbol:   variable LocalBroadcastManager
  location: class RNFirebaseMessagingService
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessaging.java:36: error: cannot find symbol
    LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context);
    ^
  symbol:   class LocalBroadcastManager
  location: class RNFirebaseMessaging
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessaging.java:36: error: cannot find symbol
    LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context);
                                                  ^
  symbol:   variable LocalBroadcastManager
  location: class RNFirebaseMessaging
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/messaging/RNFirebaseMessaging.java:90: error: cannot find symbol
    Boolean enabled = NotificationManagerCompat
                      ^
  symbol:   variable NotificationManagerCompat
  location: class RNFirebaseMessaging
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotifications.java:54: error: cannot find symbol
    LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context);
    ^
  symbol:   class LocalBroadcastManager
  location: class RNFirebaseNotifications
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotifications.java:54: error: cannot find symbol
    LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(context);
                                                  ^
  symbol:   variable LocalBroadcastManager
  location: class RNFirebaseNotifications
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotifications.java:308: error: cannot find symbol
    Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
                         ^
  symbol:   variable RemoteInput
  location: class RNFirebaseNotifications
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseNotificationManager.java:204: error: cannot find symbol
      LocalBroadcastManager
      ^
  symbol:   variable LocalBroadcastManager
  location: class RNFirebaseNotificationManager
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/RNFirebaseBackgroundNotificationActionReceiver.java:62: error: cannot find symbol
      Bundle remoteInput = RemoteInput.getResultsFromIntent(intent);
                           ^
  symbol:   variable RemoteInput
  location: class RNFirebaseBackgroundNotificationActionReceiver
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:81: error: package NotificationCompat does not exist
      NotificationCompat.Builder nb;
                        ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:84: error: package NotificationCompat does not exist
        nb = new NotificationCompat.Builder(context, channelId);
                                   ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:87: error: package NotificationCompat does not exist
        nb = new NotificationCompat.Builder(context);
                                   ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:130: error: package NotificationCompat does not exist
        NotificationCompat.BigPictureStyle bp = new NotificationCompat.BigPictureStyle();
                          ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:130: error: package NotificationCompat does not exist
        NotificationCompat.BigPictureStyle bp = new NotificationCompat.BigPictureStyle();
                                                                      ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:158: error: package NotificationCompat does not exist
        NotificationCompat.BigTextStyle bt = new NotificationCompat.BigTextStyle();
                          ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:158: error: package NotificationCompat does not exist
        NotificationCompat.BigTextStyle bt = new NotificationCompat.BigTextStyle();
                                                                   ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:361: error: package NotificationCompat does not exist
          NotificationCompat.Action action = createAction(context, a, intentClass, notification);
                            ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:424: error: package NotificationCompat.Action does not exist
    NotificationCompat.Action.Builder ab = new NotificationCompat.Action.Builder(
                             ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:424: error: package NotificationCompat.Action does not exist
    NotificationCompat.Action.Builder ab = new NotificationCompat.Action.Builder(
                                                                        ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:437: error: cannot find symbol
        RemoteInput remoteInput = createRemoteInput(ri);
        ^
  symbol:   class RemoteInput
  location: class DisplayNotificationTask
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:496: error: package RemoteInput does not exist
    RemoteInput.Builder rb = new RemoteInput.Builder(resultKey);
               ^
/home/truuue/Desktop/react-native/rnfbdemo/rnfbdemo/rnfbdemo/node_modules/react-native-firebase/android/src/main/java/io/invertase/firebase/notifications/DisplayNotificationTask.java:496: error: package RemoteInput does not exist
    RemoteInput.Builder rb = new RemoteInput.Builder(resultKey);
                                            ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
47 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-firebase:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings

Additional version info:
react-native-cli: 2.0.1
react-native: 0.59.10

I am getting the same error on my main project. I thought, I would run the demo given by you and then modify my project as per this demo code. But the demo code is also throwing the same error. Can you please guide in the right direction.

iOS Device Version

I am trying to find a way to get flipper to work along with Firebase, which seems to require use_frameworks. I thought of using this excellent demo installation as a reference point.

However, I could not get far. Pods were installed fine. However, building the app threw the following error message. I tried it on the following simulators iPhone 8 iOS 15.0, iPhone 13 iOS 15.0 & iPhone 13 iOS 15.2.

You can’t open the application β€œrnfbdemo.app” because this application is not supported on this Mac

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.