iOS UI bindings for Firebase.
Objective-C Ruby Swift Shell
Latest commit d4e939c Jan 20, 2017 @morganchen12 morganchen12 committed on GitHub bump cocoapods version in travis
Permalink
Failed to load latest commit information.
FirebaseAuthUI remove bad nullable label Jan 17, 2017
FirebaseAuthUITests refactor FirebaseUI Auth class names Nov 3, 2016
FirebaseDatabaseUI Fix FirebaseUI/Database README syntax Nov 10, 2016
FirebaseDatabaseUITests rename test classes to use FUI prefix Nov 7, 2016
FirebaseFacebookAuthUI refactor FirebaseUI Auth class names Nov 3, 2016
FirebaseFacebookAuthUITests refactor project sample names Nov 4, 2016
FirebaseGoogleAuthUI refactor FirebaseUI Auth class names Nov 3, 2016
FirebaseGoogleAuthUITests refactor project sample names Nov 4, 2016
FirebaseStorageUI Update README.md Oct 8, 2016
FirebaseStorageUITests use XCTAssertEqual Sep 27, 2016
FirebaseTwitterAuthUI refactor FirebaseUI Auth class names Nov 3, 2016
FirebaseTwitterAuthUITests refactor FirebaseUI Auth class names Nov 3, 2016
FirebaseUI.xcodeproj rename test classes to use FUI prefix Nov 7, 2016
FirebaseUI remove unnecessary bundle executable key in info plist files Sep 13, 2016
FirebaseUISample refactor FirebaseUI Auth class names Nov 3, 2016
FirebaseUISampleUITests Update unit test after prefix refactoring Nov 4, 2016
docs/template Make oss checker pass May 16, 2016
samples Revert "add includecode markers in storage sample" Jan 3, 2017
.clang-format Added a .clang-format file which conforms to the Google Obj-C style g… Aug 21, 2015
.gitignore only ignore googleservice plists in samples Sep 14, 2016
.travis.yml bump cocoapods version in travis Jan 19, 2017
AUTHORS Updating license, adding META Sep 3, 2015
CONTRIBUTING.md Update CONTRIBUTING.md Sep 12, 2016
CONTRIBUTORS update build files and docs for firebaeui ios Apr 5, 2016
FirebaseUI.podspec Update pod version to 1.0.0 Nov 4, 2016
FirebaseUI_dev_auth.podspec Update pod version to 1.0.0 Nov 4, 2016
FirebaseUI_dev_db.podspec Update pod version to 1.0.0 Nov 4, 2016
FirebaseUI_dev_fb.podspec Update pod version to 1.0.0 Nov 4, 2016
FirebaseUI_dev_ggl.podspec Update pod version to 1.0.0 Nov 4, 2016
FirebaseUI_dev_storage.podspec Update pod version to 1.0.0 Nov 4, 2016
FirebaseUI_dev_tw.podspec Update pod version to 1.0.0 Nov 4, 2016
ISSUE_TEMPLATE.md Update issue and pull request templates Aug 4, 2016
LICENSE Updating license, adding META Sep 3, 2015
PULL_REQUEST_TEMPLATE.md Make pull request template imperative Aug 4, 2016
Podfile Add FirebaseUI UIAutomation unit tests Oct 10, 2016
README.md Update pod version to 1.0.0 Nov 4, 2016
build.swift update build script Nov 1, 2016
create-docs.sh fix appledoc generation Sep 23, 2016
test.sh restart builds that fail with exit code 65 Oct 20, 2016

README.md

FirebaseUI for iOS — UI Bindings for Firebase Build Status

FirebaseUI is an open-source library for iOS that allows you to quickly connect common UI elements to the Firebase database for data storage, allowing views to be updated in realtime as they change, and providing simple interfaces for common tasks like displaying lists or collections of items.

Additionally, FirebaseUI simplifies Firebase authentication by providing easy to use auth methods that integrate with common identity providers like Facebook, Twitter, and Google as well as allowing developers to use a built in headful UI for ease of development.

FirebaseUI clients are also available for Android and web.

Installing FirebaseUI for iOS

FirebaseUI supports iOS 8.0+. We recommend using CocoaPods, add the following to your Podfile:

pod 'FirebaseUI', '~> 1.0'       # Pull in all Firebase UI features

If you don't want to use all of FirebaseUI, there are multiple subspecs which can selectively install subsets of the full feature set:

# Only pull in FirebaseUI Database features
pod 'FirebaseUI/Database', '~> 1.0'

# Only pull in FirebaseUI Storage features
pod 'FirebaseUI/Storage', '~> 1.0'

# Only pull in FirebaseUI Auth features
pod 'FirebaseUI/Auth', '~> 1.0'

# Only pull in Facebook login features
pod 'FirebaseUI/Facebook', '~> 1.0'

# Only pull in Google login features
pod 'FirebaseUI/Google', '~> 1.0'

# Only pull in Twitter login features
pod 'FirebaseUI/Twitter', '~> 1.0'

If you're including FirebaseUI in a Swift project, make sure you also have:

platform :ios, '8.0'
use_frameworks!

Otherwise, you can download the latest version of the FirebaseUI.framework from the releases page or include the FirebaseUI Xcode project from this repo in your project. You also need to add the Firebase framework to your project.

Local Setup

If you'd like to contribute to FirebaseUI for iOS, you'll need to run the following commands to get your environment set up:

$ git clone https://github.com/firebase/FirebaseUI-iOS.git
$ cd FirebaseUI-iOS
$ pod install

Alternatively you can use pod try FirebaseUI in order to install objective-c or swift sample project

Mandatory Sample Project Configuration

You have to configure Xcode project in order to run samples.

  1. You project should contain GoogleService-Info.plist downloaded from Firebase console.
    Copy GoogleService-Info.plist into sample project folder (samples/obj-c/GoogleService-Info.plist or samples/swift/GoogleService-Info.plist).
    Find more instructions and download a plist file from the Firebase console.

  2. Update URL Types.
    Go to Project Settings -> Info tab -> Url Types and update values for:

    • REVERSED_CLIENT_ID (get value from GoogleService-Info.plist)
    • fb{your-app-id} (put Facebook App Id)
    • twitterkit-{consumer-key} (put Twitter App Consumer key)
  3. Update Info.plist twitter and facebook configuration values

    • FacebookAppID -> {your-app-id} (put Facebook App Id)
    • Fabric -> Kits -> KitInfo -> consumerKey / consumerSecret (put Twitter App consumer key/secret). Please notice that's it's not secure to store consumerSecret in the app itself.
  4. Enable Keychain Sharing.
    Facebook SDK requires keychain sharing.
    This can be done here: Project Settings -> Capabilities -> KeyChain Sharing -> ON

  5. Don't forget to configure your Firebase App Database using Firebase console.
    Database should contain appropriate read/write permissions and folders (objc_demo-chat and swift_demo-chat respectfully)

Contributing to FirebaseUI

Contributor License Agreements

We'd love to accept your sample apps and patches! Before we can take them, we have to jump a couple of legal hurdles.

Please fill out either the individual or corporate Contributor License Agreement (CLA).

  • If you are an individual writing original source code and you're sure you own the intellectual property, then you'll need to sign an individual CLA.
  • If you work for a company that wants to allow you to contribute your work, then you'll need to sign a corporate CLA.

Follow either of the two links above to access the appropriate CLA and instructions for how to sign and return it. Once we receive it, we'll be able to accept your pull requests.

Contribution Process

  1. Submit an issue describing your proposed change to the repo in question.
  2. The repo owner will respond to your issue promptly.
  3. If your proposed change is accepted, and you haven't already done so, sign a Contributor License Agreement (see details above).
  4. Fork the desired repo, develop and test your code changes.
  5. Ensure that your code adheres to the existing style of the library to which you are contributing.
  6. Ensure that your code has an appropriate set of unit tests which all pass.
  7. Submit a pull request