Giter Site home page Giter Site logo

firebaseui-ios's Introduction

FirebaseUI for iOS โ€” UI Bindings for Firebase

Anonymous Auth Auth Database Email Auth Facebook Auth Firestore Google Auth OAuth Phone Auth Storage Samples

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 10.0+ and Xcode 11+. We recommend using CocoaPods, add the following to your Podfile:

pod 'FirebaseUI', '~> 8.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 Firestore features
pod 'FirebaseUI/Firestore', '~> 8.0'

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

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

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

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

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

# Only pull in Phone Auth login features
pod 'FirebaseUI/Phone', '~> 8.0'

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

platform :ios, '11.0'
use_frameworks!

Otherwise, you can include the FirebaseUI Xcode project from this repo in your project. You also need to add the Firebase framework to your project.

Documentation

The READMEs for components of FirebaseUI can be found in their respective project folders.

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
$ cd Auth # or PhoneAuth, Database, etc
$ pod install

Alternatively you can use pod try FirebaseUI to install the Objective-C or Swift sample projects.

Sample Project Configuration

You'll have to configure your Xcode project in order to run the samples.

  1. Your Xcode project should contain a GoogleService-Info.plist, downloaded from Firebase console when you add your app to a Firebase project.
    Copy the GoogleService-Info.plist into the sample project folder (samples/obj-c/GoogleService-Info.plist or samples/swift/GoogleService-Info.plist).

  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)
  3. Update Info.plist with Facebook configuration values

    • FacebookAppID -> {your-app-id} (put Facebook App Id)
  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 respectively)

  6. In Order to use Phone Auth provider you should Configure Push Notifications

Configure Apple Push Notifications

Enable silent push notifications in Xcode
  • Push Notification - Under Capabilities tab in your app target choose Push Notifications and put the switch to the On position.
  • Background Mode - Under Capabilities tab in your app target choose Background Modes put the switch to the On position. In the list of available modes select Background fetch and Remote notifications (If available).
Upload APNS Certificate to Firebase
  1. Create your Provisioning APNS SSL Certificates by following the steps on the following link. https://firebase.google.com/docs/cloud-messaging/ios/certs

  2. Upload your APNS Certificate to Firebase:

    • Inside your project in the Firebase console, select the gear icon, select Project Settings, and then select the Cloud Messaging tab.
    • Select the Upload Certificate button for your development certificate, your production certificate, or both. At least one is required.
    • For each certificate, select the .p12 file, and provide the password, if any. Make sure the bundle ID for this certificate matches the bundle ID of your app. Select Save.

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).

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

firebaseui-ios's People

Contributors

asciimike avatar cbess avatar ch40w31 avatar chbeer avatar cozzin avatar dakeshi avatar davideast avatar dependabot[bot] avatar dpebot avatar dreampiggy avatar granfalloner avatar ianbarber avatar kokoro-team avatar morganchen12 avatar najdanovicivan avatar paulb777 avatar protocol86 avatar ramblex avatar renkelvin avatar roger-ijr avatar rosalyntan avatar samtstern avatar swehrli avatar ulukaya avatar valeriyvan avatar wimbledon avatar xiangtiandai avatar xuaninbox avatar yramanchuk avatar yue-wang-google 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  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

firebaseui-ios's Issues

Pull request #13 sections crash

Whilst updating multiple items in a tableview with sections a crash occurs at:

  • (void)sectionAddedAtSectionIndex:(NSUInteger)section {
    [self.tableView insertSections:[NSIndexSet indexSetWithIndex:section]
    withRowAnimation:UITableViewRowAnimationAutomatic];
    }

NSSortDescriptors

I've been working on an improvement to the Firebase Array that optionally uses Sort Descriptors to sort the results after being received by the query.
I would like to share my work when its done, but I read that I should write up an issue, and sign the contributor document first.
Please let me know if this is of interest and I can share specifics.

Replace self.sectionKeyPath with sectionKeyPath:

Instead of dataSource.array.sectionKeyPath being a string, there should be something like this to return the value:

func returnSectionKeyPath(keypath: String, forSnapshot: FDataSnaphot) -> String {
// code to determine name of section
return nameOfSection
}

XCode 7 Issue!

Hi,

I got about 200 of these errors after integrating Firebase with CocoaPods in XCode 7. It's related only to Firebase.

screen shot 2015-09-26 at 1 33 54 am
screen shot 2015-09-26 at 1 33 11 am

FirebaseAppDelegate requires a deprecated method

Hi,

This isn't an urgent issue, but I've noticed that FirebaseAppDelegate requires this method:

  • (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;

But that method is deprecated in iOS 9. It has been changed to this:

  • (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options

FirebaseLoginViewController shows black screen

Details:

  1. Objective-C or Swift: Swift
  2. iOS Version (7-9): 9.2
  3. CocoaPods Version: 0.39

Explanation of your issue

Presenting a FirebaseLoginViewController modally shows a totally black screen with no way of getting out of it.

Steps to reproduce

    let loginSheet = UIAlertController(title: "Log in", message: nil, preferredStyle: .ActionSheet)
    loginSheet.addAction(UIAlertAction(title: "Existing Account", style: .Default, handler: { _ in
        let loginController = FirebaseLoginViewController(ref: FB.baseRef())
        loginController.enableProvider(.Password)
        loginController.didDismissWithBlock { auth, error in
            if auth != nil {
                // Handle user case
                self.updateButtonStatus()
            } else if error != nil {
                // Handle error case
                self.updateButtonStatus()
            } else {
                // Handle cancel case
                self.updateButtonStatus()
            }
        }

        self.presentViewController(loginController, animated: true, completion: nil)
    }))
    loginSheet.addAction(UIAlertAction(title: "New Account", style: .Default, handler: { _ in
        // TODO: Registration
        NSLog("Registration not currently implemented")
    }))
    loginSheet.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil))

    self.presentViewController(loginSheet, animated: true, completion: nil)

Unable to install through CocoaPods

Using cocoapods 0.39.0

Using with swift. This is what I have in my podfile:

platform :ios, '8.0'
use_frameworks!

Only pull in the "Core" FirebaseUI features

pod 'FirebaseUI/Core', '~> 0.3'

Pull in the "Auth" FirebaseUI features: Facebook, Google, Twitter, and Email/Password auth

pod 'FirebaseUI/Auth', '~> 0.3'

Selectively pull in Auth providers

pod 'FirebaseUI/Facebook', '> 0.3.2'
pod 'FirebaseUI/Google', '
> 0.3.2'
pod 'FirebaseUI/Twitter', '> 0.3.2'
pod 'FirebaseUI/Password', '
> 0.3.2'

Seeing this error:

[!] The 'Pods' target has transitive dependencies that include static binaries: (...../Pods/Google/Libraries/libGGLCore.a and ...../Pods/Google/Libraries/libGGLSignIn.a)

OSX Support

NSTableView and NSCollectionView deserve to be supported too.

  1. Add an NSTableViewDataSource and NSCollectionViewDataSource.
  2. Change build process to generate both iOS and OSX libraries.
  3. Update FirebaseUI.podspec for both iOS and OSX.

Documentation not up-to-date

Overall great job so far. But please revise your documentation. For example the following code sniped with FirebaseTableViewDataSource in swift:

self.dataSource = FirebaseTableViewDataSource(ref: firebaseRef cellClass: YourCustomClass.self cellReuseIdentifier: @"<YOUR-REUSE-IDENTIFIER>" view: self.tableView)

self.dataSource.populateCellWithBlock { (cell: YourCustomClass, obj: NSObject) -> Void in
  // Populate cell as you see fit, like as below
  cell.yourCustomLabel.text = snap.key;
}

self.tableView.dataSource = self.dataSource;

There are some mistakes in this code...

  • Parameters are separated with commas in swift ( FirebaseTableViewDataSource(...) )
  • Swift not using @ for strings (Objective C stuff...)
  • Initialization of the variable "snap" is missing
  • Semicolons not necessary in swift
  • ...

Valid swift code could look like this:

self.dataSource = FirebaseTableViewDataSource(ref: firebaseRef, cellClass: YourCustomClass.self, cellReuseIdentifier: "<YOUR-REUSE-IDENTIFIER>", view: self.tableView)

self.dataSource.populateCellWithBlock { (cell: YourCustomClass, obj: NSObject) -> Void in
  let snap = obj as! FDataSnapshot
  // Populate cell as you see fit, like as below
  cell.yourCustomLabel.text = snap.key
}

self.tableView.dataSource = self.dataSource

...But nevertheless, this code doesn't work

Unable to build Example App

I tried to build example app - but I got the following error:

import "FirebaseUI/FirebaseTableViewDataSource.h" not found.

Has this been deprecated?

Error installing with Pods - Swift

i tried to install it with CocoaPods
but whitout success, the samples in the docs are obsolete i think

can you provide a step guide to install this module with CocoaPods and use it with Swift?

Override FEventType Animation

It'd be great to be able to override the animation with respect to the cell's event changes.

For example, chat apps often have cells that are aligned left or right depending on the userId. The animation for inserted cells maybe UITableViewRowAnimation.Left for received message but .Right for a sent message.

Maybe use a block API with the FEventType enum?

dataSource.overrideAnimation{eventType: FEventType, withBlock: { (cell, snapshot) -> Void } }

Add UI for User Registration

It seems that the user can use this UI to log in to an existing account, but not register for a new one. Is that correct? I think having new-user flow that integrates with this login UI will be very important for apps where users need to sign up accounts.

Can't access initWithQuery on FirebaseTableViewDataSource

Just upgrading to the new release of Firebase (3.2.0) along with 0.4 of FirebaseUI. I'm using swift for my project.

Here's my podfile:

platform :ios, '8.0'
use_frameworks!
pod 'Firebase'
pod 'FirebaseUI', '~> 0.4'

It looks like the import mechanism has changed, from including FirebaseUI in the Bridging Header like so:

import <FirebaseUI/FirebaseDataSource.h>
import <FirebaseUI/FirebaseTableViewDataSource.h>

to using an include in the swift file, like so:
import FirebaseUI.FirebaseTableViewDataSource

I've run pod update (and pod install), and I am picking up the new Firebase classes ok. However, where I'm using FirebaseUI, I'm seeing this:

Type FirebaseTableViewDataSource has no member 'initWithQuery'

Here's my code:
self.dataSource = FirebaseTableViewDataSource.initWithQuery(query, prototypeReuseIdentifier: InstancesTableViewController.CELL_IDENTIFIER, view: self.tableView)
Now, it looks like initWithQuery is an instance method, rather than a class method. How can I instantiate a FirebaseTableViewDataSource so I can call the method?

Also, when I open FirebaseTableViewDataSource.h (by navigating through Pods/FirebaseUI/Database/Frameworks/FirebaseDatabaseUI.framework/Headers), I can see what appears to be an updated file (the header included a copyright by Google), and it has the methods I'm expecting. However, when I Cmd-Click on the use of FirebaseTableViewDataSource in my class (the code sample above), I see a different version of the class which appears to be older, and includes a method with the following signature:
public init(query: FQuery, cellReuseIdentifier identifier: String, view tableView: UITableView)

Any pointers?

Andy

Error

Im getting an error on line 28 of ViewController.m in the example project

[self.dataSource populateCellWithBlock:^void(MessageTableViewCell * __nonnull cell, Message * __nonnull message) {

the error reads: "incompatible block pointer types sending 'void(^)MessageTableViewCell ___nonnull__strong, Message___nonnull__strong)' to parameter of type 'void(^ __nonnull)(UITableViewCell *__nonnull__strong, NSObject *__nonnull__strong)'

return receipt observeEventType who receive my message !

Hello Guys,

I have a little question.
I am making one 2 one IOS / Android chat with Firebase.
I am currently facing a problem.
When a user send a message to other user, How to know that the second user really receive the message. It is important for me because if he didn't receive the message I have to send a push notification to him !

Thanks for helps !

Can't build/run New Firebase sample For Swift

I successfully figured out how to make the sample database project run in a device. But that's only for Objective-C, when I tried to run the Swift Example, Xcode wasn't able to find the libraries to import. It's telling me that import FirebaseDatabaseUI <-- is undeclared. Libraries are written in objective-C. Is there a good docu about it?

Investigate multiple `FirebaseUI/Provider` subspecs

Investigate splitting FirebaseUI into more subspecs for specific auth providers. This requires several things:

  1. Create the subspecs to only pull in certain source files and resources
  2. Forward declare classes in header files where necessary
  3. Perform runtime checks in shared auth implementations to guard against weakly linked libs

The start of a subspec is here:

s.subspec 'Auth' do |auth|
    auth.dependency "FirebaseUI/Facebook"
    auth.dependency "FirebaseUI/Google"
    auth.dependency "FirebaseUI/Twitter"
    auth.dependency "FirebaseUI/Password"
  end

s.subspec 'AuthHelper' do |helper|
  helper.source_files = "FirebaseUI/Auth/**/{FirebaseAppDelegate,FirebaseLoginViewController,FirebaseAuthConstants,FirebaseAuthDelegate,FirebaseAuthProvider,FirebaseLoginButton}.{h,m}"
  helper.resources = "FirebaseUI/Auth/Resources/*"
end

s.subspec 'Facebook' do |facebook|
  facebook.source_files = "FirebaseUI/Auth/**/FirebaseFacebookAuthProvider.{h,m}"
  facebook.dependency "FirebaseUI/AuthHelper"
  facebook.dependency "FBSDKCoreKit"
  facebook.dependency "FBSDKLoginKit"
end

s.subspec 'Google' do |google|
  google.source_files = "FirebaseUI/Auth/**/FirebaseGoogleAuthProvider.{h,m}"
  google.dependency "FirebaseUI/AuthHelper"
  google.dependency "Google/SignIn"
end

s.subspec 'Twitter' do |twitter|
  twitter.source_files = "FirebaseUI/Auth/**/{FirebaseTwitterAuthProvider,TwitterAuthDelegate}.{h,m}"
  twitter.dependency "FirebaseUI/AuthHelper"
  twitter.ios.framework = "Accounts"
end

s.subspec 'Password' do |password|
  password.source_files = "FirebaseUI/Auth/**/FirebasePasswordAuthProvider.{h,m}"
  password.dependency "FirebaseUI/AuthHelper"
end

UITableViewCell Style Ignored

I've been trying to set a UITableViewCell's detailTextLabel but setting the style to anything other than Basic seems to have no effect even though the readme specifically states that it should be easily achieved. I'm using a standard UITableViewCell and everything else works, data is pulled from Firebase and appears in the textLabel without issue.

Am I doing something wrong? Did this get dropped without removing the reference from the readme?

self.datasource = FirebaseTableViewDataSource(ref: self.firebase, cellReuseIdentifier: "kProductCell", view: self.tableView)
self.datasource.populateCellWithBlock { (cell: UITableViewCell, obj: NSObject) -> Void in
    let snap = obj as! FDataSnapshot
    cell.textLabel?.text = snap.key as String
    cell.detailTextLabel?.text = "0"
}
self.tableView.dataSource = self.datasource

setup.sh does not download necessary libraries for 3.0

@mcdonamp
When I run setup.sh for the new 3.0 version, I get the following error (this is after it successfully downloads the firebase SDK):

-----------------------------------------------
STARTING FACEBOOK
-----------------------------------------------
Downloading Facebook SDK...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 55838    0 55838    0     0  41537      0 --:--:--  0:00:01 --:--:--  117k
Extracting Facebook SDK...
Archive:  ******/FirebaseUI-iOS/sdk/facebook-sdk.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of ******/FirebaseUI-iOS/sdk/facebook-sdk.zip or
        ******/FirebaseUI-iOS/sdk/facebook-sdk.zip.zip, and cannot find ******/FirebaseUI-iOS/sdk/facebook-sdk.zip.ZIP, period.

I put the ****** in the paths for privacy.
I have some new major updates that I would like to include, but I can't until I can get this to run properly.

FirebaseTableViewDataSource not casting custom class with prototypeReuseIdentifier

Hello @mcdonamp

  1. Objective-C
  2. iOS 9
  3. Cocoapods 0.38.0

So I have this code in viewDidLoad of my UITableViewController:

self.dataSource = [[FirebaseTableViewDataSource alloc] initWithRef:self.firebaseRef prototypeReuseIdentifier:@"storyCell" view:self.tableView];

[self.dataSource populateCellWithBlock:^(Story_TVCell *__nonnull cell, FDataSnapshot *__nonnull snap) {
    NSLog(@"%@", [cell class]);
}];

My custom table view cell is like this:

#import <UIKit/UIKit.h>

@interface Story_TVCell : UITableViewCell

@property (strong, nonatomic) IBOutlet UILabel *title;

@end

and the .m file is empty

and my storyboard is like this:

screen shot 2016-03-10 at 8 11 04 pm

screen shot 2016-03-10 at 8 13 53 pm

What my controller is printing is that the class of the cell is UITableViewCell instead of Story_TVCell.
What am I doing wrong?

Thanks for the help.

Value of type "ViewController" has no member 'dataSource'

Having an issue with the sample code for swift. I'm creating a new project with a single ViewController. I follow the storyboard instructions:

Create a storyboard that has either a UITableViewController, UICollectionViewController or a UIViewController with a UITableView or UICollectionView. Drag a prototype cell onto the UITableView or UICollectionView and give it a custom reuse identifier which matches the reuse identifier being used when instantiating the Firebase*ViewDataSource. When using prototype cells, make sure to use prototypeReuseIdentifier instead of cellReuseIdentifier.

Drag and other properties onto the cell and associate them with properties of a UITableViewCell or UICollectionViewCell subclass. Code samples are otherwise similar to the above.

But I'm receiving an error of:

"Value of type "ViewController" has no member 'dataSource'

my ViewController.swift code is:

import UIKit
import Firebase
import FirebaseUI

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        let firebaseRef = Firebase(url:"https://<MYFIREBASEID>.firebaseio.com/")

        let dataSource: FirebaseTableViewDataSource!

        self.dataSource = FirebaseTableViewDataSource(ref: self.firebaseRef, cellReuseIdentifier: "myCell", view: self.tableView)

        self.dataSource.populateCellWithBlock { (cell: UITableViewCell, obj: NSObject) -> Void in
            let snap = obj as! FDataSnapshot

            cell.textLabel?.text = snap.key as String
        }

        self.tableView.dataSource = self.dataSource;
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

What am I missing?

numberOfRowsInSection for FirebaseTableViewDatasource

In the example, there's no number of rows in section called for FirebaseTableViewDatasource. I assumed it was because it was built in that it would stop populating automatically when nodes ran out. However, when I ran the program without calling number of rows in section it gave me this error:

[LanguagesListFUITest tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x1465d5770

Any advice on how to get around this?

Support for Firebase 3 in pod spec

Any plans to update the podspec to support Firebase 3? when trying to upgrade to Firebase3, I get a dependency error saying that FirebaseUI requires Firebase (~> 2.2)

Warning Generated when doing Pod install

When I try do 'pod install' I get the following error:

[!] Unable to read the license file `/Users/XXXXX/Documents/appName/Pods/FirebaseUI/LICENSE` for the spec `FirebaseUI (0.4.0)`

[!] Unable to read the license file `/Users/XXXXX/Documents/appName/Pods/FirebaseUI/LICENSE` for the spec `FirebaseUI (0.4.0)`

Can't register custom class cell

So I'm trying to register my custom class cell via (assuming TaskCell inherits from UITableViewCell)
self.dataSource.populateCellWithBlock { (cell: TaskCell, obj: NSObject) -> Void in

Although I get an error saying cannot convert value of type '(TaskCell, NSObject) -> Void' to expected argument type .... UITableViewCell, NSObject.

target has transitive dependencies that include static binaries

Hello,

I've been trying to use the FirebaseUI pod v0.3.1 and I am getting this error when I run 'pod install'.

[!] The '******' target has transitive dependencies that include static binaries: (path../Pods/Google/Libraries/libGGLCore.a and path../Pods/Google/Libraries/libGGLSignIn.a)

This is my pod file:

platform :ios, '8.0'
use_frameworks!

target 'projectName' do
pod 'FirebaseUI', '~> 0.3'
end

Pod Error Transitive Dependencies

Hi,

I am trying to build FirebaseUI-iOS-master/examples/FirebaseUIChat when I ran pod install here's what I got:

[!] The 'Pods' target has transitive dependencies that include static binaries: (/Users/richardgreyes/Downloads/FirebaseUI-iOS-master/examples/FirebaseUIChat/Pods/Google/Libraries/libGGLCore.a and /Users/richardgreyes/Downloads/FirebaseUI-iOS-master/examples/FirebaseUIChat/Pods/Google/Libraries/libGGLSignIn.a)

How can I fix this?

Thanks

Pagination

It would be awesome to have pagination. For large data sets it is necessary.

sample apps?

Are there any sample apps? I am having a difficult time with this. FIRAuthUI is not recognized as a class, only FIRAuth is and I'm not sure why.

Incompatible block pointer types sending 'void (^)(.....

When I try to compile the FirebaseUIChat app I receive below error in the Viewcontroller with at below line:

[self.dataSource populateCellWithBlock:^void(MessageTableViewCell *__nonnull cell, Message *__nonnull message) {

Error:

FirebaseUIChat/FirebaseUIChat/ViewController.m:34:42: 
Incompatible block pointer types sending 'void (^)(MessageTableViewCell * __nonnull __strong, Message * __nonnull __strong)' to parameter of type 'void (^ __nonnull)(UITableViewCell * __nonnull __strong, NSObject * __nonnull __strong)'

Any thoughts?

Error about transitive dependencies that include static binaries

I'm getting the following when I install the FirebaseUI pod (0.3.0):

ยฑ |master โœ—| โ†’ pod install
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing Bolts (1.5.0)
Installing FBSDKCoreKit (4.8.0)
Installing FBSDKLoginKit (4.8.0)
Using Firebase (2.4.3)
Installing FirebaseUI (0.3.0)
Installing Google (1.2.1)
Installing GoogleAppUtilities (1.0.0)
Installing GoogleAuthUtilities (1.0.1)
Installing GoogleInterchangeUtilities (1.1.0)
Installing GoogleNetworkingUtilities (1.0.0)
Installing GoogleSignIn (2.4.0)
Installing GoogleSymbolUtilities (1.0.3)
Installing GoogleUtilities (1.1.0)
[!] The 'Pods-my-project' target has transitive dependencies that include static binaries: (/.../my-project/Pods/Google/Libraries/libGGLCore.a and /.../my-project/Pods/Google/Libraries/libGGLSignIn.a)

Running CocoaPods 0.39.0. I'd love to be able to pull in a version of FirebaseUI that doesn't have all of the additional dependencies for various login providers.

Ability to reverse the contents of the FirebaseArray.

Welcome to FirebaseUI and thanks for submitting an issue!

Please take a look at open issues, as well as resolved issues, to see if your issue is either already being addressed, or has been solved by someone else.

If your issue concerns the CocoaPods error, "...transitive dependencies that include static binaries", please take a look at any of the following issues and see if your problem is solved: #48, #47, #46, #34, #23.

If not, please feel free to fill in the following info so we can help faster!

Details:

Not relevant for this issue.

Explanation of your issue

Currently, a "queryOrderedByChild:" with Firebase can only returns results in ascending order. A quick fix for this would be to provide a flag on the FirebaseArray that would simply reverse the order of the returned results. This would also mean that change notifications would be interpreted in the reverse order as well (i.e. inserts, deletes, moves, would have their indices interpreted in the reverse order if this flag were enabled). Of course this flag should not care about the type of query you are doing, all it would do is interpret any data in the array in the reverse order.

Steps to reproduce

Not relevant for this issue.

Cannot build app for distribution due to FirebaseDatabaseUI not being bitcode compatible

When trying to build for app submission, I get this error and can't build for release.

ld: bitcode bundle could not be generated because '/Users/todd/Development/projects/Mmm/Pods/FirebaseUI/FirebaseUIFrameworks/Database/Frameworks/FirebaseDatabaseUI.framework/FirebaseDatabaseUI(FirebaseCollectionViewDataSource.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

setup.sh does not correctly extract GoogleSignIn

I'm unable to build FirebaseUI.xcodeproj (a45202b) because the GoogleSignIn import fails:

/.../FirebaseUI-iOS/FirebaseUI/Auth/API/FirebaseLoginViewController.h:39:9: fatal error:
      'GoogleSignIn/GoogleSignIn.h' file not found
#import <GoogleSignIn/GoogleSignIn.h>
        ^


** BUILD FAILED **

This seems to be due to a mismatch between downloading 2.4.0 and expecting 2.2.0. I can change the GOOGLE_SDK_DIR in setup.sh to point to "$SCRIPT_DIR/sdk/google_signin_sdk_2_4_0" and fix the corresponding entry in the framework search paths to make the build succeed, but I haven't tried to run anything against it yet so this may not be sufficient.


Furthermore, I see there are still a couple other errors when I run setup.sh, and though they don't seem to prevent the build from completing, I'll mention them here in case they are of importance. Namely:

./setup.sh: line 88: [-d: command not found

and

mv: rename /.../FirebaseUI-iOS/sdk/google-core-sdk.zip/* to /.../FirebaseUI-iOS/sdk/*: Not a directory

For the first error, my machine (running El Capitan, bash 3.2.57(1)-release, nothing fancy) doesn't seem to like the [-d syntax so I need to change this line:

if [-d "$GOOGLE_CORE_SDK_DIR"]; then

to this:

if [ -d "$GOOGLE_CORE_SDK_DIR" ]; then

The second error appears to be related to these values being the same:

GOOGLE_CORE_SDK_ZIP_FILE="$SDK_DIR/google-core-sdk.zip"
GOOGLE_CORE_SDK_DIR="$SCRIPT_DIR/sdk/google-core-sdk.zip"

Then I imagine we'd want to copy everything from sdk/google-core-sdk/Libraries into sdk/

Missing Firebase Header with Pods

I noticed an issue today when adding FirebaseUI to my Swift project. I add it to my Podfile like:

pod 'FirebaseUI/Core', '~> 0.3'

It installs correctly but fails on build with the message: "FirebaseDataSource.m - Firebase/Firebase.h file not found".

I know that the Firebase framework is there since my project is already using it and it was installed with Cocoapods. Cleaning and re-building doesn't fix the issue.

Any suggestions?

Error when executing pod install

Right after checkout a simple pod install asks for username and password:

$ pod install
Cloning spec repo `googlesource-spec` from `https://cpdc-eap.googlesource.com/spec.git`
Username for 'https://cpdc-eap.googlesource.com':

Is this happening to me only?

target has transitive dependencies that include static binaries

when i tried to install it through pod, it gives me the following error:
[!] The 'Pods-tephra' target has transitive dependencies that include static binaries: (/Users/mike/Desktop/tephra/Pods/Google/Libraries/libGGLCore.a and /Users/mike/Desktop/tephra/Pods/Google/Libraries/libGGLSignIn.a)

authUI didSignInWithUser never fired

Hi, the following function

  • (void)authUI:(FIRAuthUI *)authUI didSignInWithUser:(nullable FIRUser *)user error:(nullable NSError *)error
    never fires.

similar problem has been discussed here: http://stackoverflow.com/questions/37426176/how-to-use-firebaseui-for-google-authentication-on-ios-in-swift

I have checked:

  1. setDelegate:self
  2. openurl is fired after the auth flow
  3. method is added to openURL, return [[FIRAuthUI authUI] handleOpenURL:url sourceApplication:sourceApplication];

any idea?

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.