Merge branch 'master' of https://github.com/invertase/react-native-firebase
This commit is contained in:
commit
b78ebc7de2
|
@ -1,12 +1,24 @@
|
|||
# iOS Installation
|
||||
|
||||
## Firebase
|
||||
|
||||
### Setup
|
||||
Setup the Firebase ios frameworks first; check out the relevant Firebase docs [here](https://firebase.google.com/docs/ios/setup#frameworks).
|
||||
|
||||
## cocoapods
|
||||
### Initialisation
|
||||
You need to add the following to the top of `ios/[YOUR APP NAME]]/AppDelegate.m`:
|
||||
|
||||
Since we're dependent upon cocoapods (or at least the Firebase libraries being available at the root project -- i.e. your application), we have to make them available for RNFirebase to find them.
|
||||
`#import <Firebase.h>`
|
||||
|
||||
As such, using cocoapods is the easiest way to get started. Add or update a `Podfile` at `ios/Podfile` in your app with the following:
|
||||
and this to the `didFinishLaunchingWithOptions:(NSDictionary *)launchOptions` method:
|
||||
|
||||
`[FIRApp configure];`
|
||||
|
||||
## RNFirebase
|
||||
There are multiple ways to install RNFirebase dependent on how your project is currently setup:
|
||||
|
||||
### 1) Existing Cocoapods setup, including React Native as a pod
|
||||
Simply add the following to your `Podfile`:
|
||||
|
||||
```ruby
|
||||
# Required by RNFirebase
|
||||
|
@ -23,16 +35,61 @@ pod 'Firebase/Storage'
|
|||
pod 'RNFirebase', :path => '../node_modules/react-native-firebase'
|
||||
```
|
||||
|
||||
Then you can run `(cd ios && pod install)` to get the pods installed.
|
||||
### 2) Automatically with react-native-cli
|
||||
React native ships with a `link` command that can be used to link the projects together, which can help automate the process of linking our package environments.
|
||||
|
||||
```bash
|
||||
react-native link react-native-firebase
|
||||
```
|
||||
|
||||
Update the newly installed pods once the linking is done:
|
||||
|
||||
```bash
|
||||
cd ios && pod update --verbose
|
||||
```
|
||||
|
||||
#### cocoapods
|
||||
We've automated the process of setting up with cocoapods. This will happen automatically upon linking the package with `react-native-cli`.
|
||||
|
||||
**Remember to use the `ios/[YOUR APP NAME].xcworkspace` instead of the `ios/[YOUR APP NAME].xcproj` file from now on**.
|
||||
|
||||
## AppDelegate.m
|
||||
### 3) Manually
|
||||
|
||||
You need to add the following to the top of `ios/[YOUR APP NAME]]/AppDelegate.m`:
|
||||
If you prefer not to use `react-native link`, we can manually link the package together with the following steps, after `npm install`:
|
||||
|
||||
`#import <Firebase.h>`
|
||||
**A.** In XCode, right click on `Libraries` and find the `Add Files to [project name]`.
|
||||
![Firebase.xcodeproj add to files](https://cloud.githubusercontent.com/assets/5347038/24249673/0fccdbec-0fcc-11e7-83eb-c058f8898525.png)
|
||||
|
||||
and this to the `didFinishLaunchingWithOptions:(NSDictionary *)launchOptions` method:
|
||||
**B.** Add the `node_modules/react-native-firebase/ios/Firebase.xcodeproj`
|
||||
|
||||
`[FIRApp configure];`
|
||||
![Firebase.xcodeproj in Libraries listing](https://cloud.githubusercontent.com/assets/21329063/24249440/9494e19c-0fd3-11e7-95c0-c2baa85092e8.png)
|
||||
|
||||
**C.** Ensure that the `Build Settings` of the `RNFirebase.xcodeproj` project is ticked to _All_ and it's `Header Search Paths` include both of the following paths _and_ are set to _recursive_:
|
||||
|
||||
1. `$(SRCROOT)/../../react-native/React`
|
||||
2. `$(SRCROOT)/../node_modules/react-native/React`
|
||||
3. `${PROJECT_DIR}/../../../ios/Pods`
|
||||
|
||||
![Recursive paths](https://cloud.githubusercontent.com/assets/21329063/24250349/da91284c-0fd6-11e7-8328-6008e462039e.png)
|
||||
|
||||
**D.** Setting up cocoapods
|
||||
|
||||
Since we're dependent upon cocoapods (or at least the Firebase libraries being available at the root project -- i.e. your application), we have to make them available for RNFirebase to find them.
|
||||
|
||||
Using cocoapods is the easiest way to get started with this linking. Add or update a `Podfile` at `ios/Podfile` in your app with the following:
|
||||
|
||||
```ruby
|
||||
# Required by RNFirebase
|
||||
pod 'Firebase/Auth'
|
||||
pod 'Firebase/Analytics'
|
||||
pod 'Firebase/AppIndexing'
|
||||
pod 'Firebase/Core'
|
||||
pod 'Firebase/Crash'
|
||||
pod 'Firebase/Database'
|
||||
pod 'Firebase/DynamicLinks'
|
||||
pod 'Firebase/Messaging'
|
||||
pod 'Firebase/RemoteConfig'
|
||||
pod 'Firebase/Storage'
|
||||
```
|
||||
|
||||
Then you can run `(cd ios && pod install)` to get the pods opened. If you do use this route, remember to use the `.xcworkspace` file.
|
||||
|
|
Loading…
Reference in New Issue