Skip to main content

iOS Installation

Notice

This page is archived and might not reflect the latest version of the FlutterFire plugins. With the latest plugins, manual installation is not required. You can find the latest information on firebase.google.com:

https://firebase.google.com/docs/flutter/setup

Before using FlutterFire on iOS, you must first connect to your Firebase project with your iOS application.

Generating a Firebase project configuration file#

On the Firebase Console, add a new iOS app or select an existing iOS app for your Firebase project. The "iOS bundle ID" must match your local project bundle ID. The bundle ID can be found within the "General" tab when opening ios/Runner.xcworkspace with Xcode.

Download the GoogleService-Info.plist file for the Firebase app.

Installing your Firebase configuration file#

Next you must add the file to the project using Xcode (adding manually via the filesystem won't link the file to the project). Using Xcode, open the project's ios/{projectName}.xcworkspace file. Right click Runner from the left-hand side project navigation within Xcode and select "Add files", as seen below:

Add files via Xcode

Select the GoogleService-Info.plist file you downloaded, and ensure the "Copy items if needed" checkbox is enabled:

Add files via Xcode

Enabling use of Firebase Emulator Suite#

The Firebase Emulator Suite uses un-encrypted networking connections in order to enable fast, uncomplicated setup. However iOS by default requires encrypted networking connections. If you would like to use any part of the Firebase Emulator Suite to emulate firebase services on your local machine during development, you must allow your iOS app to connect to local network services over insecure connections.

To allow insecure connections, we recommend adding the NSAllowsLocalNetworking key to the NSAppTransportSecurity dictionary in your application's plist file.

Add these keys to your ios/Runner/Info.plist file:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>

iOS Supported Versions#

NameDeployment Target (minimum)
firebase_core9.00
cloud_firestore10.00
firebase_analytics9.00
firebase_app_check9.00
firebase_auth10.00
firebase_crashlytics9.00
firebase_database10.00
firebase_dynamic_links10.00
firebase_in_app_messaging10.00
firebase_messaging10.00
firebase_performance10.00
firebase_remote_config10.00
firebase_storage10.00
flutterfire_ui11.00

Please see the underlying firebase-ios-sdk for further details.